From 6223e4c8e003d4950b78ed677e3330f52cdf555f Mon Sep 17 00:00:00 2001 From: Armand Abric Date: Sat, 11 Nov 2017 10:38:28 +0100 Subject: [PATCH] fix(bunble): do not bundle peer dependencies --- package.json | 22 ++++++++++++---------- rollup.config.js | 12 ++++++++++++ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index a713d6826..c5ceff518 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,12 @@ "browser": "dist/cjs/index.js", "scripts": { "clean": "npm run esm:clean && npm run cjs:clean", - "prebuild": "npm run clean", "build": "npm run esm:build && npm run cjs:build", + "preesm:build": "npm run esm:clean", "esm:build": "babel ./src/ --ignore=*.spec.js --source-maps --out-dir ./dist/esm && flow-copy-source -v --ignore=*.spec.js src/ dist/esm", "esm:clean": "rm -rf ./dist/esm/*", + "precjs:build": "npm run cjs:clean", "cjs:build": "rollup --config rollup.config.js", "cjs:clean": "rm -rf ./dist/cjs/*", "lint": "eslint .", @@ -72,17 +73,18 @@ "react": "16.1.0", "react-dom": "16.1.0", "react-test-renderer": "16.1.0", - "rollup": "^0.51.3", - "rollup-plugin-babel": "^3.0.2", - "rollup-plugin-commonjs": "^8.2.6", - "rollup-plugin-flow": "^1.1.1", - "rollup-plugin-node-builtins": "^2.1.2", - "rollup-plugin-node-globals": "^1.1.0", - "rollup-plugin-node-resolve": "^3.0.0", - "rollup-plugin-sourcemaps": "^0.4.2" + "rollup": "0.51.3", + "rollup-plugin-babel": "3.0.2", + "rollup-plugin-commonjs": "8.2.6", + "rollup-plugin-flow": "1.1.1", + "rollup-plugin-node-builtins": "2.1.2", + "rollup-plugin-node-globals": "1.1.0", + "rollup-plugin-node-resolve": "3.0.0", + "rollup-plugin-sourcemaps": "0.4.2" }, "peerDependencies": { - "react": "^0.14.8 || ^15.0.1 || ^16.0.0" + "react": "^0.14.8 || ^15.0.1 || ^16.0.0", + "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0" }, "dependencies": { "collapse-white-space": "1.0.3", diff --git a/rollup.config.js b/rollup.config.js index c852c8f74..1ad046cc5 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,3 +1,6 @@ +/* @flow */ + +import fs from 'fs'; import babel from 'rollup-plugin-babel'; import commonjs from 'rollup-plugin-commonjs'; import flow from 'rollup-plugin-flow'; @@ -5,6 +8,14 @@ import resolve from 'rollup-plugin-node-resolve'; import builtins from 'rollup-plugin-node-builtins'; import globals from 'rollup-plugin-node-globals'; +const extractPackagePeerDependencies = () => { + const packageNpm = JSON.parse( + fs.readFileSync('./package.json', { encoding: 'utf8' }) + ); + + return Object.keys(packageNpm.peerDependencies || {}); +}; + export default { input: 'src/index.js', output: { @@ -12,6 +23,7 @@ export default { format: 'cjs', }, sourcemap: true, + external: extractPackagePeerDependencies(), plugins: [ babel({ babelrc: false,