diff --git a/template/default/package.json b/template/default/package.json index 85977b6..9109fcc 100644 --- a/template/default/package.json +++ b/template/default/package.json @@ -21,6 +21,9 @@ "predeploy": "cd example && {{manager}} install && {{manager}} run build", "deploy": "gh-pages -d example/build" }, + "dependencies": { + "@babel/runtime": "^7.0.0" + }, "peerDependencies": { "prop-types": "^15.5.4", "react": "^15.0.0 || ^16.0.0", @@ -28,7 +31,6 @@ }, "devDependencies": { "@babel/core": "^7.0.0", - "@babel/plugin-external-helpers": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-decorators": "^7.0.0", "@babel/plugin-proposal-do-expressions": "^7.0.0", diff --git a/template/default/rollup.config.js b/template/default/rollup.config.js index 0cc9ef3..df0c529 100644 --- a/template/default/rollup.config.js +++ b/template/default/rollup.config.js @@ -8,22 +8,11 @@ import svgr from '@svgr/rollup' import pkg from './package.json' -export default { +const createConfig = ({ output }) => ({ input: 'src/index.js', - output: [ - { - file: pkg.main, - format: 'cjs', - sourcemap: true - }, - { - file: pkg.module, - format: 'es', - sourcemap: true - } - ], + output: Object.assign({ sourcemap: true }, output), plugins: [ - external(), + external({ includeDependencies: true }), postcss({ modules: true }), @@ -31,9 +20,26 @@ export default { svgr(), babel({ exclude: 'node_modules/**', - plugins: [ '@babel/external-helpers' ] + runtimeHelpers: true, + plugins: [ + [ + '@babel/transform-runtime', + { useESModules: output.format !== 'cjs' } + ] + ] }), resolve(), commonjs() ] -} +}) + +export default [ + createConfig({ + file: pkg.main, + format: 'cjs', + }), + createConfig({ + file: pkg.module, + format: 'esm', + }) +]