Skip to content

[BUG] Invalid Web Extension manifest when author field is json #1334

@jjangga0214

Description

@jjangga0214

What happened?

Hi!

According to npm, author field in package.json can either be a single line of string or a json object.

When the author field is a json, Invalid Web Extension manifest error happens while building.

Thanks :)

Version

Latest

What OS are you seeing the problem on?

MacOSX

What browsers are you seeing the problem on?

No response

Relevant log output

➜  ycs-macro git:(001-automate-court-booking) ✗ (☸|p-m-prod:default) pnpm plasmo dev --verbose
🟡 0      | Running command: dev
🟣 Plasmo v0.90.5
🔴 The Browser Extension Framework
🔵 INFO   | Starting the extension development server...
🟡 1      | Starting dev server on localhost:63171, HMR on localhost:1815...
🔵 INFO   | Building for target: chrome-mv3
🟡 2      | Creating Manifest Factory...
🟡 3      | Ensure exists: /Users/ocean/main/ycs-macro/.plasmo
🟡 4      | /Users/ocean/main/ycs-macro/assets/icon.png found, creating resized icons
🟡 5      | Creating static templates for popup
🟡 6      | Creating static templates for options
🟡 7      | Creating static templates for newtab
🟡 8      | Creating static templates for devtools
🟡 9      | Creating static templates for sidepanel
🟡 10     | {
  messageHandlerList: [],
  externalMessageHandlerList: [],
  portHandlerList: []
}
🟡 11     | Hash changed, updating manifest
🟡 12     | Watching the following files: Set(135) {
  '/Users/ocean/main/ycs-macro/package.json',
  '/Users/ocean/main/ycs-macro/src/.env.chrome.local',
  '/Users/ocean/main/ycs-macro/src/.env.dev.local',
  '/Users/ocean/main/ycs-macro/src/.env.development.local',
  '/Users/ocean/main/ycs-macro/src/.env.local',
  '/Users/ocean/main/ycs-macro/src/.env.chrome',
  '/Users/ocean/main/ycs-macro/src/.env.dev',
  '/Users/ocean/main/ycs-macro/src/.env.development',
  '/Users/ocean/main/ycs-macro/src/.env',
  '/Users/ocean/main/ycs-macro/src/content.chrome.ts',
  '/Users/ocean/main/ycs-macro/src/content.development.ts',
  '/Users/ocean/main/ycs-macro/src/content.ts',
  '/Users/ocean/main/ycs-macro/src/content.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/content.development.tsx',
  '/Users/ocean/main/ycs-macro/src/content.tsx',
  '/Users/ocean/main/ycs-macro/src/content.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/content.development.jsx',
  '/Users/ocean/main/ycs-macro/src/content.jsx',
  '/Users/ocean/main/ycs-macro/src/content.chrome.js',
  '/Users/ocean/main/ycs-macro/src/content.development.js',
  '/Users/ocean/main/ycs-macro/src/content.js',
  '/Users/ocean/main/ycs-macro/src/sandbox.chrome.ts',
  '/Users/ocean/main/ycs-macro/src/sandbox.development.ts',
  '/Users/ocean/main/ycs-macro/src/sandbox.ts',
  '/Users/ocean/main/ycs-macro/src/sandbox.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/sandbox.development.tsx',
  '/Users/ocean/main/ycs-macro/src/sandbox.tsx',
  '/Users/ocean/main/ycs-macro/src/sandbox.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/sandbox.development.jsx',
  '/Users/ocean/main/ycs-macro/src/sandbox.jsx',
  '/Users/ocean/main/ycs-macro/src/sandbox.chrome.js',
  '/Users/ocean/main/ycs-macro/src/sandbox.development.js',
  '/Users/ocean/main/ycs-macro/src/sandbox.js',
  '/Users/ocean/main/ycs-macro/src/background.chrome.ts',
  '/Users/ocean/main/ycs-macro/src/background/index.chrome.ts',
  '/Users/ocean/main/ycs-macro/src/background.development.ts',
  '/Users/ocean/main/ycs-macro/src/background/index.development.ts',
  '/Users/ocean/main/ycs-macro/src/background.ts',
  '/Users/ocean/main/ycs-macro/src/background/index.ts',
  '/Users/ocean/main/ycs-macro/src/background.chrome.js',
  '/Users/ocean/main/ycs-macro/src/background/index.chrome.js',
  '/Users/ocean/main/ycs-macro/src/background.development.js',
  '/Users/ocean/main/ycs-macro/src/background/index.development.js',
  '/Users/ocean/main/ycs-macro/src/background.js',
  '/Users/ocean/main/ycs-macro/src/background/index.js',
  '/Users/ocean/main/ycs-macro/src/popup.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/popup/index.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/popup.development.tsx',
  '/Users/ocean/main/ycs-macro/src/popup/index.development.tsx',
  '/Users/ocean/main/ycs-macro/src/popup.tsx',
  '/Users/ocean/main/ycs-macro/src/popup/index.tsx',
  '/Users/ocean/main/ycs-macro/src/popup.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/popup/index.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/popup.development.jsx',
  '/Users/ocean/main/ycs-macro/src/popup/index.development.jsx',
  '/Users/ocean/main/ycs-macro/src/popup.jsx',
  '/Users/ocean/main/ycs-macro/src/popup/index.jsx',
  '/Users/ocean/main/ycs-macro/src/options.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/options/index.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/options.development.tsx',
  '/Users/ocean/main/ycs-macro/src/options/index.development.tsx',
  '/Users/ocean/main/ycs-macro/src/options.tsx',
  '/Users/ocean/main/ycs-macro/src/options/index.tsx',
  '/Users/ocean/main/ycs-macro/src/options.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/options/index.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/options.development.jsx',
  '/Users/ocean/main/ycs-macro/src/options/index.development.jsx',
  '/Users/ocean/main/ycs-macro/src/options.jsx',
  '/Users/ocean/main/ycs-macro/src/options/index.jsx',
  '/Users/ocean/main/ycs-macro/src/devtools.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/devtools/index.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/devtools.development.tsx',
  '/Users/ocean/main/ycs-macro/src/devtools/index.development.tsx',
  '/Users/ocean/main/ycs-macro/src/devtools.tsx',
  '/Users/ocean/main/ycs-macro/src/devtools/index.tsx',
  '/Users/ocean/main/ycs-macro/src/devtools.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/devtools/index.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/devtools.development.jsx',
  '/Users/ocean/main/ycs-macro/src/devtools/index.development.jsx',
  '/Users/ocean/main/ycs-macro/src/devtools.jsx',
  '/Users/ocean/main/ycs-macro/src/devtools/index.jsx',
  '/Users/ocean/main/ycs-macro/src/newtab.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/newtab/index.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/newtab.development.tsx',
  '/Users/ocean/main/ycs-macro/src/newtab/index.development.tsx',
  '/Users/ocean/main/ycs-macro/src/newtab.tsx',
  '/Users/ocean/main/ycs-macro/src/newtab/index.tsx',
  '/Users/ocean/main/ycs-macro/src/newtab.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/newtab/index.chrome.jsx',
  '/Users/ocean/main/ycs-macro/src/newtab.development.jsx',
  '/Users/ocean/main/ycs-macro/src/newtab/index.development.jsx',
  '/Users/ocean/main/ycs-macro/src/newtab.jsx',
  '/Users/ocean/main/ycs-macro/src/newtab/index.jsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel/index.chrome.tsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel.development.tsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel/index.development.tsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel.tsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel/index.tsx',
  '/Users/ocean/main/ycs-macro/src/sidepanel.chrome.jsx',
  ... 35 more items
}
🔵 INFO   | Loaded environment variables from: []
🔄 Building🟡 0      | @plasmohq/parcel-transformer-manifest
🔴 ERROR  | Invalid Web Extension manifest
🟡 13     | {
  "icons": {
    "16": "./gen-assets/icon16.plasmo.png",
    "32": "./gen-assets/icon32.plasmo.png",
    "48": "./gen-assets/icon48.plasmo.png",
    "64": "./gen-assets/icon64.plasmo.png",
    "128": "./gen-assets/icon128.plasmo.png"
  },
  "manifest_version": 3,
  "action": {
    "default_icon": {
      "16": "./gen-assets/icon16.plasmo.png",
      "32": "./gen-assets/icon32.plasmo.png",
      "48": "./gen-assets/icon48.plasmo.png",
      "64": "./gen-assets/icon64.plasmo.png",
      "128": "./gen-assets/icon128.plasmo.png"
    },
    "default_popup": "./popup.html"
  },
  "version": "1.0.0",
  "author": {
    "name": "Gil B. Chan",
    "email": "bnbcmindnpass@gmail.com",
    "url": "https://github.com/jjangga0214"
  },
  "name": "DEV | ycs tennis",
  "description": "",
  "homepage_url": "https://github.com/jjangga0214/ycs-macro",
  "host_permissions": [
    "https://*/*"
  ]
}

