diff --git a/scripts/build.js b/scripts/build.js index 44885de..ff1b692 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -30,6 +30,7 @@ const varName = pascalCase(packageName); exec( `rollup -c scripts/config.js -f umd -n ${varName} -o umd/${packageName}.js`, { + EXTERNALS: "peers", BUILD_ENV: "development" } ); @@ -37,6 +38,7 @@ exec( exec( `rollup -c scripts/config.js -f umd -n ${varName} -o umd/${packageName}.min.js`, { + EXTERNALS: "peers", BUILD_ENV: "production" } ); diff --git a/scripts/config.js b/scripts/config.js index 963382f..f983e1c 100644 --- a/scripts/config.js +++ b/scripts/config.js @@ -3,6 +3,16 @@ const commonjs = require("rollup-plugin-commonjs"); const replace = require("rollup-plugin-replace"); const resolve = require("rollup-plugin-node-resolve"); const uglify = require("rollup-plugin-uglify"); +const pkg = require("../package.json"); + +const getExternals = externals => { + const deps = Object.keys(pkg.dependencies || {}) + const peers = Object.keys(pkg.peerDependencies || {}) + + return externals === 'peers' + ? peers + : deps.concat(peers) +} const getPlugins = env => { const plugins = [resolve()]; @@ -45,7 +55,7 @@ const config = { react: "React" } }, - external: ["react"], + external: getExternals(process.env.EXTERNALS), plugins: getPlugins(process.env.BUILD_ENV) };