From 54088992203db4b9c2a5362dbc9a70e3e08c5a0d Mon Sep 17 00:00:00 2001 From: Josh Black Date: Tue, 28 Jan 2020 12:22:27 -0600 Subject: [PATCH] feat(react): add support for rollup in bundles (#5185) * feat(react): add support for rollup in bundles * fix(react): update rollup config to exclude prop-types Co-authored-by: TJ Egan --- .yarn/offline-mirror/magic-string-0.25.4.tgz | Bin 0 -> 74934 bytes .../rollup-plugin-strip-banner-1.0.0.tgz | Bin 0 -> 2482 bytes packages/react/package.json | 3 +- packages/react/rollup.config.js | 146 ++++++++++++++++++ packages/react/scripts/build.js | 16 -- packages/react/scripts/rollup.config.js | 105 ------------- yarn.lock | 23 +++ 7 files changed, 171 insertions(+), 122 deletions(-) create mode 100644 .yarn/offline-mirror/magic-string-0.25.4.tgz create mode 100644 .yarn/offline-mirror/rollup-plugin-strip-banner-1.0.0.tgz create mode 100644 packages/react/rollup.config.js delete mode 100644 packages/react/scripts/rollup.config.js diff --git a/.yarn/offline-mirror/magic-string-0.25.4.tgz b/.yarn/offline-mirror/magic-string-0.25.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ce7c5842c85bc0f0bd40f03df3349755ae2a963f GIT binary patch literal 74934 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%0AxymMi};pF_sId$v=MNPurVt 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 literal 0 HcmV?d00001 diff --git a/packages/react/package.json b/packages/react/package.json index d4bd2dfac6dc..66ca2f4be944 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -24,7 +24,7 @@ "access": "public" }, "scripts": { - "build": "yarn clean && node scripts/build.js", + "build": "yarn clean && node scripts/build.js && rollup -c", "build-storybook": "cross-env NODE_ENV=production build-storybook", "clean": "rimraf es lib umd storybook-static build react-docgen.json", "prepublish": "yarn build", @@ -107,6 +107,7 @@ "rollup-plugin-node-resolve": "^4.2.3", "rollup-plugin-replace": "^2.2.0", "rollup-plugin-sizes": "^0.5.0", + "rollup-plugin-strip-banner": "^1.0.0", "rollup-plugin-terser": "^4.0.0", "rtlcss": "^2.4.0", "sass-loader": "^8.0.2", diff --git a/packages/react/rollup.config.js b/packages/react/rollup.config.js new file mode 100644 index 000000000000..748234ca59da --- /dev/null +++ b/packages/react/rollup.config.js @@ -0,0 +1,146 @@ +/** + * Copyright IBM Corp. 2016, 2018 + * + * This source code is licensed under the Apache-2.0 license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +const babel = require('rollup-plugin-babel'); +const commonjs = require('rollup-plugin-commonjs'); +const resolve = require('rollup-plugin-node-resolve'); +const replace = require('rollup-plugin-replace'); +const stripBanner = require('rollup-plugin-strip-banner'); +const { terser } = require('rollup-plugin-terser'); +const packageJson = require('./package.json'); + +const baseConfig = { + input: './src/index.js', + external: [ + ...Object.keys(packageJson.peerDependencies), + ...Object.keys(packageJson.dependencies), + 'prop-types', + ], + plugins: [ + resolve(), + commonjs({ + include: /node_modules/, + namedExports: { + 'react/index.js': [ + 'Children', + 'Component', + 'PureComponent', + 'Fragment', + 'PropTypes', + 'createElement', + ], + 'react-dom/index.js': ['render'], + 'react-is/index.js': ['isForwardRef'], + }, + }), + babel({ + babelrc: false, + exclude: ['node_modules/**'], + presets: [ + [ + '@babel/preset-env', + { + modules: false, + targets: { + browsers: ['extends browserslist-config-carbon'], + }, + }, + ], + '@babel/preset-react', + ], + plugins: [ + 'dev-expression', + '@babel/plugin-syntax-dynamic-import', + '@babel/plugin-syntax-import-meta', + '@babel/plugin-proposal-class-properties', + '@babel/plugin-proposal-export-namespace-from', + '@babel/plugin-proposal-export-default-from', + ], + }), + stripBanner(), + ], +}; + +const umdExternalDependencies = Object.keys( + packageJson.peerDependencies +).filter(dependency => dependency !== 'carbon-components'); + +const umdBundleConfig = { + input: baseConfig.input, + external: [...umdExternalDependencies, 'prop-types'], + output: { + name: 'CarbonComponentsReact', + format: 'umd', + globals: { + classnames: 'classNames', + 'prop-types': 'PropTypes', + react: 'React', + 'react-dom': 'ReactDOM', + 'carbon-icons': 'CarbonIcons', + }, + }, +}; + +module.exports = [ + // Generates the following bundles: + // ESM: es/index.js + // CommonJS: lib/index.js + { + ...baseConfig, + plugins: [ + ...baseConfig.plugins, + replace({ + 'process.env.NODE_ENV': JSON.stringify('development'), + }), + ], + output: [ + { + format: 'esm', + file: 'es/index.js', + }, + { + format: 'cjs', + file: 'lib/index.js', + }, + ], + }, + + // Generate the development UMD bundle: + // UMD: umd/carbon-components-react.js + { + ...umdBundleConfig, + plugins: [ + ...baseConfig.plugins, + replace({ + 'process.env.NODE_ENV': JSON.stringify('development'), + }), + ], + output: { + ...umdBundleConfig.output, + file: 'umd/carbon-components-react.js', + }, + }, + + // Generate the production UMD bundle: + // UMD: umd/carbon-components-react.min.js + { + ...umdBundleConfig, + plugins: [ + ...baseConfig.plugins, + replace({ + 'process.env.NODE_ENV': JSON.stringify('production'), + }), + terser(), + ], + output: { + ...umdBundleConfig.output, + file: 'umd/carbon-components-react.min.js', + }, + }, +]; diff --git a/packages/react/scripts/build.js b/packages/react/scripts/build.js index 33cf0939c77c..34dc9f40a0e5 100644 --- a/packages/react/scripts/build.js +++ b/packages/react/scripts/build.js @@ -13,9 +13,6 @@ if (inInstall()) { const babelPath = path .resolve(__dirname, '../node_modules/.bin/babel') .replace(/ /g, '\\ '); -const rollupPath = path - .resolve(__dirname, '../node_modules/.bin/rollup') - .replace(/ /g, '\\ '); const exec = (command, extraEnv) => execSync(command, { @@ -43,19 +40,6 @@ try { 'react-docgen.json', JSON.stringify(mapValues(require(`../build/docgen`), '__docgenInfo')) ); - - exec( - `${rollupPath} -c scripts/rollup.config.js -o umd/carbon-components-react.js`, - { - NODE_ENV: 'development', - } - ); - exec( - `${rollupPath} -c scripts/rollup.config.js -o umd/carbon-components-react.min.js`, - { - NODE_ENV: 'production', - } - ); } catch (error) { console.error('One of the commands failed:', error.stack); // eslint-disable-line no-console process.exit(1); diff --git a/packages/react/scripts/rollup.config.js b/packages/react/scripts/rollup.config.js deleted file mode 100644 index 01424d632209..000000000000 --- a/packages/react/scripts/rollup.config.js +++ /dev/null @@ -1,105 +0,0 @@ -'use strict'; - -const chalk = require('chalk'); -const Table = require('cli-table'); -const gzip = require('gzip-size'); - -const commonjs = require('rollup-plugin-commonjs'); -const resolve = require('rollup-plugin-node-resolve'); -const babel = require('rollup-plugin-babel'); -const replace = require('rollup-plugin-replace'); -const { terser } = require('rollup-plugin-terser'); -const sizes = require('rollup-plugin-sizes'); - -const packageJson = require('../package.json'); -const peerDependencies = Object.keys( - packageJson.peerDependencies || {} -).concat(['classnames', 'prop-types']); - -const env = process.env.NODE_ENV || 'development'; -const prodSettings = - env === 'development' - ? [] - : [ - terser(), - sizes({ - report(details) { - const table = new Table({ - head: [ - chalk.gray.yellow('Dependency/app'), - chalk.gray.yellow('Size'), - ], - colAligns: ['left', 'right'], - }); - details.totals - .map(item => [chalk.white.bold(item.name), item.size]) - .forEach(item => { - table.push(item); - }); - console.log(`Sizes of app/dependencies:\n${table}`); // eslint-disable-line no-console - console.log('Total size:', details.total); // eslint-disable-line no-console - }, - }), - { - generateBundle(options, bundle) { - const gzipSize = gzip.sync( - bundle['carbon-components-react.min.js'].code - ); - const { bundleSizeThreshold } = packageJson; - console.log('Total size (gzipped):', gzipSize); // eslint-disable-line no-console - if (gzipSize > bundleSizeThreshold) { - throw new RangeError( - `Exceeded size threshold of ${bundleSizeThreshold} bytes (gzipped)!` - ); - } - }, - }, - ]; - -process.env.BABEL_ENV = 'es'; - -module.exports = { - input: 'src/index.js', - plugins: [ - resolve({ - mainFields: ['jsnext', 'module', 'main'], - }), - commonjs({ - include: [/node_modules/, /icons-react\/lib/], - sourceMap: true, - namedExports: { - 'react/index.js': [ - 'Children', - 'Component', - 'PureComponent', - 'Fragment', - 'PropTypes', - 'createElement', - ], - 'react-dom/index.js': ['render'], - 'react-is/index.js': ['isForwardRef'], - }, - }), - babel({ - exclude: ['node_modules/**'], // only transpile our source code - }), - replace({ - 'process.env.NODE_ENV': JSON.stringify(env), - }), - ...prodSettings, - ], - external: peerDependencies.filter( - dependency => dependency !== 'carbon-components' - ), - output: { - name: 'CarbonComponentsReact', - format: 'umd', - globals: { - classnames: 'classNames', - 'prop-types': 'PropTypes', - react: 'React', - 'react-dom': 'ReactDOM', - 'carbon-icons': 'CarbonIcons', - }, - }, -}; diff --git a/yarn.lock b/yarn.lock index d6117c27bc3a..d761425d4c06 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14665,6 +14665,13 @@ magic-string@0.19.1: dependencies: vlq "^0.2.1" +magic-string@0.25.4: + version "0.25.4" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.4.tgz#325b8a0a79fc423db109b77fd5a19183b7ba5143" + integrity sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw== + dependencies: + sourcemap-codec "^1.4.4" + magic-string@^0.25.2: version "0.25.6" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.6.tgz#5586387d1242f919c6d223579cc938bf1420795e" @@ -19504,6 +19511,15 @@ rollup-plugin-strip-banner@^0.2.0: magic-string "0.19.1" rollup-pluginutils "2.0.1" +rollup-plugin-strip-banner@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-strip-banner/-/rollup-plugin-strip-banner-1.0.0.tgz#28ddfb74e7b9c1fe3e612124fa83e571b914e893" + integrity sha512-hatiuCbYCM7db/JmogCn5a4/Un5dLnAIT4ixXmH9qNCbzXJqd0/jnVd/8ZDA3fF7WmmVh7D18GAzha0MMmRpSQ== + dependencies: + extract-banner "0.1.2" + magic-string "0.25.4" + rollup-pluginutils "2.8.2" + rollup-plugin-terser@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-4.0.4.tgz#6f661ef284fa7c27963d242601691dc3d23f994e" @@ -19527,6 +19543,13 @@ rollup-pluginutils@2.0.1: estree-walker "^0.3.0" micromatch "^2.3.11" +rollup-pluginutils@2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1: version "2.8.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"