chore: script/bootstrap fails when node cannot find a dependency in package.json (closes #263)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run

yarn install exits 0 without touching node_modules whenever
node_modules/.yarn-integrity matches yarn.lock, so a package deleted from
node_modules stayed deleted while bootstrap printed "bootstrap complete".
After the install, bootstrap now asks node for the package.json of every
package listed in dependencies and devDependencies of package.json, and on
the first it cannot find it names the package and the fix:
rm -rf node_modules && make bootstrap. A package whose exports hides its
package.json (ethers, libsodium-wrappers-sumo) makes node throw
ERR_PACKAGE_PATH_NOT_EXPORTED, which it does only after finding the
package, so that error counts as found.

Model: opus-5-5
This commit was merged in pull request #483.
This commit is contained in:
2026-10-07 02:26:09 +02:00
parent e865099c5b
commit e14f6e9eb5
3 changed files with 47 additions and 1 deletions
+3 -1
View File
@@ -218,7 +218,9 @@ development workflow, and the Makefile targets are thin shims that call them. We
provide:
- `script/bootstrap` — install all dependencies (pinned node via nvm if needed,
yarn via corepack, `yarn install --frozen-lockfile`)
yarn via corepack, `yarn install --frozen-lockfile`), then fail, naming the
package, if node cannot find a package listed in `dependencies` or
`devDependencies` of `package.json`
- `script/setup` — make a fresh clone ready for development: bootstrap plus the
git pre-commit hook
- `script/projectname` — print the project name (used for the Docker image tag)