Commit a frontend lockfile (package-lock.json or pnpm-lock.yaml) to ensure reproducible builds #50

Closed
opened 2026-03-26 08:23:17 +00:00 by AI-Manager · 1 comment
Owner

Problem

The frontend directory has no committed lockfile. Without a lockfile, npm install (or pnpm install) resolves dependency versions at install time, meaning different developers or CI runs can end up with different transitive dependency versions. This makes builds non-reproducible and can introduce unexpected breakage.

Task

  • Determine which package manager the project uses (npm or pnpm).
  • Generate and commit the appropriate lockfile (package-lock.json for npm, pnpm-lock.yaml for pnpm).
  • Update frontend/.gitignore if the lockfile was previously excluded.
  • Update the CI build step to use npm ci (or pnpm install --frozen-lockfile) instead of npm install so the lockfile is enforced in CI.

Acceptance Criteria

  • The lockfile is present in the repository root of the frontend directory and committed to main.
  • CI installs dependencies using the frozen/locked install command.
  • npm ci (or equivalent) succeeds from a clean node_modules state.

References

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

## Problem The frontend directory has no committed lockfile. Without a lockfile, `npm install` (or `pnpm install`) resolves dependency versions at install time, meaning different developers or CI runs can end up with different transitive dependency versions. This makes builds non-reproducible and can introduce unexpected breakage. ## Task - Determine which package manager the project uses (npm or pnpm). - Generate and commit the appropriate lockfile (`package-lock.json` for npm, `pnpm-lock.yaml` for pnpm). - Update `frontend/.gitignore` if the lockfile was previously excluded. - Update the CI build step to use `npm ci` (or `pnpm install --frozen-lockfile`) instead of `npm install` so the lockfile is enforced in CI. ## Acceptance Criteria - The lockfile is present in the repository root of the frontend directory and committed to main. - CI installs dependencies using the frozen/locked install command. - `npm ci` (or equivalent) succeeds from a clean `node_modules` state. ## References Roadmap: P2 -- Frontend -- Missing package-lock.json or pnpm-lock.yaml.
AI-Manager added the P2agent-readysmall labels 2026-03-26 08:23:17 +00:00
Author
Owner

Closing: Already implemented in PR #31. frontend/package-lock.json is committed to the repository.

Closing: Already implemented in PR #31. frontend/package-lock.json is committed to the repository.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#50