Context
Part of the review-stack architecture audit (parent epic — dead-code dimension). Verified by grepping
imports/requires across source, tests, config, scripts, Dockerfile, and .github/workflows/** — these
have zero real usage.
| Package |
File:line |
Note |
node-addon-api |
root package.json:119 (devDependency, ^8.9.0) |
Zero real usage; the only repo hits are a detection-regex string literal in review-enrichment/src/analyzers/native-build.ts (matches this string in other people's PRs, unrelated to this package being used). No binding.gyp anywhere. Traces to the original scaffolding commit. |
node-gyp |
root package.json:120 (devDependency, ^12.4.0) |
Same situation — same scaffolding origin, same unrelated detection-regex false trail, zero script/workflow/Dockerfile invocation. |
@hookform/resolvers |
apps/gittensory-ui/package.json:23 (dependency, ^5.4.0) |
react-hook-form itself is used (src/components/ui/form.tsx), but its useForm() call has no resolver option wired up, and hookform/resolvers has zero other hits anywhere in that app. |
Checked but correctly not flagged: @sentry/cli (review-enrichment) — invoked indirectly via
node_modules/.bin/sentry-cli in upload-sourcemaps.ts, not by package-name string.
@testing-library/dom (both UI apps) — real peer dependency of @testing-library/react.
Fix
Remove all 3 from their respective package.json files, run npm install to regenerate lockfiles,
confirm npm audit and the full build still pass.
Acceptance criteria
Context
Part of the review-stack architecture audit (parent epic — dead-code dimension). Verified by grepping
imports/requires across source, tests, config, scripts, Dockerfile, and
.github/workflows/**— thesehave zero real usage.
node-addon-apipackage.json:119(devDependency,^8.9.0)review-enrichment/src/analyzers/native-build.ts(matches this string in other people's PRs, unrelated to this package being used). Nobinding.gypanywhere. Traces to the original scaffolding commit.node-gyppackage.json:120(devDependency,^12.4.0)@hookform/resolversapps/gittensory-ui/package.json:23(dependency,^5.4.0)react-hook-formitself is used (src/components/ui/form.tsx), but itsuseForm()call has noresolveroption wired up, andhookform/resolvershas zero other hits anywhere in that app.Checked but correctly not flagged:
@sentry/cli(review-enrichment) — invoked indirectly vianode_modules/.bin/sentry-cliinupload-sourcemaps.ts, not by package-name string.@testing-library/dom(both UI apps) — real peer dependency of@testing-library/react.Fix
Remove all 3 from their respective
package.jsonfiles, runnpm installto regenerate lockfiles,confirm
npm auditand the full build still pass.Acceptance criteria
package.json/review-enrichment/package.jsonand lockfilesregenerated.
npm run buildequivalent for both the root app andapps/gittensory-ui) stillpasses.