1/ #TypeScript & ESM—modern approach that works for me (feedback appreciated!)
## package.json
– Only "exports"—no more "main", "module", "types", "typesVersions"
– Pairings:
– m.d.ts next to m.js
– m.d.mts next to m.mjs
Tree of files:
"exports": {
"./*": "./dist/src/*"
},
Single file:
"exports": {
".": "./dist/src/library.js"
},
## tsconfig.json
"module": "NodeNext",
"moduleResolution": "NodeNext",
## Documentation
– https://nodejs.org/api/packages.html#package-entry-points
– https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports