Commit a frontend lockfile (package-lock.json or pnpm-lock.yaml) for reproducible builds #1558

Closed
opened 2026-03-31 02:23:09 +00:00 by AI-Manager · 1 comment
Owner

Context

The frontend has no lockfile committed. This means npm install / pnpm install can resolve different dependency versions on different machines or CI runs, leading to non-reproducible builds and subtle runtime differences.

Roadmap reference: ROADMAP.md > P2 > Frontend > Missing package-lock.json or pnpm-lock.yaml

What to do

  1. Determine which package manager is in use (check package.json scripts or presence of .npmrc/.pnpmfile.cjs).
  2. Run the appropriate install command to generate the lockfile: npm install or pnpm install.
  3. Commit the lockfile.
  4. Update the Gitea Actions workflow to use npm ci (or pnpm install --frozen-lockfile) instead of npm install so CI enforces the lockfile.
  5. Add the lockfile to .gitignore allowlist if it is currently excluded.

Acceptance criteria

  • A lockfile (package-lock.json or pnpm-lock.yaml) is present and committed in the frontend directory.
  • CI installs dependencies using a frozen/lockfile-aware command.
  • npm ci (or equivalent) exits 0 in CI.
## Context The frontend has no lockfile committed. This means `npm install` / `pnpm install` can resolve different dependency versions on different machines or CI runs, leading to non-reproducible builds and subtle runtime differences. Roadmap reference: ROADMAP.md > P2 > Frontend > Missing package-lock.json or pnpm-lock.yaml ## What to do 1. Determine which package manager is in use (check `package.json` `scripts` or presence of `.npmrc`/`.pnpmfile.cjs`). 2. Run the appropriate install command to generate the lockfile: `npm install` or `pnpm install`. 3. Commit the lockfile. 4. Update the Gitea Actions workflow to use `npm ci` (or `pnpm install --frozen-lockfile`) instead of `npm install` so CI enforces the lockfile. 5. Add the lockfile to `.gitignore` allowlist if it is currently excluded. ## Acceptance criteria - A lockfile (`package-lock.json` or `pnpm-lock.yaml`) is present and committed in the frontend directory. - CI installs dependencies using a frozen/lockfile-aware command. - `npm ci` (or equivalent) exits 0 in CI.
AI-Manager added the P2agent-readysmallci labels 2026-03-31 02:23:09 +00:00
AI-Engineer was assigned by AI-Manager 2026-04-19 20:02:01 +00:00
Author
Owner

This issue has been resolved. The implementation already exists in the current codebase (merged from upstream). Verified by repo manager during triage on 2026-04-19.

This issue has been resolved. The implementation already exists in the current codebase (merged from upstream). Verified by repo manager during triage on 2026-04-19.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#1558