Skip to content

Commit 3d6990a

Browse files
committed
Bring dependencies current and patch brace expansion
Upgrade fflate across the app and filter workspace, retain the brace-expansion 5.0.7 security fix, and record the zero-outdated/zero-audit verification. Plan: docs/plan/063-dependency-refresh.md
1 parent 6e08437 commit 3d6990a

4 files changed

Lines changed: 55 additions & 10 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# 063 - Dependency refresh
2+
3+
## Goal
4+
5+
Bring every root and workspace dependency to the latest version reported by
6+
the npm registry on 2026-07-21, preserve the local workspace link, and retain
7+
the `brace-expansion` security patch from Dependabot alert 353.
8+
9+
## Inventory
10+
11+
`npm outdated --workspaces --include-workspace-root` reports one outdated
12+
direct dependency:
13+
14+
- `fflate`: 0.8.2 → 0.8.3, used by both the root application and
15+
`@gyng/ditherer-filters` workspace.
16+
17+
All other direct production and development dependencies are already at their
18+
latest published versions. The root `@gyng/ditherer-filters@0.2.0` dependency
19+
resolves to the local workspace and is not an external package to upgrade.
20+
21+
## Implementation
22+
23+
1. Raise both `fflate` declarations from `^0.8.2` to `^0.8.3`.
24+
2. Regenerate the workspace lockfile and installed dependency tree.
25+
3. Verify the lockfile retains patched `brace-expansion@5.0.7`.
26+
27+
## Verification
28+
29+
- npm reports no outdated direct dependencies across the root and workspace.
30+
- `npm audit` reports zero vulnerabilities.
31+
- TypeScript, ESLint, Vitest, production build, and packed-library consumer
32+
validation pass.
33+
- `git diff --check` passes.
34+
35+
## Result
36+
37+
- Root and workspace manifests now require `fflate@^0.8.3`; the installed and
38+
locked graph deduplicates both consumers to `fflate@0.8.3`.
39+
- Patched `brace-expansion@5.0.7` remains in the lockfile, resolving GitHub
40+
Dependabot alert 353 once the change reaches the default branch.
41+
- `npm outdated --workspaces --include-workspace-root` returns no packages and
42+
`npm audit` reports zero vulnerabilities.
43+
- TypeScript, ESLint, 1,775 Vitest tests, the production build and chunk budget,
44+
package generation/type emission/tarball install/selective-bundle checks,
45+
and the packed consumer Chromium smoke test all pass.

package-lock.json

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"@gyng/ditherer-filters": "0.2.0",
4141
"@radix-ui/react-popover": "^1.1.15",
4242
"cmdk": "^1.1.1",
43-
"fflate": "^0.8.2",
43+
"fflate": "^0.8.3",
4444
"modern-gif": "^2.0.4",
4545
"mp4box": "^2.3.0",
4646
"react": "^19.2.4",

packages/ditherer-filters/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
"validate:release": "node scripts/validate-release.mjs"
6969
},
7070
"devDependencies": {
71-
"fflate": "^0.8.2"
71+
"fflate": "^0.8.3"
7272
},
7373
"engines": {
7474
"node": ">=20.19"

0 commit comments

Comments
 (0)