build(deps-dev): bump web-ext from 10.0.0 to 10.1.0#2605
build(deps-dev): bump web-ext from 10.0.0 to 10.1.0#2605dependabot[bot] wants to merge 1 commit intomainfrom
Conversation
|
Suggested comment for Cursor review (copy and paste as a new comment): Note: GitHub Actions bot cannot trigger Cursor agent directly. Please copy the above comment to invoke the review. |
Build Branch
Static preview entry points
QR codes (mobile preview)
Integration commandsnpm (Android / Extension): Swift Package Manager (Apple): .package(url: "https://github.com/duckduckgo/content-scope-scripts.git", branch: "pr-releases/dependabot/npm_and_yarn/main/web-ext-10.1.0")git submodule (Windows): git -C submodules/content-scope-scripts fetch origin pr-releases/dependabot/npm_and_yarn/main/web-ext-10.1.0
git -C submodules/content-scope-scripts checkout origin/pr-releases/dependabot/npm_and_yarn/main/web-ext-10.1.0Pin to exact commitnpm (Android / Extension): Swift Package Manager (Apple): .package(url: "https://github.com/duckduckgo/content-scope-scripts.git", revision: "96e22796b1dccefb2e8d5b34cd75d43e0ebac464")git submodule (Windows): git -C submodules/content-scope-scripts fetch origin pr-releases/dependabot/npm_and_yarn/main/web-ext-10.1.0
git -C submodules/content-scope-scripts checkout 96e22796b1dccefb2e8d5b34cd75d43e0ebac464 |
There was a problem hiding this comment.
Stale comment
Web Compatibility Assessment
- File:
injected/package.json| Line range:57| Severity:info| Change is a devDependency version bump (web-ext^10.0.0->^10.1.0) with no injected runtime source changes, no API override/shim changes, and no browser-surface contract impact.- File:
package-lock.json| Line range:59-67,10219-10239| Severity:info| Lockfile updates align with theweb-extupgrade and transitive toolchain packages only; no modifications to injected feature code, wrapper utilities, messaging bridge, or platform entrypoint behavior.- File:
package-lock.json| Line range:10884-10890| Severity:warning| Unrelated lockfile churn appears (@duckduckgo/design-tokensspec string normalized from commit hash form to tag form). Runtime compatibility impact is nil, but this widens review surface and can hide unrelated drift in dependency PRs.Security Assessment
- File:
injected/package.json| Line range:57| Severity:info| Updated package is dev-only (web-ext) and not executed in page context; no new exposure in hostile page runtime.- File:
package-lock.json| Line range:172-2497,10219-10239| Severity:info| Transitive updates are confined to tooling/linting paths (addons-linter,addons-scanner-utils, eslint stack,@babel/runtimeused by tooling here). No changes tocaptured-globals, message transport validation, bridge secrets, origin checks, orload()-time injected logic.- File:
package-lock.json| Line range:10884-10890| Severity:warning| The unrelated dependency spec rewrite is not an immediate vuln, but minimizing non-target lockfile edits reduces supply-chain review blind spots and audit ambiguity.Risk Level
Low Risk - This PR is a dev-tool dependency bump with lockfile churn only and does not alter injected JavaScript runtime behavior, compatibility shims, or security-sensitive execution paths.
Recommendations
- Keep dependency update PRs tightly scoped: remove unrelated lockfile deltas (notably the
@duckduckgo/design-tokensspec rewrite) unless intentionally included.- Add/confirm CI guardrails for dependency-only PRs: run
npm run test-unitand extension packaging smoke checks usingweb-extcommands used in this repo.- For future dependency bump PRs, include a short changelog note for major transitive jumps (e.g.,
addons-scanner-utils13->15) to speed security triage.Sent by Cursor Automation: Web compat and sec
There was a problem hiding this comment.
Stale comment
Findings (ordered by severity)
Medium – Unrelated lockfile mutation weakens pinning scope
package-lock.jsonincludes a change unrelated toweb-ext(@duckduckgo/design-tokensspec changed from a commit SHA to a tag ref).- This broadens the PR surface beyond the stated dependency bump and reduces determinism versus an immutable SHA pin.
- Recommended fix: revert that lockfile hunk (or regenerate lockfile in a way that only touches
injected/web-extresolution).Low – No automated coverage for the only
web-extconsumer path
- In this repo,
web-extis only referenced byinjected/scripts/run-fake-extension.jsvianpm run fake-extension.- CI workflows run unit/integration/lint, but do not invoke
fake-extension/web-ext.- Risk: regressions in
web-ext/addons-linterbehavior are unlikely to be caught pre-merge.- Validation needed: run a smoke check for this path before merge (local or CI).
Changelog-based impact reviewed
web-ext10.0.0 -> 10.1.0: primarily dependency updates (@babel/runtimeto7.29.2,addons-linterto10.3.0).addons-linter10.1.0 -> 10.3.0: pullsaddons-scanner-utils13.1.0 -> 15.0.0and related dependency updates.- Given local usage is
web-ext run(notweb-ext lint), expected runtime impact is low, but currently untested in CI.Dependency necessity / alternatives
web-extappears to be needed only for the manualfake-extensionhelper. If reducing supply-chain and lockfile churn is desired, an alternative is replacing this helper with Playwright extension-loading workflows already used elsewhere, then dropping the directweb-extdependency.Sent by Cursor Automation: Review dependabot
| }, | ||
| "devDependencies": { | ||
| "@duckduckgo/design-tokens": "github:duckduckgo/design-tokens#f8bfef66960b94c72d3e6be7c114fa87f9812e2a", | ||
| "@duckduckgo/design-tokens": "github:duckduckgo/design-tokens#v0.17.0", |
There was a problem hiding this comment.
This lockfile edit is unrelated to the web-ext bump and also changes pinning style from an immutable commit SHA to a tag ref (#v0.17.0). Could we revert this hunk so the PR remains dependency-scoped and deterministic?
f3c1be9 to
c8642df
Compare
There was a problem hiding this comment.
Stale comment
Web Compatibility Assessment
- No findings.
injected/package.json(line 57), severityinfo: change is limited todevDependencies(web-ext^10.0.0->^10.1.0), with no modifications to injected feature code, wrappers, shims, message bridge, or platform entry points.package-lock.json(multiple lockfile ranges including 59-62, 2211-2361, 10219-10231), severityinfo: transitive updates are build/lint/tooling graph changes (addons-linter, ESLint,@babel/runtimeunderweb-ext) and do not alter browser runtime API overrides or DOM behavior ininjected/src.Security Assessment
- No findings.
injected/package.json(line 57), severityinfo: this is a development-time dependency update only; no new content-script messaging, origin validation, bridge secret handling, captured-global usage, or runtime network behavior changes were introduced.package-lock.json(lockfile-only updates), severityinfo: no security-sensitive code paths were changed in C-S-S runtime modules (captured-globals,wrapper-utils,utils/DDGProxy,message-bridge, feature implementations).Risk Level
Low Risk: dependency-only PR affecting dev tooling (
web-ext) and lockfile transitive packages, with zero runtime code changes in injected scripts.Recommendations
- Run extension/tooling CI paths that exercise
web-extcommands (build/package/sign validation) to catch CLI behavior changes from10.0.0to10.1.0.- Keep lockfile-only dependency updates isolated (as in this PR) to preserve rollback safety if a tooling regression appears.
- If CI has any web-ext invocation flags that are sensitive to CLI option parsing, add/retain a smoke test that executes those exact commands in automation.
Sent by Cursor Automation: Web compat and sec
c8642df to
961dbe6
Compare
There was a problem hiding this comment.
Stale comment
Web Compatibility Assessment
No direct web-compat findings.
injected/package.json(devDependencies update forweb-ext) andpackage-lock.jsononly; there are no changes to injected runtime code paths (injected/src/features/*,wrapper-utils,DDGProxy, entry points, or platform support maps).- No API override/shim surface changed (
wrapMethod,wrapProperty,shimInterface,wrapToStringuntouched), so no new risk to descriptor fidelity,toString()masking,instanceof, or return-contract behavior.Security Assessment
No direct security findings in injected runtime.
- No changes to trust-boundary components (
captured-globals, message bridge, transport origin checks, stack-trace exemptions, config gate logic).- Dependency delta is restricted to dev tooling (
web-extand transitive linter/runtime packages in lockfile), so hostile-page attack surface in shipped content scripts is unchanged.Risk Level
Low Risk — this is a dev-tooling dependency bump with lockfile churn only, and it does not modify injected script logic, browser API shims, or messaging/security-sensitive runtime code.
Recommendations
- Run a focused extension-tooling smoke test in CI/local (
web-ext lintor equivalent packaging/lint step) to validate theaddons-lintertransitive jump (10.1.0→10.3.0) does not introduce release pipeline regressions.- Keep lockfile-only PRs scoped as done here; avoid coupling them with runtime injected feature changes so compatibility/security review remains isolated and low-noise.
Sent by Cursor Automation: Web compat and sec
There was a problem hiding this comment.
Stale comment
Dependency risk review for
web-ext10.0.0 -> 10.1.0.Confirmed findings
Coverage gap for the only in-repo runtime usage
web-extis only invoked byinjected/scripts/run-fake-extension.js(vianpm run fake-extensionininjected/package.json), but CI workflows in.github/workflowsrun unit/integration Playwright suites and do not execute this script. That means regressions inweb-ext runbehavior are not currently caught pre-merge.Transitive behavior changes are larger than the top-level bump suggests
web-ext10.1.0 release notes list no direct feature changes, but it pullsaddons-linter10.3.0, which in turn pullsaddons-scanner-utils15.0.0.
addons-scanner-utils14.0.0/15.0.0release notes include auth-layer changes (notably dropping Bearer-token support) and API surface changes. Even if likely low impact for this repo, this is a real semantic shift in transitive code, not just patch-level churn.Uncertain concerns (assumptions + required validation)
- Potential local workflow breakage outside CI scope
Assumption: some engineers may useweb-ext lint/scanner-related flows locally (or in downstream automation), not justweb-ext run.
Risk: transitive auth/API changes inaddons-scanner-utilscould alter those paths.
Validation needed: run a smoke check coveringweb-ext runandweb-ext lintagainstinjected/integration-test/extensionin CI or a dedicated canary job.Dependency necessity / alternatives
web-extappears to be used only for a local/dev helper script. Consider whether this dependency is still required in-repo versus:
- replacing with Playwright extension-loading primitives for local debugging, or
- moving
web-extusage to an optional external tooling repo/script if no CI path depends on it.Suggested follow-up (separate PR)
Create a small hardening PR that adds a non-blocking smoke check job for
npm run fake-extension(or at leastnpx web-ext run --helpplus a minimalweb-ext lintinvocation) so future dependency bumps are verified by automation.Sent by Cursor Automation: Review dependabot
961dbe6 to
0cb765d
Compare
There was a problem hiding this comment.
Stale comment
Web Compatibility Assessment
injected/package.json(line range ~57-61),info:web-extis a dev-only tooling dependency bump (^10.0.0->^10.1.0) and does not modify injected feature code paths, wrapper utilities, API shims, or runtime platform entry behavior.package-lock.json(line ranges ~59-62, ~10219-10235, plus transitive update hunks),info: lockfile-only transitive changes (addons-linter,@babel/runtime,@eslint/js,@mdn/browser-compat-data, etc.) affect local/CI tooling resolution, not browser-page runtime behavior; no direct API-surface fidelity or prototype-chain regression vector introduced in injected scripts.Security Assessment
injected/package.json(line range ~57-61),info: no changes tocaptured-globals, message bridge, transport origin checks,DDGProxy, or feature initialization lifecycle; no new attack surface in hostile page context.package-lock.json(transitive dependency hunks),warning: this is still a supply-chain update to development tooling. While not runtime in page context, it changes the code executed in developer/CI environments (e.g.,web-ext/addons-lintertoolchain). No direct C-S-S content-script vulnerability identified in this diff.Risk Level
Low Risk — dependency-only PR touching dev tooling manifests/lockfile, with no modifications to injected runtime JavaScript, wrapper/shim machinery, messaging boundary checks, or security-critical initialization paths.
Recommendations
- Run extension packaging/linting CI paths that invoke
web-extto confirm no behavioral change in build/sign/lint workflows from10.1.0and updatedaddons-lintertransitive set.- Keep this update isolated to tooling (as done here) and avoid coupling with runtime feature edits, so rollback remains straightforward if CI tool behavior changes.
- If desired, add/retain a CI smoke step that exercises the
web-extcommand path used by release workflows to detect future toolchain regressions early.Sent by Cursor Automation: Web compat and sec
There was a problem hiding this comment.
Stale comment
Findings
- Low:
web-extupgrade path is not CI-covered in this repo
Evidence: the bumped dependency is only wired throughinjected/package.jsonand used byinjected/scripts/run-fake-extension.js; there are noweb-ext/fake-extensioninvocations in.github/workflows.
Risk: regressions inweb-ext@10.1.0behavior (CLI flags, Chromium launch behavior, local dev execution) would not be caught before merge.Uncertain Concerns (assumptions stated)
web-ext@10.1.0pullsaddons-linter@10.3.0->addons-scanner-utils@15.0.0, whose upstream release notes include "drop support for Bearer token based authentication".
Assumption: this repo appears to use onlyweb-ext run(notweb-ext sign/auth flows), so impact is likely none here.
Validation needed: confirm no external/internal tooling around this repo relies onweb-extauth-related commands with Bearer tokens.Changelog Impact Summary
web-ext@10.1.0: upstream reports no main functional changes, dependency-only release.- Transitives updated in lockfile are limited to
@babel/runtime,addons-linter,addons-scanner-utils,@mdn/browser-compat-data, and nested ESLint bits.Dependency Necessity / Better Practice
web-extappears to be retained for local extension-run tooling (npm run fake-extension).- Alternative for a follow-up separate PR: add a lightweight smoke check for this path (or migrate this helper to Playwright-native extension loading) so dependency bumps are automatically validated.
No blocking issue found for this PR based on current in-repo usage.
Sent by Cursor Automation: Review dependabot
0cb765d to
777d18d
Compare
There was a problem hiding this comment.
Stale comment
Web Compatibility Assessment
injected/package.json(47-60) — info: Only a devDependency version bump (web-ext^10.0.0→^10.1.0). No changes to injected runtime features, wrappers, shims, or platform entry points; no direct web-compat regression surface in page-executed code.package-lock.json(59-67,10219-10230) — info: Lockfile reflects the sameweb-extupgrade and expected transitive dependency refresh. No changes to browser API override paths (wrapper-utils,DDGProxy, feature code), so API surface fidelity/prototype-chain risks are unchanged.package-lock.json(2211-2497) — warning: Transitive tooling stack changed beyond a single patch bump (addons-linter10.1.0→10.3.0,addons-scanner-utils13.1.0→15.0.0, nestedeslintupdates). This is still dev-tooling-only, but it can alter extension build/lint behavior and should be validated with packaging/lint smoke tests.Security Assessment
injected/package.json(47-60) — info: No changes to hostile-page runtime execution paths, captured globals usage, or message transport code.package-lock.json(172-2497,10219-10230) — info: Dependency integrity hashes are updated consistently for new tarballs; no evidence of lockfile tampering pattern (e.g., mismatchedversion/resolved/integrity).package-lock.json(2211-2497) — warning: Supply-chain surface changed in dev tooling transitive graph. Not a direct runtime vulnerability in injected scripts, but CI/build trust boundary changed and merits standard dependency audit and CI verification.Risk Level
Low Risk — PR does not modify injected runtime/security-sensitive code paths; impact is limited to dev tooling (
web-ext) and transitive lockfile updates.Recommendations
- Run extension tooling smoke checks that exercise
web-extusage paths (build/sign/lint commands used in CI/release automation).- Run dependency audit scoped to changed packages (
web-ext,addons-linter,addons-scanner-utils) to confirm no newly introduced advisories.- If reproducibility is critical, keep Dependabot lockfile-only churn limited to packages pulled by
web-extand avoid unrelated refresh in the same PR.Sent by Cursor Automation: Web compat and sec
There was a problem hiding this comment.
Stale comment
Findings
- Medium – No automated coverage for the only affected execution path (
web-extusage).
- Evidence in this PR:
web-extis only referenced ininjected/scripts/run-fake-extension.jsand as theinjected/package.jsondevDependency.- Evidence in repo CI config: no
.github/workflowsjob referencesfake-extension,run-fake-extension, orweb-ext.- Risk: this bump is effectively untested in CI, so a CLI behavior change in
web-ext/transitives could silently break the manual extension workflow (or change local security posture) without being caught.Confirmed low-risk context
- Upstream
web-ext10.1.0release notes report no main changes, only dependency updates (addons-linter10.3.0,@babel/runtime7.29.2).- This remains a devDependency in
injected, so there is no direct production runtime impact from this diff.Uncertain concerns (need validation)
addons-lintermoved to10.3.0and pullsaddons-scanner-utils15.0.0(major transitive jump from13.1.0). No direct break is visible here, but because theweb-extpath is not CI-covered, compatibility changes would only surface during manualfake-extensionuse.Suggested follow-up (separate PR, not this one)
- Add a lightweight CI smoke check for tooling integrity, e.g. run
web-ext --version(or equivalent non-interactive invocation) in the injected workspace.- If
fake-extensionremains important, add a small automated test around command construction/launch assumptions inrun-fake-extension.js.- Alternative: if this workflow is no longer needed, remove
fake-extension+web-extto reduce supply-chain surface.Sent by Cursor Automation: Review dependabot
There was a problem hiding this comment.
Stale comment
Dependency risk review for
web-ext10.0.0 -> 10.1.0.Confirmed concerns
- Coverage gap for this dependency path (medium): this repo does not currently exercise
web-extin CI. The dependency is only used byinjected/scripts/run-fake-extension.js(npx web-ext run), and current workflow jobs run unit/integration/build/lint but do not invokefake-extensionorweb-extdirectly. That means regressions from this bump can merge without execution coverage.- Large transitive surface under a minor bump (low-medium):
web-ext10.1.0 release notes say “main changes: none”, but it upgradesaddons-linterto 10.3.0, which upgradesaddons-scanner-utilsto 15.0.0 (major). This is a meaningful transitive change even though the direct bump is minor.Uncertain concerns (need validation)
addons-scanner-utils15.0.0 includes behavioral changes (not just patching), e.g. dropped Bearer token auth support and explicit export changes. It is unclear whether these codepaths are reached by ourweb-ext runusage; if they are, behavior could differ in local extension test flows.Changelog evidence used
web-ext10.1.0: https://github.com/mozilla/web-ext/releases/tag/10.1.0web-extcompare 10.0.0...10.1.0: mozilla/web-ext@10.0.0...10.1.0addons-linterrelease stream (10.3.0 dependency updates): https://github.com/mozilla/addons-linter/releasesaddons-linterbump PR to 10.3.0 (includes scanner-utils 15.0.0 note): mozilla/web-ext#3673addons-scanner-utilsrelease notes (15.0.0 changes): https://github.com/mozilla/addons-scanner-utils/releasesSeparate fix PR drafted
Opened follow-up PR with a targeted CI smoke check so this dependency path is covered on future bumps:
- #2630
- Change: add
npm exec -w injected web-ext -- --versionto injected unit-test matrix job.Dependency necessity note
web-extcurrently appears to be dev-only and used only forfake-extensionflows. Alternative approach if we want to reduce toolchain risk: replace this path with Playwright persistent-context extension loading and remove theweb-extdependency entirely. I did not propose that change here because it is more invasive.Sent by Cursor Automation: Review dependabot
Bumps [web-ext](https://github.com/mozilla/web-ext) from 10.0.0 to 10.1.0. - [Release notes](https://github.com/mozilla/web-ext/releases) - [Commits](mozilla/web-ext@10.0.0...10.1.0) --- updated-dependencies: - dependency-name: web-ext dependency-version: 10.1.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
777d18d to
b3b2018
Compare
There was a problem hiding this comment.
Web Compatibility Assessment
injected/package.json(line range around dependency entry forweb-ext),severity: info:
The change is a devDependency bump (web-ext^10.0.0->^10.1.0) and does not modify injected runtime code paths (injected/src/features, wrapper utilities, messaging bridge, or platform entry-point behavior). No API surface fidelity, descriptor, prototype-chain, or DOM interaction regressions are introduced by this diff itself.package-lock.json(line ranges aroundnode_modules/web-extand its transitive subtree),severity: info:
Lockfile updates are limited to build-time/tooling transitive packages (@babel/runtime,addons-linter,addons-scanner-utils, eslint-related deps) under theweb-extdependency graph. No browser-executed C-S-S logic changed, so no site-compat behavior delta is observable from this patch alone.
Security Assessment
injected/package.json+package-lock.json(same ranges),severity: info:
No changes to security-sensitive runtime components:captured-globals,wrapper-utils,DDGProxy, message-bridge secret/origin checks, transport validation, or any injected feature implementation. Threat-model vectors (prototype tamper resilience, bridge spoofing, postMessage origin control, config gating) are unaffected by this PR.package-lock.json(transitive dependency churn underweb-ext),severity: info:
Security impact is constrained to developer tooling execution context (local/CI) rather than page runtime context. I do not see a new in-browser exploit surface introduced by the changed files.
Risk Level
Low Risk — the PR is a dev-tool dependency update only, with no modifications to injected page runtime logic or security boundaries.
Recommendations
info: Keep CI checks that exercise extension tooling paths (e.g., build/lint/pack steps usingweb-ext) to catch workflow regressions from CLI/transitive dependency behavior changes.info: If not already covered in this repo’s pipeline, run a quick extension packaging/smoke command on this branch to validate no output-format or command-flag regressions inweb-ext10.1.0.info: No additional web-compat/security runtime tests are required for this diff specifically, since no injected runtime code changed.
Sent by Cursor Automation: Web compat and sec
There was a problem hiding this comment.
Findings
No blocking privacy/security regressions are confirmed from this dependency bump.
Evidence
- The PR diff only changes
web-extfrom^10.0.0to^10.1.0ininjected/package.json, plus lockfile updates. - Upstream
web-ext10.1.0release notes report no main behavior changes, only dependency updates (notablyaddons-linter10.3.0and@babel/runtime7.29.2). - Repository usage shows
web-extis invoked only ininjected/scripts/run-fake-extension.jsviaweb-ext run; there is no local usage ofweb-ext lint/sign/build.
Uncertain Concerns (non-blocking)
-
Lockfile transitive changes include
addons-linter10.3.0andaddons-scanner-utils15.0.0(with peer dependency metadata changes). Those paths are typically exercised byweb-ext lint, which does not appear to be covered by this repo’s tests.
Assumption: current workflows depend onweb-ext runonly.
Required validation: smoke-runnpm run fake-extensionon at least one CI/Linux environment after merge. -
Dependency necessity:
web-extcurrently appears tied to thefake-extensiondeveloper workflow only.
Assumption: that workflow is still intentionally supported.
Alternative (separate hardening PR): if this workflow is no longer required, removeweb-extandinjected/scripts/run-fake-extension.jsto reduce supply-chain surface.
Separate PR
No separate fix PR was drafted because this review did not identify a confirmed blocking issue in this update.
Sent by Cursor Automation: Review dependabot


Bumps web-ext from 10.0.0 to 10.1.0.
Release notes
Sourced from web-ext's releases.
Commits
5e9b08910.1.04387494chore(deps): bump addons-linter from 10.2.0 to 10.3.0 (#3673)63c2bc7chore(audit): update npm audit ignore list (#3672)a9d767dchore(deps): bump brace-expansion from 1.1.12 to 1.1.13 (#3671)d29aaa7chore(deps): bump node-forge from 1.3.2 to 1.4.0 (#3670)73dd5f8chore(deps): bump picomatch (#3669)664b23cchore(deps): bump addons-linter from 10.1.0 to 10.2.0 (#3668)67efc41chore(deps): bump flatted from 3.4.1 to 3.4.2 (#3665)308b344chore(deps-dev): bump@babel/preset-envfrom 7.29.0 to 7.29.2 (#3661)aa0333echore(deps): bump@babel/runtimefrom 7.28.6 to 7.29.2 (#3660)Note
Low Risk
Low risk dev-tooling update; only
web-extand its lockfile-resolved transitive dependencies change, with no production code impact.Overview
Updates the dev dependency
web-extfrom10.0.0to10.1.0.Regenerates
package-lock.jsonto reflect updated transitive tooling deps (notablyaddons-linter,@babel/runtime,@mdn/browser-compat-data, andeslint).Reviewed by Cursor Bugbot for commit b3b2018. Bugbot is set up for automated code reviews on this repo. Configure here.