|
@@ -14,13 +14,16 @@ const objectValues = function (object) {
|
|
|
const manifestMap = {} // extensionId => 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|.
|
|
|
const getManifestFromPath = function (srcDirectory) {
|
|
|
const manifest = JSON.parse(fs.readFileSync(path.join(srcDirectory, 'manifest.json')))
|
|
|
if (!manifestNameMap[manifest.name]) {
|
|
|
- const extensionId = `extension-${++nextExtensionId}`
|
|
|
+ const extensionId = generateExtensionIdFromName(manifest.name)
|
|
|
+ console.log(extensionId)
|
|
|
manifestMap[extensionId] = manifestNameMap[manifest.name] = manifest
|
|
|
Object.assign(manifest, {
|
|
|
srcDirectory: srcDirectory,
|
|
@@ -238,7 +241,6 @@ app.once('ready', function () {
|
|
|
const chromeExtensionHandler = function (request, callback) {
|
|
|
const parsed = url.parse(request.url)
|
|
|
if (!parsed.hostname || !parsed.path) return callback()
|
|
|
- if (!/extension-\d+/.test(parsed.hostname)) return callback()
|
|
|
|
|
|
const manifest = manifestMap[parsed.hostname]
|
|
|
if (!manifest) return callback()
|