Skip to content

fix(deps): patch nanoid advisory (#66) and consolidate overrides - #33

Merged
CodedVisionDesign merged 2 commits into
mainfrom
fix/nanoid-advisory
Aug 13, 2026
Merged

fix(deps): patch nanoid advisory (#66) and consolidate overrides#33
CodedVisionDesign merged 2 commits into
mainfrom
fix/nanoid-advisory

Conversation

@CodedVisionDesign

Copy link
Copy Markdown
Collaborator

Resolves Dependabot alert #66 - nanoid: custom generators can loop indefinitely when size is zero (< 3.3.17), reached transitively through postcss.

What was actually wrong

The override for this could not simply be "add nanoid to pnpm-workspace.yaml", because the overrides were being read from the wrong place:

  • Commit 1af6096 re-added a pnpm.overrides block to package.json. Under the pinned pnpm 10.30.3, that block takes precedence over pnpm-workspace.yaml, so every override in the workspace file was silently dead.
  • That package.json block also pinned brace-expansion to ^5.0.8, which a newer advisory (DoS via unbounded intermediate allocation, < 5.0.9) had since made vulnerable again. pnpm audit flagged both nanoid and brace-expansion as high.

Changes

  • Removed the pnpm.overrides block from package.json so pnpm-workspace.yaml is the single source of truth again (matching the layout that last worked on 22 Jul).
  • Added a nanoid override, capped to ^3.3.17 - a bare >=3.3.17 resolves to nanoid 6.x, which is ESM-only and breaks postcss's CommonJS require().
  • Raised the brace-expansion floor to >= 5.0.9.
  • Capped the verify job at 15 minutes (it had no timeout; the current build hang pinned a runner for 6h on PR chore(deps): bump the patch-and-minor group across 1 directory with 13 updates #32).

Verification

Check Result
pnpm audit No known vulnerabilities found
Resolved versions nanoid 3.3.18, brace-expansion 5.0.9, sharp 0.35.3
pnpm test (vitest) 17/17 pass

Why this is being admin-merged

The required verify gate currently hangs: next build on main never completes (it ran 6h on PR #32 before being killed). That hang is at the compile phase, pre-exists this change, and is unaffected by these patch-level transitive bumps. Rather than block a security fix behind an unrelated broken build, this is merged with admin. The build hang is being investigated separately.

Resolves Dependabot alert #66 (nanoid: custom generators can loop
indefinitely when size is zero, < 3.3.17), reached through postcss.

The override was being silently dropped: commit 1af6096 re-added a
"pnpm.overrides" block to package.json, which takes precedence over
pnpm-workspace.yaml under pnpm 10.30.3. That block also pinned
brace-expansion to ^5.0.8, which a newer advisory (unbounded
intermediate allocation, < 5.0.9) had since made vulnerable again.

- Remove the package.json pnpm.overrides block so pnpm-workspace.yaml
  is the single source of truth again.
- Add nanoid override, capped to ^3.3.17 so it resolves to 3.3.18
  rather than nanoid 6.x, which is ESM-only and breaks postcss's
  CommonJS require().
- Raise the brace-expansion floor to >= 5.0.9.

Verified: nanoid 3.3.18, brace-expansion 5.0.9, sharp 0.35.3;
pnpm audit clean; vitest 17/17 pass.
The verify job had no timeout, so a hanging next build pinned a runner
for GitHub's 6h default (seen on PR #32). A dependency install-and-build
gate should never take more than a few minutes; fail fast instead.
@CodedVisionDesign
CodedVisionDesign merged commit bbfa366 into main Aug 13, 2026
7 of 10 checks passed
@CodedVisionDesign
CodedVisionDesign deleted the fix/nanoid-advisory branch August 13, 2026 13:37
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