Skip to content

Commit test lockfiles, run CI with npm ci and check the app importmap - #323

Merged
javiertuya merged 1 commit into
mainfrom
node-lockfile-tests-ci
Jul 27, 2026
Merged

Commit test lockfiles, run CI with npm ci and check the app importmap#323
javiertuya merged 1 commit into
mainfrom
node-lockfile-tests-ci

Conversation

@javiertuya

Copy link
Copy Markdown
Owner

Third batch of the Node.js lockfile policy, covering the test/CI directories of dashgit-web. Follows #322 (oauth-exchange).

  • Lockfiles for dashgit-web/test and dashgit-web/e2e: they were explicitly ignored, which left both directories invisible to the dependency graph — a vulnerability in a transitive dependency produced neither alert nor PR. Removing them from .gitignore and committing the locks is what enables Dependabot security updates there.
  • CI runs with npm ci in test-ut and test-e2e, with the Node version taken from .nvmrc and the npm cache keyed by the lockfile. The manifests are declared as they should be: private, engines, and the test dependencies moved to devDependencies.
  • dashgit-web/app keeps its exception (declarative manifest, no lockfile, never installed). Its purpose is now documented in the manifest itself, and TestImportmap.js fails if the versions Dependabot bumps in app/package.json stop matching the ones pinned in the index.html importmap — the manual step that until now could be forgotten silently.

Notes

  • versioning-strategy: increase is added to both npm entries of dependabot.yml: the default auto heuristic classifies a manifest as application or library by guessing, and it is not reliable here.
  • The open Dependabot PR for dashgit-web/test (sinon) predates the lockfile and will need a rebase after this merges.
  • Adding bootstrap, jQuery and crypto-js to the app manifest (they are CDN-loaded with SRI hashes, so they are not watched today) is deliberately left out of this PR.

🤖 Generated with Claude Code

- commit the lockfiles of dashgit-web/test and e2e (they were ignored), so
  the dependency graph sees the transitive tree and security updates work
- run both test jobs with npm ci, pinning the Node version from .nvmrc and
  caching by lockfile; declare the manifests (private, engines, dev deps)
- guard the app manifest, which stays without lockfile on purpose: document
  why in package.json and add a test that fails if the versions declared for
  dependabot and the ones pinned in the index.html importmap diverge

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@javiertuya
javiertuya merged commit 89c8e9e into main Jul 27, 2026
12 checks passed
@javiertuya
javiertuya deleted the node-lockfile-tests-ci branch July 27, 2026 15:11
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