Open borkdude opened 11 months ago
Hi @borkdude :wave: That sounds useful! Makes me happy to see this library being used :slightly_smiling_face: I haven't worked with ES6 modules before. What do we have to change to make them work? Any hints how to do that are very welcome. I suppose it's possible to support ES6 modules while also keep supporting Node.js and Typescript, right? If it's easier for you to just open a PR, you are also more than welcome :blush:
I'll have a look later, just dropping this link as a note for now:
https://dev.to/a0viedo/nodejs-typescript-and-esm-it-doesnt-have-to-be-painful-438e
your project has no dependencies, the easiest way to have esm cjs interop if you compile to commonjs and have named exports:
exports.x = x
exports.y = y
or a default export:
exports.default = {
x,
y
}
another requirement is that the typescript project cannot use require (or it has to be shimmed). the current setup you have with tsc compiles to require
this way, everything is consumable in both esm and cjs environments
esbuild may be a solution to this:
I'd like to use this library in the squint playground. It seems I'm only able to do this via esm.sh:
example
The esm.sh service rewrites all the module.exports + require stuff to proper ES6 modules. Would it be an idea to publish ES6 modules directly, such that this can be used from unpkg.com etc?