ECMAScript Module Support in nodejs
While working on
pico-tester
I realized I am not as knowledgable in nodejs' support for ECMAScript Modules (esm).
I think it's very simple in the browser.
There is
<script type=module>
which understands import
and there is
<script nomodule>
which nicely gradually falls back to before ESM times. But what about nodejs?
There is a package.json
with properties such as
main: <filename>
, exports: {}
type: module
, type: commonjs
, and any combination of them. For a long time I am using
the package esm
to allow me to use ESM on nodejs, but when publishing a package such as pico-tester, I must be compatible with as many ways as possible, in which nodejs can be used. So first there is terminology to get right (esm, cjs, ...) and than provide the right type of package or packaging so it can be used there. I might update this over time with more learnings.