Skip to content

ESM Support (draft) #75

@muuvmuuv

Description

@muuvmuuv

From the latest VS Code update; more and more is heading to ESM extensions. This is a meta issue to track the progress.

Electron 35 update
In this milestone, we are promoting the Electron 35 update to users on our Stable release. This update comes with Chromium 134.0.6998.205 and Node.js 22.15.1. We want to thank everyone who self-hosted on Insiders builds and provided early feedback.

Adopting ESM in a real-world extension
Last milestone, we have announced support for JavaScript-modules (ESM). This enables extensions to use import and export statements, but currently only when targeting the NodeJS extension host.

This month, we have done a real-world adoption with [GitHub Issue Notebooks](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-github-issue-notebooks). It is not trivial because this extension can be run in the NodeJS extension host (which supports ESM extensions) and the web worker extension host, which currently does not support ESM extensions. This required a more complex bundler configuration and you might want to take inspiration from its [esbuild-config](https://github.com/microsoft/vscode-github-issue-notebooks/blob/main/esbuild.mjs).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions