Skip to content

refactor(vscode): restructure extension architecture#299

Draft
hongjr03 wants to merge 17 commits into
masterfrom
refactor/vscode-extension-architecture
Draft

refactor(vscode): restructure extension architecture#299
hongjr03 wants to merge 17 commits into
masterfrom
refactor/vscode-extension-architecture

Conversation

@hongjr03

@hongjr03 hongjr03 commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

Refactors the VS Code extension architecture so the native and browser runtimes are separated by construction, with shared code limited to runtime-neutral contracts.

This includes:

  • splitting Node-only activation, server launch, Qihe, project config prompts, profiling, and version helpers under src/node
  • keeping browser activation and worker transport under src/browser
  • adding import-boundary and package-content contract tests for the browser VSIX boundary
  • sharing runtime-neutral rename middleware, initialization options, document selectors, and client options core
  • moving Node-only client options into src/node
  • adding a BrowserClientController to own browser client lifecycle, restart serialization, debounce, and stale-client guards
  • narrowing browser configuration-triggered restarts to settings that actually affect browser client initialization

Validation

  • npm test from editors/vscode passed: 63 tests
  • npm run bundle:browser:extension from editors/vscode passed
  • npm run test:web is blocked in this local environment because playground/public/wasm is missing; attempting npm --prefix playground run build:wasm fails because ninja is not installed (spawnSync ninja ENOENT)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant