chore: untrack dashboard-frontend/node_modules (#141)

The repo's blanket `dist/` .gitignore rule (line 19, inherited from the
Python template) matches directories named `dist` at any depth with no
leading slash, so it silently excluded node_modules/<pkg>/dist/ for every
package whose build output lives there. 21 packages (including
react-router) declare main/module pointing into dist/, so the committed
node_modules was non-functional -- e.g. require.resolve('react-router')
threw MODULE_NOT_FOUND against the tracked copy.

work/Dockerfile already runs `npm ci && npm run build` in its build stage,
so production was never affected by this -- the committed copy was pure
dead weight (8,619 of 9,232 tracked files, 93% of the repo).

package-lock.json is tracked, making `npm ci` fully reproducible, so this
untracks node_modules/ (added a `node_modules/` ignore rule to .gitignore)
rather than trying to fix or narrow the dist/ rule.

History is NOT rewritten -- the old blobs remain reachable via prior
commits, so clone size is unchanged. This only stops new commits from
re-adding node_modules going forward.

Co-authored-by: Matt Johnson <mj@k7zvx.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
malice 2026-07-17 14:06:03 -06:00 committed by GitHub
commit f4b717f351
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8620 changed files with 3 additions and 1587900 deletions

3
.gitignore vendored
View file

@ -61,6 +61,9 @@ config.yaml
# Frontend build output (built in Docker via multi-stage)
meshai/dashboard/static/
# Node (frontend deps, reinstalled via package-lock.json / npm ci)
node_modules/
# OS
.DS_Store