chore: upgrade wxt to 0.21, unblocking vite/svelte/vitest CVE fixes - #16
Merged
Conversation
This was referenced Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wxt0.19.9 → 0.21.4 (movesvitefrom hard dependency to peer dependency, removing the structural blocker),vite→ 8.2.2,svelte→ 5.57.0 (first stable release),@sveltejs/vite-plugin-svelte→ 7.3.0,vitest/@vitest/ui→ 5.0.0,tailwindcss/@tailwindcss/vite→ 4.3.3 (first stable release),svelte-check→ 4.7.6,@wxt-dev/module-svelte→ 2.0.5.vite-plugin-wasmandvite-plugin-top-level-awaitfromwxt.config.tsandpackage.json— verified viagrepthat this extension has no.wasmfiles orWebAssemblyusage anywhere; they were unused boilerplate carried over from the starter template (confirmed empirically: they were the actual cause of a vite-8/vite-7 build failure during a pre-flight check, unrelated to the vite version itself).@sveltejs/vite-plugin-svelte: ^4.0.0-nextoverride (present inoverrides/resolutions/pnpm.overrides) that was pinning vpsvelte to 4.x underneath the devDependency bump. Swept all now-inert selector-scoped CVE overrides —pnpm auditis clean with no overrides needed at all post-upgrade (this repo's dependency graph resolvesgigetuniformly to a version with notardependency, unlike the sibling repos).@types/chrome; adds@types/node.runner:→webExt:inwxt.config.ts.src/entrypoints/background.ts'sbrowser.runtime.onMessagelistener wasasyncand returned aPromise— WXT 0.20+ dropped thewebextension-polyfill, which is what let promise-returning listeners work. Rewritten to thesendResponse(...)+return truepattern. Note: thisAPPLY_FILTERSmessage branch appears currently unreachable from any UI in this codebase (the popup only toggles filters directly via storage; the context menu sendsAPPLY_FILTERS_NOWstraight to the content script, bypassing this handler) — so I can't currently exercise it end-to-end, but the API-contract bug was real regardless and is now fixed.noUncheckedIndexedAccess):src/lib/stores/filters.ts(derived the storage-listener type frombrowser.storage.onChanged.addListener's own signature instead of a hand-rolled one that no longer matched),src/lib/utils/validation.ts(safe destructuring default).vitest.config.tsoff the deprecated__dirnametoimport.meta.dirname.wxt/vitest5'sengines), fixespnpm format→pnpm format:check(the former writes files and passes unconditionally — the CI format gate was a no-op), adds apnpm teststep (previously zero CI coverage for the critical vitest alert).prettier-plugin-tailwindcss0.5→0.8, so the migration diff stays reviewable.Alerts this closes
All open Dependabot alerts on
vite,svelte,vitest(critical),esbuild, andextract-zip(high — the dependency disappears entirely with wxt 0.21's slimmerpublish-browser-extensiondependency) — superseding PRs #12, #13, #14.Test plan
pnpm install(scripts on) — postinstallwxt preparesucceedspnpm run check— 0 errors (3 pre-existing, unrelated warnings)pnpm buildandpnpm build:firefox— both succeedpnpm test— 38/38 passingpnpm lint— 0 errors (1 pre-existing, unrelated warning)pnpm audit— no known vulnerabilities🤖 Generated with Claude Code