🟡 14     | Expected type string
🟡 15     | /Users/ocean/main/ycs-macro/.plasmo/chrome-mv3.plasmo.manifest.json:21:13
🔵 INFO   | package.json changed, updating manifest overrides. You might need to restart the dev server.
🔄 Building🟡 16     | Hash changed, updating manifest
🟡 0      | @plasmohq/parcel-transformer-manifest
🔴 ERROR  | Invalid Web Extension manifest
🟡 17     | {
  "icons": {
    "16": "./gen-assets/icon16.plasmo.png",
    "32": "./gen-assets/icon32.plasmo.png",
    "48": "./gen-assets/icon48.plasmo.png",
    "64": "./gen-assets/icon64.plasmo.png",
    "128": "./gen-assets/icon128.plasmo.png"
  },
  "manifest_version": 3,
  "action": {
    "default_icon": {
      "16": "./gen-assets/icon16.plasmo.png",
      "32": "./gen-assets/icon32.plasmo.png",
      "48": "./gen-assets/icon48.plasmo.png",
      "64": "./gen-assets/icon64.plasmo.png",
      "128": "./gen-assets/icon128.plasmo.png"
    },
    "default_popup": "./popup.html"
  },
  "version": "1.0.0",
  "author": {
    "name": "Gil B. Chan",
    "email": "bnbcmindnpass@gmail.com",
    "url": "https://github.com/jjangga0214"
  },
  "name": "DEV | ycs tennis",
  "description": "ycs tennis macro",
  "homepage_url": "https://github.com/jjangga0214/ycs-macro",
  "host_permissions": [
    "https://*/*"
  ]
}

