diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 76e21651..ce04912f 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -15,6 +15,7 @@ on:
- module-vue
- storage
- unocss
+ - webextension-polyfill
- wxt
jobs:
diff --git a/.github/workflows/sync-releases.yml b/.github/workflows/sync-releases.yml
index 35f18d26..ab59ae76 100644
--- a/.github/workflows/sync-releases.yml
+++ b/.github/workflows/sync-releases.yml
@@ -14,6 +14,7 @@ on:
- module-svelte
- module-vue
- storage
+ - webextension-polyfill
- wxt
jobs:
diff --git a/docs/guide/resources/upgrading.md b/docs/guide/resources/upgrading.md
index e448a61c..a1602cf8 100644
--- a/docs/guide/resources/upgrading.md
+++ b/docs/guide/resources/upgrading.md
@@ -31,12 +31,11 @@ WXT no longer uses the `webextension-polyfill` internally and `wxt/browser` uses
To upgrade, you have two options:
1. **Stop using the polyfill**
- - No changes required, this is the default behavior of v0.20. Your extension will likely continue to work, but do some manual testing to confirm.
+ - Replace any manual imports from `wxt/browser/chrome` with `wxt/browser`
2. **Continue using the polyfill**
- - Install the polyfill, types (if you use typescript), and WXT's [new polyfill module](https://www.npmjs.com/package/@wxt-dev/webextension-polyfill):
+ - Install the polyfill and WXT's [new polyfill module](https://www.npmjs.com/package/@wxt-dev/webextension-polyfill):
```sh
- pnpm i webextension-polyfill
- pnpm i -D @types/webextension-polyfill @wxt-dev/webextension-polyfill
+ pnpm i webextension-polyfill @wxt-dev/webextension-polyfill
```
- Add the WXT module to your config:
```ts
@@ -46,7 +45,7 @@ To upgrade, you have two options:
});
```
-Additionally, the `extensionApi` config has been removed. Remove it from your `wxt.config.ts` file if present:
+Regardless of your choice, the `extensionApi` config has been removed. Remove it from your `wxt.config.ts` file if present:
```ts
// wxt.config.ts
@@ -55,6 +54,21 @@ export default defineConfig({
});
```
+Additionally, extension API types have changed. `wxt/browser` now uses types from `@types/chrome` instead of `@types/webextension-polyfill`. You will have to migrate any type imports to use `@types/chrome`'s namespace approach:
+
+
+```ts
+import type { Runtime } from 'wxt/browser'; // [!code --]
+import { browser } from 'wxt/browser'; // [!code ++]
+
+function getMessageSenderUrl(sender: Runtime.MessageSender): string { // [!code --]
+function getMessageSenderUrl(sender: browser.runtime.MessageSender): string { // [!code ++]
+ // ...
+}
+```
+
+`@types/chrome` are more up-to-date, contain less bugs, and don't have any auto-generated names. So even if you continue to use the polyfill, you will need to update your types to use these types.
+
### `public/` and `modules/` Directories Moved
The default location for the `public/` and `modules/` directories have changed to better align with standards set by other frameworks (Nuxt, Next, Astro, etc). Now, each path is relative to the project's root directory.
diff --git a/packages/webextension-polyfill/README.md b/packages/webextension-polyfill/README.md
new file mode 100644
index 00000000..8dffa772
--- /dev/null
+++ b/packages/webextension-polyfill/README.md
@@ -0,0 +1,18 @@
+# `@wxt-dev/webextension-polyfill`
+
+Configures `wxt/browser` to import `browser` from [`webextension-polyfill`](https://github.com/mozilla/webextension-polyfill) instead of using the regular `chrome`/`browser` globals WXT normally provides.
+
+## Usage
+
+```sh
+pnpm i @wxt-dev/webextension-polyfill webextension-polyfill
+```
+
+Then add the module to your config:
+
+```ts
+// wxt.config.ts
+export default defineConfig({
+ modules: ['@wxt-dev/webextension-polyfill'],
+});
+```
diff --git a/packages/webextension-polyfill/build.config.ts b/packages/webextension-polyfill/build.config.ts
new file mode 100644
index 00000000..88809d20
--- /dev/null
+++ b/packages/webextension-polyfill/build.config.ts
@@ -0,0 +1,15 @@
+import { defineBuildConfig } from 'unbuild';
+import { resolve } from 'node:path';
+
+export default defineBuildConfig({
+ rootDir: 'modules',
+ outDir: resolve(__dirname, 'dist'),
+ entries: [
+ { input: 'webextension-polyfill/index.ts', name: 'index' },
+ { input: 'webextension-polyfill/browser.ts', name: 'browser' },
+ ],
+ replace: {
+ 'process.env.NPM': 'true',
+ },
+ declaration: true,
+});
diff --git a/packages/webextension-polyfill/entrypoints/content/index.ts b/packages/webextension-polyfill/entrypoints/content/index.ts
new file mode 100644
index 00000000..87ad9f39
--- /dev/null
+++ b/packages/webextension-polyfill/entrypoints/content/index.ts
@@ -0,0 +1,6 @@
+export default defineContentScript({
+ matches: ['*://*/*'],
+ async main() {
+ console.log(browser.runtime.id);
+ },
+});
diff --git a/packages/webextension-polyfill/entrypoints/popup/index.html b/packages/webextension-polyfill/entrypoints/popup/index.html
new file mode 100644
index 00000000..a6d6644f
--- /dev/null
+++ b/packages/webextension-polyfill/entrypoints/popup/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+ Document
+
+
+
+
+
+
diff --git a/packages/webextension-polyfill/entrypoints/popup/main.ts b/packages/webextension-polyfill/entrypoints/popup/main.ts
new file mode 100644
index 00000000..3677c7ed
--- /dev/null
+++ b/packages/webextension-polyfill/entrypoints/popup/main.ts
@@ -0,0 +1,3 @@
+const root = document.getElementById('app')!;
+
+root.textContent = browser.runtime.id;
diff --git a/packages/webextension-polyfill/modules/webextension-polyfill/browser.ts b/packages/webextension-polyfill/modules/webextension-polyfill/browser.ts
new file mode 100644
index 00000000..c86e9ce3
--- /dev/null
+++ b/packages/webextension-polyfill/modules/webextension-polyfill/browser.ts
@@ -0,0 +1 @@
+export { default as browser } from 'webextension-polyfill';
diff --git a/packages/webextension-polyfill/modules/webextension-polyfill/index.ts b/packages/webextension-polyfill/modules/webextension-polyfill/index.ts
new file mode 100644
index 00000000..6114cad1
--- /dev/null
+++ b/packages/webextension-polyfill/modules/webextension-polyfill/index.ts
@@ -0,0 +1,18 @@
+import 'wxt';
+import { addViteConfig, defineWxtModule } from 'wxt/modules';
+import { resolve } from 'node:path';
+
+export default defineWxtModule({
+ name: '@wxt-dev/webextension-polyfill',
+ setup(wxt) {
+ addViteConfig(wxt, () => ({
+ resolve: {
+ alias: {
+ 'wxt/browser': process.env.NPM
+ ? '@wxt-dev/webextension-polyfill/browser'
+ : resolve(__dirname, 'browser.ts'),
+ },
+ },
+ }));
+ },
+});
diff --git a/packages/webextension-polyfill/package.json b/packages/webextension-polyfill/package.json
new file mode 100644
index 00000000..871325c1
--- /dev/null
+++ b/packages/webextension-polyfill/package.json
@@ -0,0 +1,56 @@
+{
+ "name": "@wxt-dev/webextension-polyfill",
+ "description": "Use webextension-polyfill with WXT",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/wxt-dev/wxt.git",
+ "directory": "packages/webextension-polyfill"
+ },
+ "homepage": "https://github.com/wxt-dev/wxt/blob/main/packages/webextension-polyfill/README.md",
+ "keywords": [
+ "wxt",
+ "module",
+ "webextension-polyfill"
+ ],
+ "author": {
+ "name": "Aaron Klinker",
+ "email": "aaronklinker1+wxt@gmail.com"
+ },
+ "license": "MIT",
+ "version": "1.0.0",
+ "type": "module",
+ "main": "./dist/index.mjs",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.mts",
+ "default": "./dist/index.mjs"
+ },
+ "./browser": {
+ "types": "./dist/browser.d.mts",
+ "default": "./dist/browser.mjs"
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "scripts": {
+ "dev": "wxt",
+ "check": "pnpm build && check",
+ "build": "buildc -- unbuild",
+ "prepare": "buildc --deps-only -- wxt prepare"
+ },
+ "peerDependencies": {
+ "webextension-polyfill": "*",
+ "wxt": ">=0.20.0"
+ },
+ "devDependencies": {
+ "@aklinker1/check": "^1.4.5",
+ "@types/webextension-polyfill": "^0.12.1",
+ "publint": "^0.2.12",
+ "typescript": "^5.6.3",
+ "unbuild": "^2.0.0",
+ "webextension-polyfill": "^0.12.0",
+ "wxt": "workspace:*"
+ }
+}
diff --git a/packages/webextension-polyfill/public/.keep b/packages/webextension-polyfill/public/.keep
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/webextension-polyfill/tsconfig.json b/packages/webextension-polyfill/tsconfig.json
new file mode 100644
index 00000000..cde6e0a8
--- /dev/null
+++ b/packages/webextension-polyfill/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": ["../../tsconfig.base.json", "./.wxt/tsconfig.json"],
+ "exclude": ["node_modules/**", "dist/**"]
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 38e8a9dc..4e2fc856 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -331,6 +331,30 @@ importers:
specifier: workspace:*
version: link:../wxt
+ packages/webextension-polyfill:
+ devDependencies:
+ '@aklinker1/check':
+ specifier: ^1.4.5
+ version: 1.4.5(typescript@5.6.3)
+ '@types/webextension-polyfill':
+ specifier: ^0.12.1
+ version: 0.12.1
+ publint:
+ specifier: ^0.2.12
+ version: 0.2.12
+ typescript:
+ specifier: ^5.6.3
+ version: 5.6.3
+ unbuild:
+ specifier: ^2.0.0
+ version: 2.0.0(sass@1.80.7)(typescript@5.6.3)
+ webextension-polyfill:
+ specifier: ^0.12.0
+ version: 0.12.0
+ wxt:
+ specifier: workspace:*
+ version: link:../wxt
+
packages/wxt:
dependencies:
'@1natsu/wait-element':
@@ -665,10 +689,6 @@ packages:
resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
engines: {node: '>=6.9.0'}
- '@babel/code-frame@7.25.7':
- resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
- engines: {node: '>=6.9.0'}
-
'@babel/code-frame@7.26.2':
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
@@ -809,10 +829,6 @@ packages:
resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
engines: {node: '>=6.9.0'}
- '@babel/highlight@7.25.7':
- resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==}
- engines: {node: '>=6.9.0'}
-
'@babel/parser@7.24.7':
resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
engines: {node: '>=6.0.0'}
@@ -1746,15 +1762,6 @@ packages:
rollup:
optional: true
- '@rollup/pluginutils@5.1.0':
- resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
'@rollup/pluginutils@5.1.2':
resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==}
engines: {node: '>=14.0.0'}
@@ -1999,6 +2006,9 @@ packages:
'@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ '@types/webextension-polyfill@0.12.1':
+ resolution: {integrity: sha512-xPTFWwQ8BxPevPF2IKsf4hpZNss4LxaOLZXypQH4E63BDLmcwX/RMGdI4tB4VO4Nb6xDBH3F/p4gz4wvof1o9w==}
+
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
@@ -3578,9 +3588,6 @@ packages:
lunr@2.3.9:
resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==}
- magic-string@0.30.10:
- resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
-
magic-string@0.30.11:
resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==}
@@ -4010,9 +4017,6 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
- pkg-types@1.1.3:
- resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==}
-
pkg-types@1.2.0:
resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==}
@@ -4191,10 +4195,6 @@ packages:
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.4.39:
- resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==}
- engines: {node: ^10 || ^12 || >=14}
-
postcss@8.4.47:
resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
engines: {node: ^10 || ^12 || >=14}
@@ -4421,11 +4421,6 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
- engines: {node: '>=10'}
- hasBin: true
-
semver@7.6.3:
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
engines: {node: '>=10'}
@@ -4778,9 +4773,6 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
- ufo@1.5.3:
- resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
-
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
@@ -5047,6 +5039,9 @@ packages:
resolution: {integrity: sha512-5D11VcjdGkA1/xax5UWL0YeAbDySKHzWFe6EpsoPNUMw5Uk9tKk9p6GUOfcaI5N7sINKfBMZYNsTBiu5dzJB9A==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ webextension-polyfill@0.12.0:
+ resolution: {integrity: sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q==}
+
webidl-conversions@7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
@@ -5322,11 +5317,6 @@ snapshots:
'@babel/highlight': 7.24.7
picocolors: 1.1.1
- '@babel/code-frame@7.25.7':
- dependencies:
- '@babel/highlight': 7.25.7
- picocolors: 1.1.1
-
'@babel/code-frame@7.26.2':
dependencies:
'@babel/helper-validator-identifier': 7.25.9
@@ -5386,7 +5376,7 @@ snapshots:
'@babel/generator@7.25.7':
dependencies:
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.0.2
@@ -5417,16 +5407,16 @@ snapshots:
'@babel/helper-environment-visitor@7.24.7':
dependencies:
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
'@babel/helper-function-name@7.24.7':
dependencies:
'@babel/template': 7.25.7
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
'@babel/helper-hoist-variables@7.24.7':
dependencies:
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
'@babel/helper-module-imports@7.18.6':
dependencies:
@@ -5473,13 +5463,13 @@ snapshots:
'@babel/helper-simple-access@7.24.7':
dependencies:
'@babel/traverse': 7.25.7
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
'@babel/helper-split-export-declaration@7.24.7':
dependencies:
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
'@babel/helper-string-parser@7.24.7': {}
@@ -5516,13 +5506,6 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/highlight@7.25.7':
- dependencies:
- '@babel/helper-validator-identifier': 7.25.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
'@babel/parser@7.24.7':
dependencies:
'@babel/types': 7.25.6
@@ -5568,9 +5551,9 @@ snapshots:
'@babel/template@7.25.7':
dependencies:
- '@babel/code-frame': 7.25.7
+ '@babel/code-frame': 7.26.2
'@babel/parser': 7.25.7
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
'@babel/template@7.25.9':
dependencies:
@@ -5595,11 +5578,11 @@ snapshots:
'@babel/traverse@7.25.7':
dependencies:
- '@babel/code-frame': 7.25.7
+ '@babel/code-frame': 7.26.2
'@babel/generator': 7.25.7
'@babel/parser': 7.25.7
'@babel/template': 7.25.7
- '@babel/types': 7.25.7
+ '@babel/types': 7.26.3
debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
@@ -6171,24 +6154,24 @@ snapshots:
'@rollup/plugin-commonjs@25.0.8(rollup@3.29.4)':
dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.3(rollup@3.29.4)
commondir: 1.0.1
estree-walker: 2.0.2
glob: 8.1.0
is-reference: 1.2.1
- magic-string: 0.30.10
+ magic-string: 0.30.12
optionalDependencies:
rollup: 3.29.4
'@rollup/plugin-json@6.1.0(rollup@3.29.4)':
dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.3(rollup@3.29.4)
optionalDependencies:
rollup: 3.29.4
'@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)':
dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.3(rollup@3.29.4)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-builtin-module: 3.2.1
@@ -6199,16 +6182,8 @@ snapshots:
'@rollup/plugin-replace@5.0.7(rollup@3.29.4)':
dependencies:
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
- magic-string: 0.30.10
- optionalDependencies:
- rollup: 3.29.4
-
- '@rollup/pluginutils@5.1.0(rollup@3.29.4)':
- dependencies:
- '@types/estree': 1.0.5
- estree-walker: 2.0.2
- picomatch: 2.3.1
+ '@rollup/pluginutils': 5.1.3(rollup@3.29.4)
+ magic-string: 0.30.12
optionalDependencies:
rollup: 3.29.4
@@ -6220,6 +6195,14 @@ snapshots:
optionalDependencies:
rollup: 4.24.0
+ '@rollup/pluginutils@5.1.3(rollup@3.29.4)':
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-walker: 2.0.2
+ picomatch: 4.0.2
+ optionalDependencies:
+ rollup: 3.29.4
+
'@rollup/pluginutils@5.1.3(rollup@4.24.0)':
dependencies:
'@types/estree': 1.0.6
@@ -6454,6 +6437,8 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
+ '@types/webextension-polyfill@0.12.1': {}
+
'@types/yauzl@2.10.3':
dependencies:
'@types/node': 20.17.6
@@ -6874,14 +6859,14 @@ snapshots:
at-least-node@1.0.0: {}
- autoprefixer@10.4.19(postcss@8.4.39):
+ autoprefixer@10.4.19(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
- caniuse-lite: 1.0.30001633
+ browserslist: 4.24.0
+ caniuse-lite: 1.0.30001666
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
axobject-query@4.1.0: {}
@@ -7046,7 +7031,7 @@ snapshots:
caniuse-api@3.0.0:
dependencies:
browserslist: 4.24.0
- caniuse-lite: 1.0.30001633
+ caniuse-lite: 1.0.30001666
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
@@ -7265,9 +7250,9 @@ snapshots:
dependencies:
type-fest: 1.4.0
- css-declaration-sorter@7.2.0(postcss@8.4.39):
+ css-declaration-sorter@7.2.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
css-select@5.1.0:
dependencies:
@@ -7296,49 +7281,49 @@ snapshots:
cssesc@3.0.0: {}
- cssnano-preset-default@7.0.4(postcss@8.4.39):
+ cssnano-preset-default@7.0.4(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
- css-declaration-sorter: 7.2.0(postcss@8.4.39)
- cssnano-utils: 5.0.0(postcss@8.4.39)
- postcss: 8.4.39
- postcss-calc: 10.0.0(postcss@8.4.39)
- postcss-colormin: 7.0.1(postcss@8.4.39)
- postcss-convert-values: 7.0.2(postcss@8.4.39)
- postcss-discard-comments: 7.0.1(postcss@8.4.39)
- postcss-discard-duplicates: 7.0.0(postcss@8.4.39)
- postcss-discard-empty: 7.0.0(postcss@8.4.39)
- postcss-discard-overridden: 7.0.0(postcss@8.4.39)
- postcss-merge-longhand: 7.0.2(postcss@8.4.39)
- postcss-merge-rules: 7.0.2(postcss@8.4.39)
- postcss-minify-font-values: 7.0.0(postcss@8.4.39)
- postcss-minify-gradients: 7.0.0(postcss@8.4.39)
- postcss-minify-params: 7.0.1(postcss@8.4.39)
- postcss-minify-selectors: 7.0.2(postcss@8.4.39)
- postcss-normalize-charset: 7.0.0(postcss@8.4.39)
- postcss-normalize-display-values: 7.0.0(postcss@8.4.39)
- postcss-normalize-positions: 7.0.0(postcss@8.4.39)
- postcss-normalize-repeat-style: 7.0.0(postcss@8.4.39)
- postcss-normalize-string: 7.0.0(postcss@8.4.39)
- postcss-normalize-timing-functions: 7.0.0(postcss@8.4.39)
- postcss-normalize-unicode: 7.0.1(postcss@8.4.39)
- postcss-normalize-url: 7.0.0(postcss@8.4.39)
- postcss-normalize-whitespace: 7.0.0(postcss@8.4.39)
- postcss-ordered-values: 7.0.1(postcss@8.4.39)
- postcss-reduce-initial: 7.0.1(postcss@8.4.39)
- postcss-reduce-transforms: 7.0.0(postcss@8.4.39)
- postcss-svgo: 7.0.1(postcss@8.4.39)
- postcss-unique-selectors: 7.0.1(postcss@8.4.39)
+ browserslist: 4.24.0
+ css-declaration-sorter: 7.2.0(postcss@8.4.47)
+ cssnano-utils: 5.0.0(postcss@8.4.47)
+ postcss: 8.4.47
+ postcss-calc: 10.0.0(postcss@8.4.47)
+ postcss-colormin: 7.0.1(postcss@8.4.47)
+ postcss-convert-values: 7.0.2(postcss@8.4.47)
+ postcss-discard-comments: 7.0.1(postcss@8.4.47)
+ postcss-discard-duplicates: 7.0.0(postcss@8.4.47)
+ postcss-discard-empty: 7.0.0(postcss@8.4.47)
+ postcss-discard-overridden: 7.0.0(postcss@8.4.47)
+ postcss-merge-longhand: 7.0.2(postcss@8.4.47)
+ postcss-merge-rules: 7.0.2(postcss@8.4.47)
+ postcss-minify-font-values: 7.0.0(postcss@8.4.47)
+ postcss-minify-gradients: 7.0.0(postcss@8.4.47)
+ postcss-minify-params: 7.0.1(postcss@8.4.47)
+ postcss-minify-selectors: 7.0.2(postcss@8.4.47)
+ postcss-normalize-charset: 7.0.0(postcss@8.4.47)
+ postcss-normalize-display-values: 7.0.0(postcss@8.4.47)
+ postcss-normalize-positions: 7.0.0(postcss@8.4.47)
+ postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47)
+ postcss-normalize-string: 7.0.0(postcss@8.4.47)
+ postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47)
+ postcss-normalize-unicode: 7.0.1(postcss@8.4.47)
+ postcss-normalize-url: 7.0.0(postcss@8.4.47)
+ postcss-normalize-whitespace: 7.0.0(postcss@8.4.47)
+ postcss-ordered-values: 7.0.1(postcss@8.4.47)
+ postcss-reduce-initial: 7.0.1(postcss@8.4.47)
+ postcss-reduce-transforms: 7.0.0(postcss@8.4.47)
+ postcss-svgo: 7.0.1(postcss@8.4.47)
+ postcss-unique-selectors: 7.0.1(postcss@8.4.47)
- cssnano-utils@5.0.0(postcss@8.4.39):
+ cssnano-utils@5.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
- cssnano@7.0.4(postcss@8.4.39):
+ cssnano@7.0.4(postcss@8.4.47):
dependencies:
- cssnano-preset-default: 7.0.4(postcss@8.4.39)
+ cssnano-preset-default: 7.0.4(postcss@8.4.47)
lilconfig: 3.1.2
- postcss: 8.4.39
+ postcss: 8.4.47
csso@5.0.5:
dependencies:
@@ -8004,7 +7989,7 @@ snapshots:
is-reference@1.2.1:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
is-reference@3.0.2:
dependencies:
@@ -8242,10 +8227,6 @@ snapshots:
lunr@2.3.9: {}
- magic-string@0.30.10:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
-
magic-string@0.30.11:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -8389,19 +8370,19 @@ snapshots:
mkdist@1.5.4(sass@1.80.7)(typescript@5.6.3):
dependencies:
- autoprefixer: 10.4.19(postcss@8.4.39)
+ autoprefixer: 10.4.19(postcss@8.4.47)
citty: 0.1.6
- cssnano: 7.0.4(postcss@8.4.39)
+ cssnano: 7.0.4(postcss@8.4.47)
defu: 6.1.4
esbuild: 0.23.0
fast-glob: 3.3.2
jiti: 1.21.6
mlly: 1.7.1
pathe: 1.1.2
- pkg-types: 1.1.3
- postcss: 8.4.39
- postcss-nested: 6.0.1(postcss@8.4.39)
- semver: 7.6.2
+ pkg-types: 1.2.0
+ postcss: 8.4.47
+ postcss-nested: 6.0.1(postcss@8.4.47)
+ semver: 7.6.3
optionalDependencies:
sass: 1.80.7
typescript: 5.6.3
@@ -8411,7 +8392,7 @@ snapshots:
acorn: 8.12.1
pathe: 1.1.2
pkg-types: 1.2.0
- ufo: 1.5.3
+ ufo: 1.5.4
moment@2.29.4:
optional: true
@@ -8683,159 +8664,153 @@ snapshots:
pidtree@0.6.0: {}
- pkg-types@1.1.3:
- dependencies:
- confbox: 0.1.8
- mlly: 1.7.1
- pathe: 1.1.2
-
pkg-types@1.2.0:
dependencies:
confbox: 0.1.8
mlly: 1.7.1
pathe: 1.1.2
- postcss-calc@10.0.0(postcss@8.4.39):
+ postcss-calc@10.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
postcss-value-parser: 4.2.0
- postcss-colormin@7.0.1(postcss@8.4.39):
+ postcss-colormin@7.0.1(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
+ browserslist: 4.24.0
caniuse-api: 3.0.0
colord: 2.9.3
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-convert-values@7.0.2(postcss@8.4.39):
+ postcss-convert-values@7.0.2(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
- postcss: 8.4.39
+ browserslist: 4.24.0
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-discard-comments@7.0.1(postcss@8.4.39):
+ postcss-discard-comments@7.0.1(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
- postcss-discard-duplicates@7.0.0(postcss@8.4.39):
+ postcss-discard-duplicates@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
- postcss-discard-empty@7.0.0(postcss@8.4.39):
+ postcss-discard-empty@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
- postcss-discard-overridden@7.0.0(postcss@8.4.39):
+ postcss-discard-overridden@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
- postcss-merge-longhand@7.0.2(postcss@8.4.39):
+ postcss-merge-longhand@7.0.2(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- stylehacks: 7.0.2(postcss@8.4.39)
+ stylehacks: 7.0.2(postcss@8.4.47)
- postcss-merge-rules@7.0.2(postcss@8.4.39):
+ postcss-merge-rules@7.0.2(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
+ browserslist: 4.24.0
caniuse-api: 3.0.0
- cssnano-utils: 5.0.0(postcss@8.4.39)
- postcss: 8.4.39
+ cssnano-utils: 5.0.0(postcss@8.4.47)
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
- postcss-minify-font-values@7.0.0(postcss@8.4.39):
+ postcss-minify-font-values@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-minify-gradients@7.0.0(postcss@8.4.39):
+ postcss-minify-gradients@7.0.0(postcss@8.4.47):
dependencies:
colord: 2.9.3
- cssnano-utils: 5.0.0(postcss@8.4.39)
- postcss: 8.4.39
+ cssnano-utils: 5.0.0(postcss@8.4.47)
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-minify-params@7.0.1(postcss@8.4.39):
+ postcss-minify-params@7.0.1(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
- cssnano-utils: 5.0.0(postcss@8.4.39)
- postcss: 8.4.39
+ browserslist: 4.24.0
+ cssnano-utils: 5.0.0(postcss@8.4.47)
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-minify-selectors@7.0.2(postcss@8.4.39):
+ postcss-minify-selectors@7.0.2(postcss@8.4.47):
dependencies:
cssesc: 3.0.0
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
- postcss-nested@6.0.1(postcss@8.4.39):
+ postcss-nested@6.0.1(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
- postcss-normalize-charset@7.0.0(postcss@8.4.39):
+ postcss-normalize-charset@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
- postcss-normalize-display-values@7.0.0(postcss@8.4.39):
+ postcss-normalize-display-values@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-positions@7.0.0(postcss@8.4.39):
+ postcss-normalize-positions@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-repeat-style@7.0.0(postcss@8.4.39):
+ postcss-normalize-repeat-style@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-string@7.0.0(postcss@8.4.39):
+ postcss-normalize-string@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-timing-functions@7.0.0(postcss@8.4.39):
+ postcss-normalize-timing-functions@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-unicode@7.0.1(postcss@8.4.39):
+ postcss-normalize-unicode@7.0.1(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
- postcss: 8.4.39
+ browserslist: 4.24.0
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-url@7.0.0(postcss@8.4.39):
+ postcss-normalize-url@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-normalize-whitespace@7.0.0(postcss@8.4.39):
+ postcss-normalize-whitespace@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-ordered-values@7.0.1(postcss@8.4.39):
+ postcss-ordered-values@7.0.1(postcss@8.4.47):
dependencies:
- cssnano-utils: 5.0.0(postcss@8.4.39)
- postcss: 8.4.39
+ cssnano-utils: 5.0.0(postcss@8.4.47)
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
- postcss-reduce-initial@7.0.1(postcss@8.4.39):
+ postcss-reduce-initial@7.0.1(postcss@8.4.47):
dependencies:
- browserslist: 4.23.1
+ browserslist: 4.24.0
caniuse-api: 3.0.0
- postcss: 8.4.39
+ postcss: 8.4.47
- postcss-reduce-transforms@7.0.0(postcss@8.4.39):
+ postcss-reduce-transforms@7.0.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-selector-parser@6.1.0:
@@ -8843,25 +8818,19 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-svgo@7.0.1(postcss@8.4.39):
+ postcss-svgo@7.0.1(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
svgo: 3.3.2
- postcss-unique-selectors@7.0.1(postcss@8.4.39):
+ postcss-unique-selectors@7.0.1(postcss@8.4.47):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
postcss-value-parser@4.2.0: {}
- postcss@8.4.39:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.1.1
- source-map-js: 1.2.0
-
postcss@8.4.47:
dependencies:
nanoid: 3.3.7
@@ -9040,11 +9009,11 @@ snapshots:
rollup-plugin-dts@6.1.1(rollup@3.29.4)(typescript@5.6.3):
dependencies:
- magic-string: 0.30.10
+ magic-string: 0.30.12
rollup: 3.29.4
typescript: 5.6.3
optionalDependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
rollup@3.29.4:
optionalDependencies:
@@ -9118,8 +9087,6 @@ snapshots:
semver@6.3.1: {}
- semver@7.6.2: {}
-
semver@7.6.3: {}
seroval-plugins@1.1.0(seroval@1.1.0):
@@ -9321,10 +9288,10 @@ snapshots:
dependencies:
js-tokens: 9.0.0
- stylehacks@7.0.2(postcss@8.4.39):
+ stylehacks@7.0.2(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
- postcss: 8.4.39
+ postcss: 8.4.47
postcss-selector-parser: 6.1.0
superjson@2.2.1:
@@ -9478,8 +9445,6 @@ snapshots:
typescript@5.6.3: {}
- ufo@1.5.3: {}
-
ufo@1.5.4: {}
uhyphen@0.2.0: {}
@@ -9491,7 +9456,7 @@ snapshots:
'@rollup/plugin-json': 6.1.0(rollup@3.29.4)
'@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4)
'@rollup/plugin-replace': 5.0.7(rollup@3.29.4)
- '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.3(rollup@3.29.4)
chalk: 5.3.0
citty: 0.1.6
consola: 3.2.3
@@ -9500,11 +9465,11 @@ snapshots:
globby: 13.2.2
hookable: 5.5.3
jiti: 1.21.6
- magic-string: 0.30.10
+ magic-string: 0.30.12
mkdist: 1.5.4(sass@1.80.7)(typescript@5.6.3)
mlly: 1.7.1
pathe: 1.1.2
- pkg-types: 1.1.3
+ pkg-types: 1.2.0
pretty-bytes: 6.1.1
rollup: 3.29.4
rollup-plugin-dts: 6.1.1(rollup@3.29.4)(typescript@5.6.3)
@@ -9617,9 +9582,9 @@ snapshots:
untyped@1.4.2:
dependencies:
- '@babel/core': 7.24.7
+ '@babel/core': 7.26.0
'@babel/standalone': 7.24.7
- '@babel/types': 7.24.7
+ '@babel/types': 7.26.3
defu: 6.1.4
jiti: 1.21.6
mri: 1.2.0
@@ -9878,6 +9843,8 @@ snapshots:
- supports-color
- utf-8-validate
+ webextension-polyfill@0.12.0: {}
+
webidl-conversions@7.0.0: {}
webpack-sources@3.2.3: