Skip to content

fix(calm-suite): declare @docusaurus/faster as dependency in calmguard-docs#2673

Merged
rocketstack-matt merged 1 commit into
finos:mainfrom
gjs-opsflo:chore/calmguard-docs-faster
Jun 17, 2026
Merged

fix(calm-suite): declare @docusaurus/faster as dependency in calmguard-docs#2673
rocketstack-matt merged 1 commit into
finos:mainfrom
gjs-opsflo:chore/calmguard-docs-faster

Conversation

@gjs-opsflo

Copy link
Copy Markdown
Contributor

Description

The Docusaurus build for calmguard-docs fails on main with:

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@docusaurus/faster'
imported from .../node_modules/@docusaurus/bundler/lib/importFaster.js

Repro on plain origin/main (no local changes):

git checkout main && git pull
npm ci
npm run build --workspace calmguard-docs   # → exit code 1

Root cause: @docusaurus/core@3.10.1's @docusaurus/bundler imports @docusaurus/faster to honour the future.experimental_faster / future.v4 Faster bundler path. calm-suite/calm-guard/docs/docusaurus.config.ts sets future.v4: true, which exercises the importFaster code path, but @docusaurus/faster is not declared in calm-suite/calm-guard/docs/package.json.

Fix

  • Added @docusaurus/faster: ^3.10.1 to calm-suite/calm-guard/docs/package.json (pinned to match the existing @docusaurus/core / @docusaurus/preset-classic).
  • Regenerated root lockfile via incremental npm install @docusaurus/faster@3.10.1 --workspace calmguard-docs --package-lock-only — adds @docusaurus/faster + 4 new transitive deps (@swc/html, swc-loader, @rspack/core, nested @docusaurus/types/commander) without touching any other workspace's resolutions. All 19 rollup platform-specific binaries preserved (validate-lockfile guard upheld).

Verified locally

  • npm ci exits 0
  • npm run build --workspace calmguard-docs exits 0 (was: code 1 on origin/main)

Out of scope / pre-existing

  • npm run build --workspace calmguard (the Next.js app, not docs) fails on origin/main with Error occurred prerendering page "/dashboard". Reproduces identically on plain origin/main with no local changes — pre-existing, unrelated to this fix.

Context

Surfaced while preparing PR #2664 (A2 of Track A #2649 / parent epic #2600) — the calmguard-docs failure showed up on every Track A PR's CI. Fixing it here in a small standalone PR keeps the Track A queue clean rather than bundling it into A1/A2/A3.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)

Affected Components

  • Documentation (docs/)
  • CALMGuard docs (calm-suite/calm-guard/docs/) — Docusaurus build dep
  • Dependencies (lockfile)

Commit Message Format ✅

Single commit, DCO-signed:

  • fix(calm-suite): declare @docusaurus/faster as dependency in calmguard-docs

Testing

  • I have tested my changes locally
  • All existing tests pass (npm test exits 0)
  • npm run build --workspace calmguard-docs exits 0

Checklist

Standalone — does not depend on PR #2661 or PR #2664.

…d-docs

The Docusaurus build for calmguard-docs fails with
`Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@docusaurus/faster'
imported from .../node_modules/@docusaurus/bundler/lib/importFaster.js`.

Root cause: @docusaurus/core 3.10's `@docusaurus/bundler` imports
`@docusaurus/faster` to honour the `future.experimental_faster` /
`future.v4` Faster bundler path. `calm-suite/calm-guard/docs/docusaurus.config.ts`
sets `future.v4: true`, which exercises the importFaster code path, but the
package is not declared in `calm-suite/calm-guard/docs/package.json`.

Fix:
- Add `@docusaurus/faster: ^3.10.1` to `calm-suite/calm-guard/docs/package.json`
  (pinned to match the existing @docusaurus/core / @docusaurus/preset-classic).
- Regenerate root lockfile via incremental `npm install --package-lock-only`
  — adds @docusaurus/faster + its 4 new transitive deps (@swc/html, swc-loader,
  @rspack/core, nested @docusaurus/types/commander) without touching any other
  workspace's resolutions. All 19 rollup platform-specific binaries preserved.

Verified locally:
- `npm ci` exits 0
- `npm run build --workspace calmguard-docs` exits 0 (was: `code 1`)

Surfaced while preparing PR finos#2664 (A2 of Track A finos#2649) — the regression
reproduces identically on plain `origin/main` with no local changes, so it
is pre-existing on `main`, not caused by either Track A PR. Fixing it here
in a small standalone PR keeps the Track A queue clean.

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
@gjs-opsflo gjs-opsflo requested a review from a team as a code owner June 17, 2026 15:15
@rocketstack-matt rocketstack-matt merged commit 0354444 into finos:main Jun 17, 2026
18 of 19 checks passed
YoofiTT96 pushed a commit to YoofiTT96/architecture-as-code that referenced this pull request Jun 17, 2026
…d-docs (finos#2673)

The Docusaurus build for calmguard-docs fails with
`Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@docusaurus/faster'
imported from .../node_modules/@docusaurus/bundler/lib/importFaster.js`.

Root cause: @docusaurus/core 3.10's `@docusaurus/bundler` imports
`@docusaurus/faster` to honour the `future.experimental_faster` /
`future.v4` Faster bundler path. `calm-suite/calm-guard/docs/docusaurus.config.ts`
sets `future.v4: true`, which exercises the importFaster code path, but the
package is not declared in `calm-suite/calm-guard/docs/package.json`.

Fix:
- Add `@docusaurus/faster: ^3.10.1` to `calm-suite/calm-guard/docs/package.json`
  (pinned to match the existing @docusaurus/core / @docusaurus/preset-classic).
- Regenerate root lockfile via incremental `npm install --package-lock-only`
  — adds @docusaurus/faster + its 4 new transitive deps (@swc/html, swc-loader,
  @rspack/core, nested @docusaurus/types/commander) without touching any other
  workspace's resolutions. All 19 rollup platform-specific binaries preserved.

Verified locally:
- `npm ci` exits 0
- `npm run build --workspace calmguard-docs` exits 0 (was: `code 1`)

Surfaced while preparing PR finos#2664 (A2 of Track A finos#2649) — the regression
reproduces identically on plain `origin/main` with no local changes, so it
is pre-existing on `main`, not caused by either Track A PR. Fixing it here
in a small standalone PR keeps the Track A queue clean.

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
gjs-opsflo added a commit to gjs-opsflo/architecture-as-code that referenced this pull request Jun 18, 2026
Lockfile reflects:
- 11 file: -> bare semver "*" workspace deps (calm-core, mcp-server,
  github-action, vscode-extension, web-component, apps/studio)
- calm-suite/calm-studio/packages/calmscript entry removed (directory
  deleted in A1's first commit)
- @docusaurus/faster@3.10.1 retained (added by finos#2673 on main)
- minimatch@10.2.5 hoisted to root (matches main; vsce CJS require works)
- @codemirror/autocomplete@6.20.3 preserved (svelte-codemirror-editor peer)
- All 19 rollup platform-specific optional dependency variants preserved
  (validate-lockfile guard upheld)

Regen method: incremental `npm install --package-lock-only` against the
current origin/main lockfile, then a one-line jq script to remove the
stale `calm-suite/calm-studio/packages/calmscript` entry. Avoids the
known arborist crash on a clean `rm -rf node_modules package-lock.json
&& npm install` flow.

Verified locally:
- `npm ci` exits 0
- `cd calm-suite/calm-studio && npx multi-semantic-release --dry-run` exits 0
  (8 @calmstudio/* packages discovered)
- `npm run package --workspace calm-plugins/vscode` exits 0 (vsce packages
  8.5 MB .vsix)

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
rocketstack-matt added a commit that referenced this pull request Jun 21, 2026
…s to bare workspace (#2661)

* chore(calm-suite): A1 — remove vestigial config and rewrite file: deps to bare workspace

Implements STRUCT-01.

Deletions (7 paths — review fix: calmstudio-workspace manifest kept):
- calm-suite/calm-studio/vercel.json (no Vercel deploy target)
- calm-suite/calm-studio/packages/calmscript/ (DSL stub — not consumed)
- calm-suite/calm-studio/apps/studio/.releaserc.json
- calm-suite/calm-studio/packages/calm-core/.releaserc.json
- calm-suite/calm-studio/packages/extensions/.releaserc.json
- calm-suite/calm-studio/packages/mcp-server/.releaserc.json
- calm-suite/calm-studio/packages/calmscript/.releaserc.json (via dir delete)

Rewrites (11 file: -> bare semver "*" across 6 package.json files):
- packages/calm-core: @finos/calm-models
- packages/mcp-server: @calmstudio/calm-core (deps + devDeps), @finos/calm-models
- packages/github-action: @calmstudio/calm-core, @calmstudio/mcp
- packages/vscode-extension: @calmstudio/mcp
- packages/web-component: @calmstudio/calm-core, @calmstudio/extensions
- apps/studio: @calmstudio/calm-core, @calmstudio/extensions

Trim (1 line):
- calm-suite/calm-studio/package.json (calmstudio-workspace manifest):
  remove `packages/calmscript` entry from workspaces[] (now-deleted directory)

Review fix per @rocketstack-matt feedback on #2661: the calmstudio-workspace
manifest (`calm-suite/calm-studio/package.json`) is KEPT, not deleted, because
.github/workflows/automated-release-calm-studio.yml runs
`npx multi-semantic-release` from `calm-suite/calm-studio/` and relies on
this manifest's workspaces[] array to discover @calmstudio/* packages.
The eventual removal of this manifest is deferred to A3 (#1-03), where it
co-locates with the `git mv calm-suite/* -> root` move and the workflow's
`working-directory: calm-suite/calm-studio` update.

Verified locally:
- `npm ci` exits 0
- `npm run package --workspace calm-plugins/vscode` exits 0 (vsce packages 8.5MB .vsix)
- `cd calm-suite/calm-studio && npx multi-semantic-release --dry-run` exits 0
  (all 8 @calmstudio/* packages discovered via the workspaces[] array)

Lockfile regeneration follows in a separate commit per AGENTS.md ritual.

Signed-off-by: Gourav Shah <gjs@opsflow.sh>

* chore(deps): regenerate lockfile after A1 file: → bare-workspace rewrite

Lockfile reflects:
- 11 file: -> bare semver "*" workspace deps (calm-core, mcp-server,
  github-action, vscode-extension, web-component, apps/studio)
- calm-suite/calm-studio/packages/calmscript entry removed (directory
  deleted in A1's first commit)
- @docusaurus/faster@3.10.1 retained (added by #2673 on main)
- minimatch@10.2.5 hoisted to root (matches main; vsce CJS require works)
- @codemirror/autocomplete@6.20.3 preserved (svelte-codemirror-editor peer)
- All 19 rollup platform-specific optional dependency variants preserved
  (validate-lockfile guard upheld)

Regen method: incremental `npm install --package-lock-only` against the
current origin/main lockfile, then a one-line jq script to remove the
stale `calm-suite/calm-studio/packages/calmscript` entry. Avoids the
known arborist crash on a clean `rm -rf node_modules package-lock.json
&& npm install` flow.

Verified locally:
- `npm ci` exits 0
- `cd calm-suite/calm-studio && npx multi-semantic-release --dry-run` exits 0
  (8 @calmstudio/* packages discovered)
- `npm run package --workspace calm-plugins/vscode` exits 0 (vsce packages
  8.5 MB .vsix)

Signed-off-by: Gourav Shah <gjs@opsflow.sh>

---------

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
Co-authored-by: Matthew Bain <66839492+rocketstack-matt@users.noreply.github.com>
jpgough-ms pushed a commit to jpgough-ms/architecture-as-code that referenced this pull request Jun 22, 2026
…d-docs (finos#2673)

The Docusaurus build for calmguard-docs fails with
`Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@docusaurus/faster'
imported from .../node_modules/@docusaurus/bundler/lib/importFaster.js`.

Root cause: @docusaurus/core 3.10's `@docusaurus/bundler` imports
`@docusaurus/faster` to honour the `future.experimental_faster` /
`future.v4` Faster bundler path. `calm-suite/calm-guard/docs/docusaurus.config.ts`
sets `future.v4: true`, which exercises the importFaster code path, but the
package is not declared in `calm-suite/calm-guard/docs/package.json`.

Fix:
- Add `@docusaurus/faster: ^3.10.1` to `calm-suite/calm-guard/docs/package.json`
  (pinned to match the existing @docusaurus/core / @docusaurus/preset-classic).
- Regenerate root lockfile via incremental `npm install --package-lock-only`
  — adds @docusaurus/faster + its 4 new transitive deps (@swc/html, swc-loader,
  @rspack/core, nested @docusaurus/types/commander) without touching any other
  workspace's resolutions. All 19 rollup platform-specific binaries preserved.

Verified locally:
- `npm ci` exits 0
- `npm run build --workspace calmguard-docs` exits 0 (was: `code 1`)

Surfaced while preparing PR finos#2664 (A2 of Track A finos#2649) — the regression
reproduces identically on plain `origin/main` with no local changes, so it
is pre-existing on `main`, not caused by either Track A PR. Fixing it here
in a small standalone PR keeps the Track A queue clean.

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
jpgough-ms pushed a commit to jpgough-ms/architecture-as-code that referenced this pull request Jun 22, 2026
…s to bare workspace (finos#2661)

* chore(calm-suite): A1 — remove vestigial config and rewrite file: deps to bare workspace

Implements STRUCT-01.

Deletions (7 paths — review fix: calmstudio-workspace manifest kept):
- calm-suite/calm-studio/vercel.json (no Vercel deploy target)
- calm-suite/calm-studio/packages/calmscript/ (DSL stub — not consumed)
- calm-suite/calm-studio/apps/studio/.releaserc.json
- calm-suite/calm-studio/packages/calm-core/.releaserc.json
- calm-suite/calm-studio/packages/extensions/.releaserc.json
- calm-suite/calm-studio/packages/mcp-server/.releaserc.json
- calm-suite/calm-studio/packages/calmscript/.releaserc.json (via dir delete)

Rewrites (11 file: -> bare semver "*" across 6 package.json files):
- packages/calm-core: @finos/calm-models
- packages/mcp-server: @calmstudio/calm-core (deps + devDeps), @finos/calm-models
- packages/github-action: @calmstudio/calm-core, @calmstudio/mcp
- packages/vscode-extension: @calmstudio/mcp
- packages/web-component: @calmstudio/calm-core, @calmstudio/extensions
- apps/studio: @calmstudio/calm-core, @calmstudio/extensions

Trim (1 line):
- calm-suite/calm-studio/package.json (calmstudio-workspace manifest):
  remove `packages/calmscript` entry from workspaces[] (now-deleted directory)

Review fix per @rocketstack-matt feedback on finos#2661: the calmstudio-workspace
manifest (`calm-suite/calm-studio/package.json`) is KEPT, not deleted, because
.github/workflows/automated-release-calm-studio.yml runs
`npx multi-semantic-release` from `calm-suite/calm-studio/` and relies on
this manifest's workspaces[] array to discover @calmstudio/* packages.
The eventual removal of this manifest is deferred to A3 (#1-03), where it
co-locates with the `git mv calm-suite/* -> root` move and the workflow's
`working-directory: calm-suite/calm-studio` update.

Verified locally:
- `npm ci` exits 0
- `npm run package --workspace calm-plugins/vscode` exits 0 (vsce packages 8.5MB .vsix)
- `cd calm-suite/calm-studio && npx multi-semantic-release --dry-run` exits 0
  (all 8 @calmstudio/* packages discovered via the workspaces[] array)

Lockfile regeneration follows in a separate commit per AGENTS.md ritual.

Signed-off-by: Gourav Shah <gjs@opsflow.sh>

* chore(deps): regenerate lockfile after A1 file: → bare-workspace rewrite

Lockfile reflects:
- 11 file: -> bare semver "*" workspace deps (calm-core, mcp-server,
  github-action, vscode-extension, web-component, apps/studio)
- calm-suite/calm-studio/packages/calmscript entry removed (directory
  deleted in A1's first commit)
- @docusaurus/faster@3.10.1 retained (added by finos#2673 on main)
- minimatch@10.2.5 hoisted to root (matches main; vsce CJS require works)
- @codemirror/autocomplete@6.20.3 preserved (svelte-codemirror-editor peer)
- All 19 rollup platform-specific optional dependency variants preserved
  (validate-lockfile guard upheld)

Regen method: incremental `npm install --package-lock-only` against the
current origin/main lockfile, then a one-line jq script to remove the
stale `calm-suite/calm-studio/packages/calmscript` entry. Avoids the
known arborist crash on a clean `rm -rf node_modules package-lock.json
&& npm install` flow.

Verified locally:
- `npm ci` exits 0
- `cd calm-suite/calm-studio && npx multi-semantic-release --dry-run` exits 0
  (8 @calmstudio/* packages discovered)
- `npm run package --workspace calm-plugins/vscode` exits 0 (vsce packages
  8.5 MB .vsix)

Signed-off-by: Gourav Shah <gjs@opsflow.sh>

---------

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
Co-authored-by: Matthew Bain <66839492+rocketstack-matt@users.noreply.github.com>
gjs-opsflo added a commit to gjs-opsflo/architecture-as-code that referenced this pull request Jun 24, 2026
…ebased onto Node 26 main)

Rebased onto current origin/main which carried the Node 26 canonical
bump (engines.node >=26.0.0, @types/node ^26, .nvmrc=26.3.1, plus
multiple lockfile regens). Lockfile fully re-regenerated on Node 26
via the incremental method:

  git checkout origin/main -- package-lock.json
  rm -rf node_modules
  npm install --package-lock-only

Workspace entries now resolve to the new top-level paths
(`calm-studio/...`, `calm-guard/...`); no orphaned `calm-suite/*`
entries remain.

Invariants preserved (matches origin/main shape):
- minimatch@10.2.5 hoisted to root (vsce CJS require works)
- @docusaurus/faster@3.10.1 present (from finos#2673)
- All 19 rollup platform-specific optional dependency variants
- @codemirror/autocomplete@6.20.3 (svelte-codemirror-editor peer)

Verified on Node 26.3.1:
- `npm ci` exits 0; 6 @calmstudio/* workspace symlinks resolve
- All 10 workspaces build clean in CI dep order
- `npm test` exits 0 — all tests pass
- `cd calm-studio && npx multi-semantic-release --dry-run` exits 0
- `npm run package --workspace calm-plugins/vscode` packages 8.48 MB .vsix

Signed-off-by: Gourav Shah <gjs@opsflow.sh>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants