Use meaningful name for extensionId
This commit is contained in:
parent
ec1944c146
commit
de001a9bbf
2 changed files with 6 additions and 4 deletions
|
@ -14,13 +14,16 @@ const objectValues = function (object) {
|
||||||
const manifestMap = {} // extensionId => manifest
|
const manifestMap = {} // extensionId => manifest
|
||||||
const manifestNameMap = {} // name => manifest
|
const manifestNameMap = {} // name => manifest
|
||||||
|
|
||||||
let nextExtensionId = 0
|
const generateExtensionIdFromName = function (name) {
|
||||||
|
return name.replace(/[\W_]+/g, '-').toLowerCase()
|
||||||
|
}
|
||||||
|
|
||||||
// Create or get manifest object from |srcDirectory|.
|
// Create or get manifest object from |srcDirectory|.
|
||||||
const getManifestFromPath = function (srcDirectory) {
|
const getManifestFromPath = function (srcDirectory) {
|
||||||
const manifest = JSON.parse(fs.readFileSync(path.join(srcDirectory, 'manifest.json')))
|
const manifest = JSON.parse(fs.readFileSync(path.join(srcDirectory, 'manifest.json')))
|
||||||
if (!manifestNameMap[manifest.name]) {
|
if (!manifestNameMap[manifest.name]) {
|
||||||
const extensionId = `extension-${++nextExtensionId}`
|
const extensionId = generateExtensionIdFromName(manifest.name)
|
||||||
|
console.log(extensionId)
|
||||||
manifestMap[extensionId] = manifestNameMap[manifest.name] = manifest
|
manifestMap[extensionId] = manifestNameMap[manifest.name] = manifest
|
||||||
Object.assign(manifest, {
|
Object.assign(manifest, {
|
||||||
srcDirectory: srcDirectory,
|
srcDirectory: srcDirectory,
|
||||||
|
@ -238,7 +241,6 @@ app.once('ready', function () {
|
||||||
const chromeExtensionHandler = function (request, callback) {
|
const chromeExtensionHandler = function (request, callback) {
|
||||||
const parsed = url.parse(request.url)
|
const parsed = url.parse(request.url)
|
||||||
if (!parsed.hostname || !parsed.path) return callback()
|
if (!parsed.hostname || !parsed.path) return callback()
|
||||||
if (!/extension-\d+/.test(parsed.hostname)) return callback()
|
|
||||||
|
|
||||||
const manifest = manifestMap[parsed.hostname]
|
const manifest = manifestMap[parsed.hostname]
|
||||||
if (!manifest) return callback()
|
if (!manifest) return callback()
|
||||||
|
|
|
@ -165,7 +165,7 @@ exports.injectTo = function (extensionId, isBackgroundPage, context) {
|
||||||
if (responseCallback) {
|
if (responseCallback) {
|
||||||
console.error('responseCallback is not supported')
|
console.error('responseCallback is not supported')
|
||||||
}
|
}
|
||||||
ipcRenderer.send(`CHROME_TABS_SEND_MESSAGE`, tabId, extensionId, isBackgroundPage, message)
|
ipcRenderer.send('CHROME_TABS_SEND_MESSAGE', tabId, extensionId, isBackgroundPage, message)
|
||||||
},
|
},
|
||||||
|
|
||||||
onUpdated: new Event(),
|
onUpdated: new Event(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue