fix: avoid lockfile churn during doctor install

This commit is contained in:
Mikael Hugo 2026-05-05 20:24:30 +02:00
parent 8fd48a5ad6
commit 22fa995500
9 changed files with 15 additions and 9 deletions

View file

@ -1,4 +1,4 @@
<!-- sf-doc: version=2.75.2 template=docs/FRONTEND.md state=pending hash=sha256:03087953d690c9902d35297720d1482262c1610e3050084f891db3be711571ef -->
<!-- sf-doc: version=2.75.3 template=docs/FRONTEND.md state=pending hash=sha256:03087953d690c9902d35297720d1482262c1610e3050084f891db3be711571ef -->
# Frontend
Record frontend architecture, component ownership, accessibility constraints, and browser support here.

View file

@ -1,4 +1,4 @@
<!-- sf-doc: version=2.75.2 template=docs/RECORDS_KEEPER.md state=pending hash=sha256:3872de9cd72bd9129814a5e77e3b86abe76bef33f3ca34e04ae7582b4cfd066a -->
<!-- sf-doc: version=2.75.3 template=docs/RECORDS_KEEPER.md state=pending hash=sha256:3872de9cd72bd9129814a5e77e3b86abe76bef33f3ca34e04ae7582b4cfd066a -->
# 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.

View file

@ -1,4 +1,4 @@
<!-- sf-doc: version=2.75.2 template=docs/generated/db-schema.md state=pending hash=sha256:8488a607c1a2981654a3b030600d2e10627d132ebd0c75700648a08dede93368 -->
<!-- sf-doc: version=2.75.3 template=docs/generated/db-schema.md state=pending hash=sha256:8488a607c1a2981654a3b030600d2e10627d132ebd0c75700648a08dede93368 -->
# Database Schema
Generated or refreshed schema notes belong here. Do not hand-maintain stale schema copies.

View file

@ -1,4 +1,4 @@
<!-- sf-doc: version=2.75.2 template=docs/product-specs/index.md state=pending hash=sha256:ca3477e8d74fe277a2e0b2cdb3f03c235e294015a6ece2f571a82acc7475d31c -->
<!-- sf-doc: version=2.75.3 template=docs/product-specs/index.md state=pending hash=sha256:ca3477e8d74fe277a2e0b2cdb3f03c235e294015a6ece2f571a82acc7475d31c -->
# Product Specs
Durable user-facing behavior, workflows, and product decisions live here.

View file

@ -1,2 +1,2 @@
<!-- sf-doc: version=2.75.2 template=docs/references/design-system-reference-llms.txt state=pending hash=sha256:5a5a35a3f80c8b4433ad30c1f155b1e8c7fd245ce2a3def9627daa9f40854eb3 -->
<!-- sf-doc: version=2.75.3 template=docs/references/design-system-reference-llms.txt state=pending hash=sha256:5a5a35a3f80c8b4433ad30c1f155b1e8c7fd245ce2a3def9627daa9f40854eb3 -->
Reference slot for design-system guidance intended for LLM consumption.

View file

@ -1,2 +1,2 @@
<!-- sf-doc: version=2.75.2 template=docs/references/nixpacks-llms.txt state=pending hash=sha256:22f9a8549e3ced71d0b0a912c6dcdfb2ec83a573168ee1b44ca266f1eb0307bf -->
<!-- sf-doc: version=2.75.3 template=docs/references/nixpacks-llms.txt state=pending hash=sha256:22f9a8549e3ced71d0b0a912c6dcdfb2ec83a573168ee1b44ca266f1eb0307bf -->
Reference slot for Nixpacks deployment/build guidance intended for LLM consumption.

View file

@ -1,2 +1,2 @@
<!-- sf-doc: version=2.75.2 template=docs/references/uv-llms.txt state=pending hash=sha256:e8a998667c0f830a15b68e207f6b69e6377dd7e82728833f842678f72864e9b6 -->
<!-- sf-doc: version=2.75.3 template=docs/references/uv-llms.txt state=pending hash=sha256:e8a998667c0f830a15b68e207f6b69e6377dd7e82728833f842678f72864e9b6 -->
Reference slot for uv/Python tooling guidance intended for LLM consumption.

View file

@ -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")))

View file

@ -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;
}