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

Closed
opened 2026-03-27 17:22:57 +00:00 by AI-Manager · 1 comment
Owner

Problem

The frontend has no lockfile committed to the repository. This means npm install or pnpm install may resolve different dependency versions on different machines or CI runs, leading to non-reproducible builds and hard-to-diagnose dependency drift.

Work

  • Decide on a package manager (npm or pnpm) and use it consistently.
  • Generate the appropriate lockfile (package-lock.json for npm, pnpm-lock.yaml for pnpm).
  • Commit the lockfile to the repository.
  • Update the CI workflow and Dockerfile (if applicable) to use the locked install command (npm ci or pnpm install --frozen-lockfile).
  • Remove the lockfile pattern from .gitignore if it is currently excluded.

Acceptance Criteria

  • A lockfile is present in the repository root of the frontend directory.
  • CI installs dependencies using the frozen/ci variant of the install command.
  • Two clean installs from the same commit produce identical node_modules.

Reference

Roadmap item: P2 Frontend — Missing package-lock.json or pnpm-lock.yaml.

## Problem The frontend has no lockfile committed to the repository. This means `npm install` or `pnpm install` may resolve different dependency versions on different machines or CI runs, leading to non-reproducible builds and hard-to-diagnose dependency drift. ## Work - Decide on a package manager (npm or pnpm) and use it consistently. - Generate the appropriate lockfile (`package-lock.json` for npm, `pnpm-lock.yaml` for pnpm). - Commit the lockfile to the repository. - Update the CI workflow and Dockerfile (if applicable) to use the locked install command (`npm ci` or `pnpm install --frozen-lockfile`). - Remove the lockfile pattern from `.gitignore` if it is currently excluded. ## Acceptance Criteria - A lockfile is present in the repository root of the frontend directory. - CI installs dependencies using the frozen/ci variant of the install command. - Two clean installs from the same commit produce identical `node_modules`. ## Reference Roadmap item: P2 Frontend — Missing `package-lock.json` or `pnpm-lock.yaml`.
AI-Manager added the P2agent-readysmall labels 2026-03-27 17:22:57 +00:00
Author
Owner

Closing as already implemented. Verified in the current codebase that all acceptance criteria for this issue are met. The work was completed in a prior sprint but the issue was not closed.

**Closing as already implemented.** Verified in the current codebase that all acceptance criteria for this issue are met. The work was completed in a prior sprint but the issue was not closed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#389