🟡 18     | Expected type string
🟡 19     | /Users/ocean/main/ycs-macro/.plasmo/chrome-mv3.plasmo.manifest.json:21:13
🔄 Building🟡 1      | @plasmohq/parcel-transformer-manifest
🔴 ERROR  | Invalid Web Extension manifest
🟡 20     | {
  "icons": {
    "16": "./gen-assets/icon16.plasmo.png",
    "32": "./gen-assets/icon32.plasmo.png",
    "48": "./gen-assets/icon48.plasmo.png",
    "64": "./gen-assets/icon64.plasmo.png",
    "128": "./gen-assets/icon128.plasmo.png"
  },
  "manifest_version": 3,
  "action": {
    "default_icon": {
      "16": "./gen-assets/icon16.plasmo.png",
      "32": "./gen-assets/icon32.plasmo.png",
      "48": "./gen-assets/icon48.plasmo.png",
      "64": "./gen-assets/icon64.plasmo.png",
      "128": "./gen-assets/icon128.plasmo.png"
    },
    "default_popup": "./popup.html"
  },
  "version": "1.0.0",
  "author": {
    "name": "Gil B. Chan",
    "email": "bnbcmindnpass@gmail.com",
    "url": "https://github.com/jjangga0214"
  },
  "name": "DEV | ycs tennis",
  "description": "ycs tennis macro",
  "homepage_url": "https://github.com/jjangga0214/ycs-macro",
  "host_permissions": [
    "https://*/*"
  ]
}

🟡 21     | Expected type string
🟡 22     | /Users/ocean/main/ycs-macro/.plasmo/chrome-mv3.plasmo.manifest.json:21:13
🔵 INFO   | package.json changed, updating manifest overrides. You might need to restart the dev server.
🔄 Building🟡 23     | Hash changed, updating manifest
🟡 2      | @plasmohq/parcel-transformer-manifest
🔴 ERROR  | Invalid Web Extension manifest
🟡 24     | {
  "icons": {
    "16": "./gen-assets/icon16.plasmo.png",
    "32": "./gen-assets/icon32.plasmo.png",
    "48": "./gen-assets/icon48.plasmo.png",
    "64": "./gen-assets/icon64.plasmo.png",
    "128": "./gen-assets/icon128.plasmo.png"
  },
  "manifest_version": 3,
  "action": {
    "default_icon": {
      "16": "./gen-assets/icon16.plasmo.png",
      "32": "./gen-assets/icon32.plasmo.png",
      "48": "./gen-assets/icon48.plasmo.png",
      "64": "./gen-assets/icon64.plasmo.png",
      "128": "./gen-assets/icon128.plasmo.png"
    },
    "default_popup": "./popup.html"
  },
  "version": "1.0.0",
  "author": {
    "name": "Gil B. Chan",
    "email": "bnbcmindnpass@gmail.com",
    "url": "https://github.com/jjangga0214"
  },
  "name": "DEV | ycs tennis",
  "description": "ycs tennis booking macro",
  "homepage_url": "https://github.com/jjangga0214/ycs-macro",
  "host_permissions": [
    "https://*/*"
  ]
}

🟡 25     | Expected type string
🟡 26     | /Users/ocean/main/ycs-macro/.plasmo/chrome-mv3.plasmo.manifest.json:21:13
🔄 Building🟡 3      | @plasmohq/parcel-transformer-manifest
🔴 ERROR  | Invalid Web Extension manifest
🟡 27     | {
  "icons": {
    "16": "./gen-assets/icon16.plasmo.png",
    "32": "./gen-assets/icon32.plasmo.png",
    "48": "./gen-assets/icon48.plasmo.png",
    "64": "./gen-assets/icon64.plasmo.png",
    "128": "./gen-assets/icon128.plasmo.png"
  },
  "manifest_version": 3,
  "action": {
    "default_icon": {
      "16": "./gen-assets/icon16.plasmo.png",
      "32": "./gen-assets/icon32.plasmo.png",
      "48": "./gen-assets/icon48.plasmo.png",
      "64": "./gen-assets/icon64.plasmo.png",
      "128": "./gen-assets/icon128.plasmo.png"
    },
    "default_popup": "./popup.html"
  },
  "version": "1.0.0",
  "author": {
    "name": "Gil B. Chan",
    "email": "bnbcmindnpass@gmail.com",
    "url": "https://github.com/jjangga0214"
  },
  "name": "DEV | ycs tennis",
  "description": "ycs tennis booking macro",
  "homepage_url": "https://github.com/jjangga0214/ycs-macro",
  "host_permissions": [
    "https://*/*"
  ]
}

🟡 28     | Expected type string
🟡 29     | /Users/ocean/main/ycs-macro/.plasmo/chrome-mv3.plasmo.manifest.json:21:13
^C

(OPTIONAL) Contribution

  • I would like to fix this BUG via a PR

Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I checked the current issues for duplicate problems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions