:art: Log a warning if an extension's manifest cannot be parsed
authorFelix Rieseberg <felix@felixrieseberg.com>
Mon, 6 Jun 2016 01:30:49 +0000 (18:30 -0700)
committerFelix Rieseberg <felix@felixrieseberg.com>
Mon, 6 Jun 2016 01:30:49 +0000 (18:30 -0700)
Also logs a clean warning if an extension's manifest is incomplete,
missing, or can otherwise not be parsed.

lib/browser/chrome-extension.js

index e480d88f9a9b1c32feae246d1360fd632a893e64..05368f9541df0aa0e5fa53fbe391617539e2781d 100644 (file)
@@ -20,7 +20,15 @@ const generateExtensionIdFromName = function (name) {
 
 // Create or get manifest object from |srcDirectory|.
 const getManifestFromPath = function (srcDirectory) {
-  const manifest = JSON.parse(fs.readFileSync(path.join(srcDirectory, 'manifest.json')))
+  let manifest
+
+  try {
+    manifest = JSON.parse(fs.readFileSync(path.join(srcDirectory, 'manifest.json')))
+  } catch (err) {
+    console.warn(`Attempted to load extension from ${srcDirectory}, but parsing the manifest failed.`)
+    console.warn('Error encountered:', err)
+  }
+
   if (!manifestNameMap[manifest.name]) {
     const extensionId = generateExtensionIdFromName(manifest.name)
     console.log(extensionId)