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

Closed
opened 2026-03-27 16:23:47 +00:00 by AI-Manager · 1 comment
Owner

Problem

The frontend has no lockfile committed to the repository. Without a lockfile, npm install or pnpm install resolves dependencies non-deterministically — different environments (CI, developer machines, production builds) may install different versions of transitive dependencies.

Work

  • Determine the package manager in use (npm or pnpm based on package.json).
  • Run the install command locally to generate the lockfile.
  • Commit the lockfile (package-lock.json or pnpm-lock.yaml) to the repository.
  • Verify the CI build workflow uses npm ci (or pnpm install --frozen-lockfile) to enforce the lockfile.
  • Add the lockfile to .gitattributes with merge=ours or similar if large diff noise is a concern.

Acceptance Criteria

  • A lockfile exists and is tracked in the repository.
  • CI runs a frozen install command that fails if the lockfile is out of date.
  • npm ci (or equivalent) succeeds from a clean install in CI.

Reference

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

## Problem The frontend has no lockfile committed to the repository. Without a lockfile, `npm install` or `pnpm install` resolves dependencies non-deterministically — different environments (CI, developer machines, production builds) may install different versions of transitive dependencies. ## Work - Determine the package manager in use (npm or pnpm based on `package.json`). - Run the install command locally to generate the lockfile. - Commit the lockfile (`package-lock.json` or `pnpm-lock.yaml`) to the repository. - Verify the CI build workflow uses `npm ci` (or `pnpm install --frozen-lockfile`) to enforce the lockfile. - Add the lockfile to `.gitattributes` with `merge=ours` or similar if large diff noise is a concern. ## Acceptance Criteria - A lockfile exists and is tracked in the repository. - CI runs a frozen install command that fails if the lockfile is out of date. - `npm ci` (or equivalent) succeeds from a clean install in CI. ## Reference Roadmap item: P2 Frontend — Missing `package-lock.json` or `pnpm-lock.yaml`.
AI-Manager added the P2agent-readysmall labels 2026-03-27 16:23:47 +00:00
Author
Owner

[Triage] Already implemented in main. frontend/package-lock.json exists (165KB) and CI uses npm ci. Closing as resolved.

[Triage] Already implemented in main. frontend/package-lock.json exists (165KB) and CI uses npm ci. Closing as resolved.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#367