Skip to content

chore(deps): update dependencies and tidy pnpm config - #171

Merged
StephenTangCook merged 2 commits into
mainfrom
claude/npm-hygiene-deps-d4277d
Aug 4, 2026
Merged

chore(deps): update dependencies and tidy pnpm config#171
StephenTangCook merged 2 commits into
mainfrom
claude/npm-hygiene-deps-d4277d

Conversation

@StephenTangCook

@StephenTangCook StephenTangCook commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps all root and demo dependencies to their latest non-breaking versions, and cleans up a few bits of pnpm/biome config that had drifted.

Why

Routine dependency hygiene. Two moderate undici advisories were still open against the lockfile, the biome config was on an older schema than the installed CLI, and every pnpm install printed an ignored-build-scripts warning that nobody had ever resolved.

Dependency bumps (all in-range / non-breaking):

  • @tightknitai/slack-block-kit-validator 0.1.11 to 0.1.12
  • @tiptap/* 3.28.0 to 3.29.2, storybook 10.5.5 to 10.5.6, playwright 1.62.0 to 1.62.1, nanoid 5.1.11 to 5.1.16, @types/react to 19.2.18, @types/react-dom to 19.2.4
  • Declared ranges tightened to match what was already resolving (biome 2.5.6, radix, vitest 4.1.10, vite 8.2.0, tailwind 4.3.3)
  • demo/ lockfile updated the same way

Config cleanup:

  • undici override floor ^7.28.0 to ^7.29.0, clearing GHSA-jr45-8vmc-qm54 and GHSA-v3r7-h72x-cjcm. pnpm audit is now clean in both root and demo/.
  • Added pnpm.ignoredBuiltDependencies for @parcel/watcher, esbuild, and lefthook. None of them need their install scripts (esbuild and @parcel/watcher ship prebuilt platform packages; lefthook's bin is a JS shim that resolves the binary at run time), so this only silences the approve-builds prompt.
  • Corrected the esbuild override comment. vite 8.2.0 now asks for ^0.28.1 on its own, so tsup's ^0.27.0 is the only remaining reason the pin exists.
  • Ran biome migrate: the config was on the 2.4.15 schema with the deprecated recommended field while the installed CLI is 2.5.6.

Test plan

  • pnpm typecheck
  • pnpm lint
  • pnpm test (36 files, 442 tests passing)
  • pnpm build:clean
  • pnpm demo:build
  • pnpm audit clean in root and demo/
  • Clean rm -rf node_modules && pnpm install produces no warnings, and node_modules/.bin/lefthook version still reports 2.1.10 with the build script ignored
  • Storybook not spot-checked; no UI or source files changed

Notes for reviewer

One safe-chain override. @tightknitai/slack-block-kit-validator 0.1.12 was published 2026-08-03, so safe-chain's minimum-age filter suppressed it from the registry listing and pnpm outdated never reported it. Confirmed against the raw registry, then installed with --safe-chain-skip-minimum-package-age. The age guard exists to catch freshly-published malicious versions in third-party packages; this is our own first-party package released by release-please from TightknitAI/slack-block-kit-validator, and 0.1.12 is itself an advisory remediation (#64). Flagging it so the override is a reviewed decision rather than a silent one. It is the only package where the guard was bypassed.

Worth noting the filter is a general blind spot: anything published in the last few days will be invisible to pnpm outdated in this repo, so a routine dep sweep can quietly miss recent releases.

Four major bumps were deliberately held back as breaking and are not in this PR: jsdom 30, nanoid 6, typescript 7, @testing-library/jest-dom 7. Worth doing one at a time in follow-ups.

The demo/package.json onlyBuiltDependencies reformat (one line to three) is pnpm rewriting the file, not a hand edit.

🤖 Generated with Claude Code

StephenTangCook and others added 2 commits August 4, 2026 07:42
Bump all root and demo dependencies to their latest non-breaking
versions, and tighten the declared ranges to match.

Hygiene alongside the bump:
- undici override floor -> ^7.29.0, clearing GHSA-jr45-8vmc-qm54 and
  GHSA-v3r7-h72x-cjcm. Both audits are now clean.
- Declare ignoredBuiltDependencies for @parcel/watcher, esbuild, and
  lefthook. None need their install scripts, so this just silences the
  approve-builds warning on every install.
- Correct the esbuild override comment: vite now asks for ^0.28.1 on
  its own, so tsup is the only reason the pin is still needed.
- Run biome migrate for the 2.5.6 schema and the preset field.

Held back as breaking: jsdom 30, nanoid 6, typescript 7,
@testing-library/jest-dom 7.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Patch release remediating Vanta/Dependabot medium advisories in its own
dependency tree (TightknitAI/slack-block-kit-validator#64).

pnpm outdated did not surface it: 0.1.12 was published 2026-08-03 and
safe-chain's minimum-age filter suppressed it from the registry listing.
Confirmed against the raw registry, then installed with
--safe-chain-skip-minimum-package-age. Safe to skip the age guard here
because this is our own first-party package, released by release-please
from TightknitAI/slack-block-kit-validator.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@StephenTangCook
StephenTangCook merged commit c56dd33 into main Aug 4, 2026
12 of 13 checks passed
@StephenTangCook
StephenTangCook deleted the claude/npm-hygiene-deps-d4277d branch August 4, 2026 14:50
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