From 22fa995500bdb062fe43ebdc8ce526d2806867e3 Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Tue, 5 May 2026 20:24:30 +0200 Subject: [PATCH] fix: avoid lockfile churn during doctor install --- docs/FRONTEND.md | 2 +- docs/RECORDS_KEEPER.md | 2 +- docs/generated/db-schema.md | 2 +- docs/product-specs/index.md | 2 +- docs/references/design-system-reference-llms.txt | 2 +- docs/references/nixpacks-llms.txt | 2 +- docs/references/uv-llms.txt | 2 +- src/resources/extensions/sf/doctor-environment.js | 6 +++++- .../extensions/sf/tests/doctor-environment-fix.test.mjs | 4 +++- 9 files changed, 15 insertions(+), 9 deletions(-) diff --git a/docs/FRONTEND.md b/docs/FRONTEND.md index 5c881b1b0..0a293d633 100644 --- a/docs/FRONTEND.md +++ b/docs/FRONTEND.md @@ -1,4 +1,4 @@ - + # Frontend Record frontend architecture, component ownership, accessibility constraints, and browser support here. diff --git a/docs/RECORDS_KEEPER.md b/docs/RECORDS_KEEPER.md index 6c377bd93..d3992aa83 100644 --- a/docs/RECORDS_KEEPER.md +++ b/docs/RECORDS_KEEPER.md @@ -1,4 +1,4 @@ - + # Records Keeper The records keeper keeps repo memory ordered after meaningful changes. Run this checklist at milestone close, after architecture changes, after product behavior changes, and whenever docs/source disagree. diff --git a/docs/generated/db-schema.md b/docs/generated/db-schema.md index 44b21b58e..7de63e6ac 100644 --- a/docs/generated/db-schema.md +++ b/docs/generated/db-schema.md @@ -1,4 +1,4 @@ - + # Database Schema Generated or refreshed schema notes belong here. Do not hand-maintain stale schema copies. diff --git a/docs/product-specs/index.md b/docs/product-specs/index.md index 1504570f4..73d9c544e 100644 --- a/docs/product-specs/index.md +++ b/docs/product-specs/index.md @@ -1,4 +1,4 @@ - + # Product Specs Durable user-facing behavior, workflows, and product decisions live here. diff --git a/docs/references/design-system-reference-llms.txt b/docs/references/design-system-reference-llms.txt index 05f2a2fa4..412ecec16 100644 --- a/docs/references/design-system-reference-llms.txt +++ b/docs/references/design-system-reference-llms.txt @@ -1,2 +1,2 @@ - + Reference slot for design-system guidance intended for LLM consumption. diff --git a/docs/references/nixpacks-llms.txt b/docs/references/nixpacks-llms.txt index 0b07803f2..1c0e4e8fa 100644 --- a/docs/references/nixpacks-llms.txt +++ b/docs/references/nixpacks-llms.txt @@ -1,2 +1,2 @@ - + Reference slot for Nixpacks deployment/build guidance intended for LLM consumption. diff --git a/docs/references/uv-llms.txt b/docs/references/uv-llms.txt index d346475a4..f81049ee3 100644 --- a/docs/references/uv-llms.txt +++ b/docs/references/uv-llms.txt @@ -1,2 +1,2 @@ - + Reference slot for uv/Python tooling guidance intended for LLM consumption. diff --git a/src/resources/extensions/sf/doctor-environment.js b/src/resources/extensions/sf/doctor-environment.js index dd8d4cb66..08d16fb34 100644 --- a/src/resources/extensions/sf/doctor-environment.js +++ b/src/resources/extensions/sf/doctor-environment.js @@ -59,7 +59,11 @@ function commandExists(name, cwd) { } function detectNodePackageManager(basePath) { if (existsSync(join(basePath, "package-lock.json"))) - return { name: "npm", args: ["install"], command: "npm install" }; + return { + name: "npm", + args: ["install", "--package-lock=false"], + command: "npm install --package-lock=false", + }; if (existsSync(join(basePath, "pnpm-lock.yaml"))) return { name: "pnpm", args: ["install"], command: "pnpm install" }; if (existsSync(join(basePath, "yarn.lock"))) diff --git a/src/resources/extensions/sf/tests/doctor-environment-fix.test.mjs b/src/resources/extensions/sf/tests/doctor-environment-fix.test.mjs index 34bb63f15..0b7aeaebb 100644 --- a/src/resources/extensions/sf/tests/doctor-environment-fix.test.mjs +++ b/src/resources/extensions/sf/tests/doctor-environment-fix.test.mjs @@ -75,7 +75,9 @@ describe("doctor environment dependency fixes", () => { existsSync(join(project, "node_modules", ".package-lock.json")), true, ); - assert.deepEqual(fixesApplied, ["dependencies: ran npm install"]); + assert.deepEqual(fixesApplied, [ + "dependencies: ran npm install --package-lock=false", + ]); } finally { process.env.PATH = originalPath; }