diff --git a/rollup.config.js b/rollup.config.js index 12b23fb..8efcdd5 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -4,6 +4,15 @@ import flow from 'rollup-plugin-flow' import commonjs from 'rollup-plugin-commonjs' import { uglify } from 'rollup-plugin-uglify' import replace from 'rollup-plugin-replace' +import pkg from './package.json' + +const makeExternalPredicate = externalArr => { + if (externalArr.length === 0) { + return () => false + } + const pattern = new RegExp(`^(${externalArr.join('|')})($|/)`) + return id => pattern.test(id) +} const minify = process.env.MINIFY const format = process.env.FORMAT @@ -47,7 +56,14 @@ export default { }, output ), - external: ['react', 'prop-types', 'final-form', 'react-final-form'], + external: makeExternalPredicate( + umd + ? Object.keys(pkg.peerDependencies || {}) + : [ + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}) + ] + ), plugins: [ resolve({ jsnext: true, main: true }), flow(),