rollup-config-module
Rollup config to create npm modules that support both ECMAScript module and CommonJS
Installation
npm install --save-dev rollup-config-module
Usage
For module authors
- Include
rollup --config=node:module
to the build part of your module's npm scripts.
"scripts":
- Write your module using ECMAScript
import
/export
instead ofrequire
/module.exports
, and save it asindex.mjs
. - Add
module
field topackage.json
and let it point toindex.mjs
.
"module": "index.mjs"
- Run the build script and you'll see
index.js
is created. - Include both
index.mjs
andindex.js
to the published npm package.
"files":
A real world example would help understanding how to create a package with rollup-config-module.
For module users
Modules built with this configuration can be used in both ES2015+ projects and traditional require
-based projects.
Users can load index.mjs
with a build tool that supports module
field, for example rollup-plugin-node-resolve and Webpack.
;
Users can also load index.js
via Node's built-in require
,
const fn = ;
because index.js
has been compiled from index.mjs
with all import
and export
replaced with require
and module.exports
.
;; { if ! console; }
↓
'use strict'; var util = ;var isNaturalNumber = ; module { if ! console; }
License
ISC License © 2018 Shinnosuke Watanabe