You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,18 @@ The `engines` field in `package.json` (`^22.14.0 || >=24.10.0`) also permits Nod
71
71
-**`@types/node`** is overridden to `^22.0.0` in root `package.json` to prevent transitive dependencies from pulling in a different major version
72
72
-**Renovate** is configured with `allowedVersions: "<23.0.0"` for `@types/node`
73
73
74
+
### Lockfile Regeneration
75
+
76
+
**CRITICAL**: npm has a known bug ([npm/cli#4828](https://github.com/npm/cli/issues/4828)) where running `npm install` with an existing `node_modules` directory prunes optional platform-specific dependencies (e.g. `@tailwindcss/oxide`, `@swc/core`, `@esbuild`) for platforms other than the current machine. This causes CI failures on Linux runners when the lockfile was regenerated on macOS.
77
+
78
+
**Correct method** — always delete both `node_modules` and the lockfile:
**Never** regenerate the lockfile without deleting `node_modules` first. The `validate-lockfile` CI workflow checks that all expected platform variants are present in `package-lock.json`.
85
+
74
86
### Why this matters
75
87
76
88
Running `npm install` on a different Node major version (e.g. Node 25) causes:
Copy file name to clipboardExpand all lines: README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,7 @@ Ready to get started? Check out the [CALM tutorials](https://calm.finos.org/tuto
34
34
|[CALM AI](./calm-ai)|[@rocketstack-matt](https://github.com/rocketstack-matt)| No build, prompt tools only, managed separately to CLI for easier maintenance and broader reuse. |
|[Docs](./docs)|[@rocketstack-matt](https://github.com/rocketstack-matt)|[](https://github.com/finos/architecture-as-code/actions/workflows/s3-docs-sync.yml)[](https://github.com/finos/architecture-as-code/actions/workflows/build-docs.yml)|
38
39
|[CALM VSCode Plugin](./calm-plugins/vscode)|[@LeighFinegold](https://github.com/LeighFinegold), [@rocketstack-matt](https://github.com/rocketstack-matt), [@markscott-ms](https://github.com/markscott-ms)||
0 commit comments