Repository navigation
[Repo] Port editors/vscode/src/extension.ts to .affine once #35 lands #63
Description
Activity
- added a commit that references this issue
on May 11, 2026 hyperpolymath commented
on May 15, 2026 OwnerAuthorMore actionsThis appears effectively complete — flagging for closure confirmation (not self-closing, per the ISSUE-CLOSURE rule).
Acceptance-criteria status:
- Add Node-target backend + vscode-API bindings to enable .affine VS Code extensions #35 landed — Node-CJS codegen (
lib/codegen_node.ml) produces arequire()-able CJS module; Codegen: --vscode-extension flag to inline extraImports wiring #105/Codegen: --vscode-extension flag to inline extraImports wiring #116 added--vscode-extensionto inline the adapter wiring. - Ported —
editors/vscode/src/extension.tsis gone; source of truth iseditors/vscode/src/extension.affine. -
mainupdated —editors/vscode/package.jsonmain→./out/extension.cjs, and itscompilescript now passes--vscode-extension(Codegen: --vscode-extension flag to inline extraImports wiring #116). - Exemption row removed —
.claude/CLAUDE.mdlistseditors/vscode/src/extension.tsunder Closed exemptions (closed 2026-05-03), withtools/check-no-extension-ts.shguarding regressions (wired intojust check+ CI). - End-to-end activation/LSP/disposable verification — the only item not mechanically provable from the tree. The
--vscode-extensionwiring is what makes theVscode/VscodeLanguageClientimports actually resolve at activation; full in-editor verification would need a live VS Code host.
Everything except the live-host smoke test is done. @hyperpolymath — OK to close this (tracking any remaining in-editor verification under the #104 publish work / a dedicated QA pass), or would you like the e2e verification tracked here before closing?
Generated by Claude Code
- Add Node-target backend + vscode-API bindings to enable .affine VS Code extensions #35 landed — Node-CJS codegen (
hyperpolymath commented
on May 16, 2026 OwnerAuthorMore actionsClosing as completed at owner request.
All mechanically-verifiable acceptance criteria are met:
- Add Node-target backend + vscode-API bindings to enable .affine VS Code extensions #35 landed —
lib/codegen_node.mlNode-CJS codegen +--vscode-extensionwiring (feat: typed-wasm xmod + Node backend + extern + VS Code (#35, #42) #90, Codegen: --vscode-extension flag to inline extraImports wiring #116); Add Node-target backend + vscode-API bindings to enable .affine VS Code extensions #35 closedcompleted2026-05-11. - Ported —
editors/vscode/src/extension.tsremoved; source of truth iseditors/vscode/src/extension.affine. -
mainupdated —editors/vscode/package.jsonmain→./out/extension.cjs. - Exemption row removed — listed under Closed exemptions in
.claude/CLAUDE.md(closed 2026-05-03), regression-guarded bytools/check-no-extension-ts.sh(wired intojust check+ CI).
The remaining acceptance item — live-host activation / command / LSP / disposable verification — cannot be proven from the repo tree and is now tracked separately in #139 (to be folded into the #104 publish QA pass).
Generated by Claude Code
- Add Node-target backend + vscode-API bindings to enable .affine VS Code extensions #35 landed —
Problem
editors/vscode/src/extension.tsis the only TypeScript file undereditors/. It exists because AffineScript currently has no Node-target backend, and VS Code extensions have to ship a Node-callable entry point pinned bypackage.json'smainfield.It's documented as an approved exemption in
.claude/CLAUDE.md(see TypeScript Exemptions table). The unblock condition is #35.Acceptance criteria
editors/vscode/src/extension.affine.editors/vscode/package.jsonmainto point at the AffineScript-compiled artefact.editors/vscode/src/extension.tsrow from the TypeScript Exemptions table in.claude/CLAUDE.md.Origin
TS-elimination audit, 2026-05-02 (recommendation #7). Local audit at
~/dev/affinescript/.claude/CLAUDE.mdnotes the exemption.Dependencies