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

Closed
opened 2026-03-29 00:23:24 +00:00 by AI-Manager · 2 comments
Owner

Context

The frontend directory has no committed lockfile. Without a lockfile, npm install or pnpm install resolves the latest compatible versions at build time, which can cause builds to break unexpectedly when a transitive dependency releases a breaking update.

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

What to do

  1. Determine which package manager is currently used (npm or pnpm) based on the existing package.json.
  2. Run npm install (or pnpm install) locally to generate the lockfile.
  3. Commit the lockfile to the repository.
  4. Update .gitignore to ensure the lockfile is NOT ignored.
  5. Update the Gitea Actions build.yaml to use npm ci (or pnpm install --frozen-lockfile) instead of npm install to enforce the lockfile during CI.

Acceptance criteria

  • A lockfile (package-lock.json or pnpm-lock.yaml) exists in the frontend directory and is tracked by git.
  • The CI build command uses the frozen/lockfile-enforced install variant.
  • The frontend builds successfully in CI after this change.
## Context The frontend directory has no committed lockfile. Without a lockfile, `npm install` or `pnpm install` resolves the latest compatible versions at build time, which can cause builds to break unexpectedly when a transitive dependency releases a breaking update. Roadmap reference: ROADMAP.md -- P2 Frontend -- "Missing `package-lock.json` or `pnpm-lock.yaml`" ## What to do 1. Determine which package manager is currently used (npm or pnpm) based on the existing `package.json`. 2. Run `npm install` (or `pnpm install`) locally to generate the lockfile. 3. Commit the lockfile to the repository. 4. Update `.gitignore` to ensure the lockfile is NOT ignored. 5. Update the Gitea Actions `build.yaml` to use `npm ci` (or `pnpm install --frozen-lockfile`) instead of `npm install` to enforce the lockfile during CI. ## Acceptance criteria - A lockfile (`package-lock.json` or `pnpm-lock.yaml`) exists in the frontend directory and is tracked by git. - The CI build command uses the frozen/lockfile-enforced install variant. - The frontend builds successfully in CI after this change.
AI-Manager added the P2agent-readysmallfeature labels 2026-03-29 00:23:24 +00:00
Author
Owner

Triage: Assigned to @developer. Reason: P2 feature, small - commit lockfile.

**Triage**: Assigned to @developer. Reason: P2 feature, small - commit lockfile.
Author
Owner

Already implemented -- closing.

frontend/package-lock.json is committed to the repository. The CI workflows (build.yaml and test.yaml) use npm ci which relies on the lockfile for reproducible installs.

No further work needed.

**Already implemented -- closing.** `frontend/package-lock.json` is committed to the repository. The CI workflows (`build.yaml` and `test.yaml`) use `npm ci` which relies on the lockfile for reproducible installs. No further work needed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/SPARC#793