Skip to content

fix(deps): browserslist override + stale lockfile resync - #67

Merged
acamarata merged 1 commit into
mainfrom
fix/browserslist-ghsa-c83g-rgw3-j3cx
Sep 1, 2026
Merged

acamarata merged 1 commit into
mainfrom
fix/browserslist-ghsa-c83g-rgw3-j3cx

Conversation

@acamarata

Copy link
Copy Markdown
Contributor

Summary

  • Two newly published HIGH advisories against browserslist <= 4.28.6 (unbounded memory growth from an unevicted query-result cache, plus a crash/prototype-write via untrusted browserslist-stats.json), patched in 4.28.7. Reached transitively via babel; overridden at the workspace root (fixes "Mobile Unit Tests" -> "Dependency audit").
  • Also resyncs the lockfile against nself-org/packages main, which added eslint/typescript-eslint devDependencies to @nself/tailwind-brand, @nself-web/csp and @nself-web/og.

Verification

  • grep -oE 'browserslist@[0-9.]+' pnpm-lock.yaml -> browserslist@4.28.8 at root.
  • CI=true pnpm install --frozen-lockfile exits 0 at the workspace root.
  • pnpm audit --audit-level=high exits 0 (2 high findings, both pre-existing ignored CVEs).

Discovery (out of scope, flagging only)

desktop is a workspace member of the root pnpm-workspace.yaml, so pnpm install run from inside desktop/ walks up and resolves against the root lockfile -- desktop/pnpm-lock.yaml is never touched and looks like a dead file, matching this repo's own desktop-e2e.yml comment about the same thing. The three desktop-build-* CI jobs that install with working-directory: nclaw/desktop are therefore already exercising the root lockfile fixed here. Added the override to desktop/package.json too for documentation, though pnpm warns it has no effect there.

Test plan

  • CI green: Mobile Unit Tests -> Dependency audit

Two newly published HIGH advisories against browserslist <= 4.28.6
(unbounded memory growth from an unevicted query-result cache, plus a
crash/prototype-write via untrusted browserslist-stats.json), patched
in 4.28.7. Reached transitively via babel, so no direct dependency to
bump. Overridden at the workspace root.

Also resyncs the lockfile against nself-org/packages main, which added
eslint + typescript-eslint devDependencies to @nself/tailwind-brand,
@nself-web/csp and @nself-web/og -- pnpm install --frozen-lockfile was
stale against the sibling packages checkout.

Verified by the resolved lockfile version rather than the config:
browserslist now resolves to 4.28.8. CI=true pnpm install
--frozen-lockfile exits 0 at the workspace root. pnpm audit
--audit-level=high exits 0 (2 high findings, both pre-existing ignored
CVEs unrelated to this change).

Also added the override to desktop/package.json for documentation,
though pnpm warns it has no effect there. Discovery (not fixed here,
out of scope): desktop is a workspace member of the root
pnpm-workspace.yaml, so pnpm install run from inside desktop/ walks up
and resolves against the ROOT lockfile -- desktop/pnpm-lock.yaml is
never touched and appears to be a dead file, same pattern already
called out by this repo's own desktop-e2e.yml comment. The other three
desktop-build CI jobs that install with working-directory: nclaw/desktop
are therefore already exercising the root lockfile fixed here.
@acamarata
acamarata merged commit 04cd145 into main Sep 1, 2026
15 checks passed
@acamarata
acamarata deleted the fix/browserslist-ghsa-c83g-rgw3-j3cx branch September 1, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant