npm-es-modules-7-typescript
v0.0.2
Published
Breakdown of 7 different ways to use ES modules with NPM today.
Downloads
1
Maintainers
Readme
npm-es-modules-7-typescript
Breakdown of 7 different ways to use ES modules with npm today.
This approach uses typescript to transpile all Node.js and browser source files.
- Source files end in
.ts
- Supports all three targets
main
module
, andbrowser
- Two compilation passes are necessary, one for targeting
commonjs
and one targetingesm
- Currently, commonjs users have to add default to require statements:
require('npm-es-modules-7-typescript').default
- If you know how to prevent this, please let me know!
- Resulting module supports
node >= 4
(or whatever we specify in ourtsconfig.json
) instead ofnode >= 8
- Overall, this feels like the cleanest and most future-proof approach.
Approaches
- naive - The most naive possible use of ES modules supporting our functionality. This approach is broken and provided as an example starting point.
- babel - Uses babel to transpile all Node.js and browser source files.
- esm-rollup - Uses esm for Node.js and babel+rollup to compile browser source files.
- esm-webpack - Uses esm for Node.js and babel+webpack to compile browser source files.
- rollup - Uses babel+rollup to compile all Node.js and browser source files.
- webpack - Uses babel+webpack to compile all Node.js and browser source files.
- typescript - Uses typescript to transpile all Node.js and browser source files.
License
MIT © Travis Fischer