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
Evaluation of the embedded code editor for the text pane. Compare editor options like Monaco, CodeMirror 6 etc. Add findings to the ticket and recommend one to the team and community for review.
Motivation
The editor choice is an open ADR question and the wrong choice is expensive to reverse because the VS Code extension reuses the same engine
Proposed Implementation
No response
Definition of Done
Implementation: Fully implemented according to the Serverless Workflow spec.
Unit Tests: Comprehensive unit tests are included and passing.
Integration Tests: Verified within the monorepo and target environments (Web/VS Code).
Documentation: Updated README.md, ADRs, or official docs.
Performance: No significant regression in editor responsiveness.
Accessibility: UI changes comply with accessibility standards.
Ruled out:
Reviewed Ace, CodeMirror 5, and Sandpack - Ace and CodeMirror 5 are old editors. Sandpack is a runnable code playground, not a schema-validated authoring editor - so none are eligible.
VS Code = same engine; low learning curve for contributors.
Moderate.
Recommendation: Monaco
See the spike: text-editor-spike repo. Monaco renders, styles, and autocompletes inside a shadow root in both a React host and a LitElement host.
There was a question about Monaco working in the Shadow DOM but now that is settled (implemented and working in the spike above), CodeMirror is really a one-person project that we will depend on, for a CNCF project, going with something Microsoft-backed and on GitHub feels like the safer bet.
@lornakelly your Monaco + Lit example is a great one to ensure the functionalities are working well.
I also +1 for Monaco editor which I think is more IDE ready option
Activity
lornakelly commentedon Jul 15, 2026
Ruled out:
Reviewed Ace, CodeMirror 5, and Sandpack - Ace and CodeMirror 5 are old editors. Sandpack is a runnable code playground, not a schema-validated authoring editor - so none are eligible.
Currently under review - Monaco and CodeMirror6
lornakelly commentedon Jul 16, 2026
Monaco vs. CodeMirror 6
monaco-languageclientis mature and widely used.Recommendation: Monaco
See the spike: text-editor-spike repo. Monaco renders, styles, and autocompletes inside a shadow root in both a React host and a LitElement host.
There was a question about Monaco working in the Shadow DOM but now that is settled (implemented and working in the spike above), CodeMirror is really a one-person project that we will depend on, for a CNCF project, going with something Microsoft-backed and on GitHub feels like the safer bet.
cheryl7114 commentedon Jul 17, 2026
Monaco definitely looks like the better choice. Thank you for the detailed comparison Lorna
kumaradityaraj commentedon Jul 17, 2026
I will also lean towards Monaco seeing the comparison above.
fantonangeli commentedon Jul 17, 2026
@lornakelly your Monaco + Lit example is a great one to ensure the functionalities are working well.
I also +1 for Monaco editor which I think is more IDE ready option
lornakelly commentedon Jul 20, 2026
Confirmed with community and team that Monaco is the agreed choice