Until recently, my extensions either used *.js or *.cjs for the main in the package manifest, both extensions could be resolved just fine.
Since VSCode 1.100, extensions can be published as ESM. By bundler (tsdown) will produce *.mjs files by default. This will produce an error when trying to publish the extension:
Extension entrypoint(s) missing. Make sure these files exist and aren't ignored by .vscodeignore.
One could argue that ESM extensions should use exports (not main). This will get me through the publishing process, but it produces runtime errors in VSCode. Packages copied to the extension folder with *.mjs in main will work fine – the problem is vsce not being able to publish them.
Until recently, my extensions either used
*.jsor*.cjsfor themainin the package manifest, both extensions could be resolved just fine.Since VSCode 1.100, extensions can be published as ESM. By bundler (
tsdown) will produce*.mjsfiles by default. This will produce an error when trying to publish the extension:One could argue that ESM extensions should use
exports(notmain). This will get me through the publishing process, but it produces runtime errors in VSCode. Packages copied to the extension folder with*.mjsinmainwill work fine – the problem isvscenot being able to publish them.