fix: pre-commit stages only originally-staged files; add .npmrc (#538)

Bug 1: .husky/pre-commit line 21 ran:
  git diff --name-only --diff-filter=M | xargs -r git add
which stages EVERY modified tracked file in the worktree. If a
contributor has unstaged WIP elsewhere, it gets silently swept
into the commit.

Fix: capture `git diff --name-only --cached` before running
build/prettier, then only re-add that set. src/generated/ is
staged explicitly since build:all regenerates it from
spec.types.ts.

Bug 2: no repo-local .npmrc meant the maintainer's global
artifactory registry leaked into package-lock.json, requiring
the Docker regen dance. Committing .npmrc with
registry=https://registry.npmjs.org/ overrides user-global
config. Docker regen is now optional (still useful for
linux-amd64 optionalDeps).
This commit is contained in:
Olivier Chafik 2026-03-06 17:22:25 +00:00 • committed by GitHub
commit 7eb72c7b4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

1
.npmrc Normal file
View file

@ -0,0 +1 @@
registry=https://registry.npmjs.org/