Commit 21a6ee7
committed
chore(deps): upgrade wxt to 0.21.2 and refresh security overrides
WXT 0.21 drops its bundled web-ext-run fork and takes web-ext, vite and
typescript as peer dependencies instead, so vite joins devDependencies
explicitly. web-ext and typescript were already direct devDependencies.
Migration work the 0.21 breaking changes required:
- The `wxt/testing` barrel export is gone. The fake browser and the Vitest
plugin now come from `wxt/testing/fake-browser` and
`wxt/testing/vitest-plugin`.
- The generated .wxt/tsconfig.json enables verbatimModuleSyntax,
noUncheckedIndexedAccess and noImplicitOverride. Kept those rather than
reverting them through the prepare:tsconfig hook, which took 19 fixes:
three type-only imports, two `override` modifiers, and guards where an
array or record lookup genuinely can be undefined. FALLBACK_ADAPTER
needs a non-null assertion because ADAPTERS is indexed by a computed
expression; it is a non-empty const tuple, so the element always exists.
- Sources zips are now `includeSources - excludeSources` and honour
.gitignore, so stale dist/ and web-ext-artifacts/ output stops shipping
to AMO. .gitignore did not cover CLAUDE.local.md (ignored globally, and
symlinked into every worktree) or coverage/, which is now gitignored.
Security overrides, re-checked against each alert and each parent's
declared range:
- yauzl has a patched release now, closing the advisory #137 had to leave
open. Scoped to the 3.x line: only 3.2.0 is affected, and addons-linter
separately pulls an unaffected 2.10.0.
- shell-quote floor raised 1.8.5 -> 1.9.0. GHSA-395f-4hp3-45gv is patched
in 1.9.0, so the old floor no longer covered the advisory it was for.
- brace-expansion pinned per major (1.1.17 / 2.1.3 / 5.0.8). A single
>=5.0.8 floor collapses every consumer onto v5, which minimatch v9
cannot call ("brace_expansion_1.default is not a function"), breaking
`vitest run --coverage`. GHSA-mh99-v99m-4gvg is ignored via auditConfig
because its single collapsed `<=5.0.7` range keeps matching the 1.x and
2.x backports; both tarballs were unpacked and confirmed to carry the
EXPANSION_MAX_LENGTH fix.
- yaml override dropped. It only ever arrived via web-ext-run, and
nothing pulls it in now except vite's optional peer, which is not
installed.
svelte, svelte-check and @playwright/test picked up in-range releases.
The majors left outstanding are the ones #137 deliberately held back
(vite 8, @sveltejs/vite-plugin-svelte 7, vitest 4) plus jsdom,
@types/node, prettier-plugin-svelte, typescript 7 and web-ext 10.
Verified: 87 unit tests, a coverage run, svelte-check, prettier, web-ext
lint (0 errors, same 5 warnings as dev), chrome and firefox builds, both
zips, and `pnpm install --frozen-lockfile`.
0.21 raises the Node floor to 22, so the README prerequisite (which said
18+) is now wrong in the source package AMO reviewers build from, and
package.json gained a matching `engines.node` so a wrong runtime fails
fast instead of midway through the build.
Reproducibility checked the way AMO checks it: extracting the sources zip
into a clean directory and running install + zip:firefox there produces
generated files that diff clean against the shipped build, all 14 file
hashes equal. The zip containers differ by 36 bytes, which are the DOS
timestamp fields in each entry header; the same is true of two
back-to-back builds on 0.20, so it is not a regression here.
The rest of the README was audited against the actual scripts while it was
open: the Android example passed `--s`, which the flag parser does not
accept (it takes `-s` or `--source-dir`); zip/test commands were not
documented at all; and the browser-startup section covered only
web-ext.config.ts, not the .webextrc file WXT also loads. `pnpm lint` was
broken outright — it ran `pnpm build`, which emits chrome-mv3, and then
linted .output/firefox-mv2, so on a clean checkout it failed with a
missing-directory error. It builds firefox now.1 parent f2ac911 commit 21a6ee7
19 files changed
Lines changed: 463 additions & 849 deletions
File tree
- scripts
- src
- components
- extension
- settings
- lib
- adapters
- config
- services
- utils
- tests
- setup
- utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| |||
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
153 | 195 | | |
154 | 196 | | |
155 | 197 | | |
| |||
161 | 203 | | |
162 | 204 | | |
163 | 205 | | |
164 | | - | |
| 206 | + | |
165 | 207 | | |
166 | 208 | | |
167 | 209 | | |
| |||
171 | 213 | | |
172 | 214 | | |
173 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
174 | 221 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
10 | 13 | | |
11 | 14 | | |
12 | 15 | | |
| |||
18 | 21 | | |
19 | 22 | | |
20 | 23 | | |
21 | | - | |
| 24 | + | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
| |||
48 | 51 | | |
49 | 52 | | |
50 | 53 | | |
51 | | - | |
| 54 | + | |
52 | 55 | | |
53 | 56 | | |
54 | 57 | | |
| |||
60 | 63 | | |
61 | 64 | | |
62 | 65 | | |
63 | | - | |
64 | | - | |
| 66 | + | |
| 67 | + | |
65 | 68 | | |
66 | 69 | | |
| 70 | + | |
67 | 71 | | |
68 | 72 | | |
69 | | - | |
| 73 | + | |
70 | 74 | | |
71 | 75 | | |
72 | 76 | | |
| |||
0 commit comments