Skip to content

feat(vscode): #2869 plugin updates (merged with main + lockfile fix) - #28

Open
LeighFinegold wants to merge 20 commits into
mainfrom
pr-2912-merge-main
Open

feat(vscode): #2869 plugin updates (merged with main + lockfile fix)#28
LeighFinegold wants to merge 20 commits into
mainfrom
pr-2912-merge-main

Conversation

@LeighFinegold

@LeighFinegold LeighFinegold commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Purpose

Equivalent of finos#2912 (byrash's CALM Canvas VS Code plugin rewrite), merged with latest main and with build fixes on top. Parked on my fork for now.

All of byrash's commits are retained. Created via git worktree off the PR head, merged with latest main, fixes added on top. CI is green.

Commits

  • byrash's original PR commits (unchanged): CALM Canvas v1.0.0 visual editor
  • Merge of latest upstream main
  • fix(deps): regenerate lockfile for vscode plugin dependencies
  • ci(vscode): remove dead screenshots workflow
  • fix(deps): pin docusaurus runtime packages to 3.10.1
  • ci(vscode): drop integration-test job for removed harness
  • fix(vscode): build extension before packaging

Fixes

  1. Lockfile out of sync. The rewrite added new deps to calm-plugins/vscode/package.json (vite, @dagrejs/dagre, elkjs, lucide-react, ajv-formats, and others) but the root package-lock.json was never regenerated, so CI's npm ci failed. Regenerated via rm -rf node_modules package-lock.json && npm install on Node 26, preserving all platform-specific optional binaries (rollup/oxide/swc/esbuild Linux variants intact for validate-lockfile).

  2. docs build (useTitleFormatterContext called outside <TitleFormatterProvider>). Regenerating the lockfile let @docusaurus/theme-mermaid drift to 3.10.2, pulling a second @docusaurus/core + theme-common tree that mismatched the 3.10.1 tree used by the docs preset. Added overrides pinning @docusaurus/core, theme-common, and theme-mermaid to 3.10.1 (single consistent tree, matching main; faster stays 3.10.2 as on main).

  3. VS Code packaging (Extension entrypoint(s) missing). The rewrite changed the package script to run vsce package without building first and dropped the vscode:prepublish hook, so dist/extension.js did not exist at package time. Restored npm run build && in the package script and re-added vscode:prepublish (matching pre-rewrite behaviour).

  4. Orphaned CI. The rewrite deleted calm-plugins/vscode/screenshots/ and the test/integration harness (plus the test:integration script), but the workflows still referenced them:

    • Removed the dead build-vscode-screenshots.yml workflow, because its working-directory (calm-plugins/vscode/screenshots) no longer exists so every run failed before doing any work.
    • Removed the integration-test matrix job from build-vscode-extension.yml and dropped it from package-and-publish's needs, because the job invoked the now-deleted test:integration script and could only fail with Missing script, which also blocked the packaging job that depended on it.

Verification (Node 26)

  • npm ci: pass (was failing)
  • VS Code plugin build / test / lint: pass (155 tests, 0 lint errors)
  • docs build: pass
  • package:vscode: produces .vsix
  • Full PR CI on the fork: green

Note: PR only touches calm-plugins/ plus the root lockfile/overrides and two VS Code CI workflows. Pre-existing docs/calm-guard/calm-studio issues on main are unrelated.

byrash and others added 16 commits July 29, 2026 09:04
…actFlow

Major rewrite of the VS Code extension from Mermaid-based preview to a
full visual architecture editor:

- Interactive ReactFlow canvas for editing CALM architectures
- Drag-and-drop node palette with workspace building blocks
- Standards/guidelines drag-onto-node with dotted "adheres to" edges
- Edge direction (unidirectional, bidirectional, none) and line styles
- Theme-aware UI following VS Code light/dark/high-contrast themes
- Real-time bidirectional sync between JSON editor and canvas
- Validation panel with clickable issues
- Drill-down navigation into building blocks with breadcrumbs
- SVG export, pattern application, and spec generation
- Configurable extension packs (calm.packs.enabled, calm.packs.excludeNodes)
- Edge metadata (key-value pairs) support
The vscode plugin PR added new dependencies (vite, @dagrejs/dagre, elkjs, lucide-react, ajv-formats, etc.) to calm-plugins/vscode/package.json but the root package-lock.json was not regenerated, so 'npm ci' fails in CI. Regenerated the lockfile from a clean install (rm -rf node_modules package-lock.json && npm install) on Node 26, preserving all platform-specific optional binaries.
@github-actions github-actions Bot added the config label Aug 2, 2026
The vscode plugin rewrite deleted calm-plugins/vscode/screenshots/, but the build-vscode-screenshots.yml workflow remained. It triggers on changes under that path and fails because its working-directory no longer exists. Removing the orphaned workflow.
Regenerating the lockfile let @docusaurus/theme-mermaid drift to 3.10.2, pulling a second @docusaurus/core + theme-common tree that mismatched the 3.10.1 tree used by the docs preset. This broke 'docs' build with 'useTitleFormatterContext called outside <TitleFormatterProvider>'. Added overrides pinning @docusaurus/core, theme-common and theme-mermaid to 3.10.1 to match upstream main (single consistent tree; faster stays 3.10.2 as on main).
The plugin rewrite removed the test/integration harness and the 'test:integration' script, so the integration-test matrix job failed with 'Missing script: test:integration'. Removed the job and updated package-and-publish needs accordingly.
The rewrite changed the 'package' script to run 'vsce package' without first building, and dropped the 'vscode:prepublish' hook. As a result 'package:vscode' produced no dist/extension.js and vsce failed with 'Extension entrypoint(s) missing'. Restored 'npm run build &&' in the package script and re-added the standard vscode:prepublish hook (matching pre-rewrite behaviour).
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