ソースを参照

Use @parcel/config-webextension for build

jherve 1 年間 前
コミット
913b3204a3
4 ファイル変更96 行追加11 行削除
  1. 1 5
      .gitignore
  2. 3 3
      extension/manifest.json
  3. 88 0
      package-lock.json
  4. 4 3
      package.json

+ 1 - 5
.gitignore

@@ -12,9 +12,5 @@
 /.parcel-cache
 /dist
 /tags
-/extension/background.js
-/extension/background.js.map
-/extension/content.js
-/extension/content.js.map
-/extension/settings.*
+/extension/*
 /pure_tabs.xpi

+ 3 - 3
extension/manifest.json

@@ -14,15 +14,15 @@
   "content_scripts": [
     {
       "matches": ["<all_urls>"],
-      "js": ["content.js"]
+      "js": ["src/content.js"]
     }
   ],
   "background": {
-    "scripts": ["background.js"],
+    "scripts": ["src/background.js"],
     "persistent": true
   },
   "options_ui": {
-    "page": "settings.html"
+    "page": "src/settings.html"
   },
   "permissions": ["activeTab", "tabs", "storage", "nativeMessaging"]
 }

+ 88 - 0
package-lock.json

@@ -13,6 +13,7 @@
         "esbuild": "^0.20.0"
       },
       "devDependencies": {
+        "@parcel/config-webextension": "^2.11.0",
         "concurrently": "^5.2.0",
         "jsdom": "^23.2.0",
         "parcel": "^2.11.0",
@@ -1129,6 +1130,26 @@
         "@parcel/core": "^2.11.0"
       }
     },
+    "node_modules/@parcel/config-webextension": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/config-webextension/-/config-webextension-2.11.0.tgz",
+      "integrity": "sha512-DsnM9VDoEHpAnyP92GmOCSDGmUK7qa7pahRQCKYReWAFxxmxc83oj5cwLJn4SLrCbRd9OTaAKOvTh54Ay/h4HQ==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/config-default": "2.11.0",
+        "@parcel/packager-webextension": "2.11.0",
+        "@parcel/runtime-webextension": "2.11.0",
+        "@parcel/transformer-raw": "2.11.0",
+        "@parcel/transformer-webextension": "2.11.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      },
+      "peerDependencies": {
+        "@parcel/core": "^2.11.0"
+      }
+    },
     "node_modules/@parcel/core": {
       "version": "2.11.0",
       "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.11.0.tgz",
@@ -1774,6 +1795,25 @@
         "url": "https://opencollective.com/parcel"
       }
     },
+    "node_modules/@parcel/packager-webextension": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/packager-webextension/-/packager-webextension-2.11.0.tgz",
+      "integrity": "sha512-94+P5oZKnnCiFIbaFHLzPVpqqGhB4UDLUfGxfWsFKdbHay0SiUIc1A3IXheoM2YnfdBZFLb6CggUfF7E6q4CEw==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/plugin": "2.11.0",
+        "@parcel/utils": "2.11.0",
+        "nullthrows": "^1.1.1"
+      },
+      "engines": {
+        "node": ">=12.0.0",
+        "parcel": "^2.11.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
     "node_modules/@parcel/plugin": {
       "version": "2.11.0",
       "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.11.0.tgz",
@@ -2033,6 +2073,25 @@
         "url": "https://opencollective.com/parcel"
       }
     },
+    "node_modules/@parcel/runtime-webextension": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/runtime-webextension/-/runtime-webextension-2.11.0.tgz",
+      "integrity": "sha512-O2T5rIlvPd3Z8nQUPryslQX9HqLrzpBODWp6g+Tf99QkD5so+wDcBnK5PpX1tYD2W91iyi/jcPgri8/Cp6HrYw==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/plugin": "2.11.0",
+        "@parcel/utils": "2.11.0",
+        "nullthrows": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 12.0.0",
+        "parcel": "^2.11.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
     "node_modules/@parcel/rust": {
       "version": "2.11.0",
       "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.11.0.tgz",
@@ -2310,6 +2369,26 @@
         "url": "https://opencollective.com/parcel"
       }
     },
+    "node_modules/@parcel/transformer-webextension": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/transformer-webextension/-/transformer-webextension-2.11.0.tgz",
+      "integrity": "sha512-/8HvOSRcoIw7W67xp6L9RVS5OFfXRL3ylLuxXMfC2KwVn3luzjdJRPal+yS70e9thVWU0Aas5OPt4vdEpkXfPA==",
+      "dev": true,
+      "dependencies": {
+        "@mischnic/json-sourcemap": "^0.1.0",
+        "@parcel/diagnostic": "2.11.0",
+        "@parcel/plugin": "2.11.0",
+        "@parcel/utils": "2.11.0",
+        "content-security-policy-parser": "^0.3.0"
+      },
+      "engines": {
+        "parcel": "^2.11.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
     "node_modules/@parcel/types": {
       "version": "2.11.0",
       "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.11.0.tgz",
@@ -4501,6 +4580,15 @@
         "url": "https://github.com/yeoman/configstore?sponsor=1"
       }
     },
+    "node_modules/content-security-policy-parser": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/content-security-policy-parser/-/content-security-policy-parser-0.3.0.tgz",
+      "integrity": "sha512-ub90B4t9EfDPv3DCH7vEwGe4tVMkSm4Ow1HsmvmEQwinDfpTEDmkuJVa5WpzHDTt2bUirNRZuzL6S0msASlJhg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
     "node_modules/core-js": {
       "version": "3.29.0",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz",

+ 4 - 3
package.json

@@ -7,11 +7,11 @@
   },
   "scripts": {
     "parcel": "parcel",
-    "dev": "concurrently --kill-others \"spago build --watch\" \"parcel watch src/background.js src/content.js src/settings.html src/settings.js --dist-dir extension/\"",
-    "build": "spago build && parcel build src/background.js src/content.js src/settings.html src/settings.js --dist-dir extension/",
+    "dev": "concurrently --kill-others \"spago build --watch\" \"parcel watch manifest.json --config @parcel/config-webextension --dist-dir extension/\"",
+    "build": "spago build && parcel build manifest.json --config @parcel/config-webextension --dist-dir extension/",
     "build-lib": "spago bundle-module -m LinkedIn",
     "test": "spago test",
-    "clean": "rm -rf .cache .psci_modules modules dist extension/background.js extension/background.js.map extension/content.js extension/content.js.map",
+    "clean": "rm -rf .cache .psci_modules modules dist extension",
     "start:firefox": "web-ext run --source-dir ./extension",
     "sign": "web-ext sign --source-dir ./extension",
     "postinstall": "npm run build-lib"
@@ -19,6 +19,7 @@
   "author": "",
   "license": "ISC",
   "devDependencies": {
+    "@parcel/config-webextension": "^2.11.0",
     "concurrently": "^5.2.0",
     "jsdom": "^23.2.0",
     "parcel": "^2.11.0",