From a13e438e027b4e969abe9f0b5575774e03293e66 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Fri, 15 May 2020 19:51:37 +0530 Subject: [PATCH 1/6] Added prod & dev build scripts to reduces bundle size in production --- packages/react-ui/main.js | 7 ++++ packages/react-ui/package.json | 6 ++- packages/react-ui/rollup.config.js | 59 +++++++++++++++--------------- yarn.lock | 24 +++++++++++- 4 files changed, 63 insertions(+), 33 deletions(-) create mode 100644 packages/react-ui/main.js diff --git a/packages/react-ui/main.js b/packages/react-ui/main.js new file mode 100644 index 0000000..2a16ca9 --- /dev/null +++ b/packages/react-ui/main.js @@ -0,0 +1,7 @@ +'use strict'; + +if (process.env.NODE_ENV === 'production') { + module.exports = require('./dist/react-ui.min.js'); +} else { + module.exports = require('./dist/react-ui.js'); +} diff --git a/packages/react-ui/package.json b/packages/react-ui/package.json index e8f7209..aca6f77 100644 --- a/packages/react-ui/package.json +++ b/packages/react-ui/package.json @@ -4,7 +4,7 @@ "description": "Customisable components and primitives based on design tokens", "homepage": "https://react-ui.dev", "source": "index.js", - "main": "dist/index.js", + "main": "main.js", "files": [ "dist", "themes" @@ -37,13 +37,15 @@ "@babel/preset-env": "^7.7.4", "@babel/preset-react": "^7.7.4", "@ds-tools/storybook": "0.0.1", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24", "bundlesize2": "^0.0.24", "rollup": "^1.27.8", "rollup-plugin-babel": "^4.3.3", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-json": "^4.0.0", "rollup-plugin-node-resolve": "^5.2.0", - "rollup-plugin-peer-deps-external": "^2.2.0" + "rollup-plugin-peer-deps-external": "^2.2.0", + "rollup-plugin-terser": "^5.3.0" }, "peerDependencies": { "react": "^16.8.6", diff --git a/packages/react-ui/rollup.config.js b/packages/react-ui/rollup.config.js index 177ee14..cf4e04b 100644 --- a/packages/react-ui/rollup.config.js +++ b/packages/react-ui/rollup.config.js @@ -3,42 +3,43 @@ import commonjs from 'rollup-plugin-commonjs' import resolve from 'rollup-plugin-node-resolve' import external from 'rollup-plugin-peer-deps-external' import json from 'rollup-plugin-json' +import { terser } from 'rollup-plugin-terser' +import reactRemovePropType from 'babel-plugin-transform-react-remove-prop-types' import pkg from './package.json' -const plugins = [ - external({ - includeDependencies: true - }), - resolve(), - babel({ - presets: [['@babel/preset-env', { modules: false }], '@babel/preset-react'], - exclude: 'node_modules/**' - }), - commonjs(), - json() -] +const getPlugins = (isProd) => { + return [ + external({ includeDependencies: true }), + resolve(), + babel({ + presets: [['@babel/preset-env', { modules: false }], '@babel/preset-react'], + plugins: [isProd && [reactRemovePropType, { mode: 'wrap' }]].filter(Boolean), // using wrap to include propTypes only when process.env.NODE_ENV !== "production" + exclude: 'node_modules/**' + }), + commonjs(), + json(), + isProd && terser() + ] +} + +const cjs = [{ + input: pkg.source, + output: { file: `dist/${pkg.name}.js`, format: 'cjs', sourcemap: true, esModule: false }, + plugins: getPlugins(false) // dev env plugins +}, { + input: pkg.source, + output: { file: `dist/${pkg.name}.min.js`, format: 'cjs', sourcemap: true }, + plugins: getPlugins(true) // prod env plugins +}]; export default [ - { - input: pkg.source, - output: [{ file: pkg.main, format: 'cjs' }], - plugins - }, - { + ...cjs, { input: ['src/themes/base.js', 'src/themes/light.js', 'src/themes/dark.js'], output: [ - { - dir: 'dist/themes/', - format: 'cjs', - exports: 'named' - }, - { - dir: 'themes', - format: 'cjs', - exports: 'named' - } + { dir: 'dist/themes/', format: 'cjs', exports: 'named' }, + { dir: 'themes', format: 'cjs', exports: 'named' } ], - plugins + plugins: getPlugins(true) } ] diff --git a/yarn.lock b/yarn.lock index 369f06e..5bfac03 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4209,7 +4209,7 @@ babel-plugin-transform-property-literals@^6.9.4: dependencies: esutils "^2.0.2" -babel-plugin-transform-react-remove-prop-types@0.4.24: +babel-plugin-transform-react-remove-prop-types@0.4.24, babel-plugin-transform-react-remove-prop-types@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== @@ -14961,7 +14961,18 @@ rollup-plugin-peer-deps-external@^2.2.0: resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.2.tgz#506cef67fb68f41cca3ec08ca6ff7936b190f568" integrity sha512-XcHH4UW9exRTAf73d8rk2dw2UgF//cWbilhRI4Ni/n+t0zA1eBtohKyJROn0fxa4/+WZ5R3onAyIDiwRQL+59A== -rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.8.1: +rollup-plugin-terser@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" + integrity sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^2.1.2" + terser "^4.6.2" + +rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.8.1, 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== @@ -16281,6 +16292,15 @@ terser@^4.1.2, terser@^4.4.3, terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^4.6.2: + version "4.6.13" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.13.tgz#e879a7364a5e0db52ba4891ecde007422c56a916" + integrity sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" From 36d3cea1548e9ca6176c2f98e3225e371f77face Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Fri, 15 May 2020 20:05:47 +0530 Subject: [PATCH 2/6] updated bundle size config to check minified file --- packages/react-ui/bundlesize.config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-ui/bundlesize.config.json b/packages/react-ui/bundlesize.config.json index d80cc74..f1f01c9 100644 --- a/packages/react-ui/bundlesize.config.json +++ b/packages/react-ui/bundlesize.config.json @@ -1,7 +1,7 @@ { "files": [ { - "path": "dist/index.js", + "path": "dist/react-ui.min.js", "maxSize": "25KB" } ] From b3f2b1095a5454b503f4d10047e99650bcfedf21 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Fri, 15 May 2020 20:08:14 +0530 Subject: [PATCH 3/6] added un-minified bundle size check as well --- packages/react-ui/bundlesize.config.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/react-ui/bundlesize.config.json b/packages/react-ui/bundlesize.config.json index f1f01c9..9355510 100644 --- a/packages/react-ui/bundlesize.config.json +++ b/packages/react-ui/bundlesize.config.json @@ -1,8 +1,12 @@ { "files": [ { - "path": "dist/react-ui.min.js", + "path": "dist/react-ui.js", "maxSize": "25KB" + }, + { + "path": "dist/react-ui.min.js", + "maxSize": "15KB" } ] } From 7e73987f781f7cb0d4fc12060bf5ae729956bf4d Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Sat, 16 May 2020 20:03:28 +0530 Subject: [PATCH 4/6] filtering boolean values in plugins array --- packages/react-ui/rollup.config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-ui/rollup.config.js b/packages/react-ui/rollup.config.js index cf4e04b..dfa349c 100644 --- a/packages/react-ui/rollup.config.js +++ b/packages/react-ui/rollup.config.js @@ -4,7 +4,7 @@ import resolve from 'rollup-plugin-node-resolve' import external from 'rollup-plugin-peer-deps-external' import json from 'rollup-plugin-json' import { terser } from 'rollup-plugin-terser' -import reactRemovePropType from 'babel-plugin-transform-react-remove-prop-types' +import reactRemovePropTypes from 'babel-plugin-transform-react-remove-prop-types' import pkg from './package.json' @@ -14,13 +14,13 @@ const getPlugins = (isProd) => { resolve(), babel({ presets: [['@babel/preset-env', { modules: false }], '@babel/preset-react'], - plugins: [isProd && [reactRemovePropType, { mode: 'wrap' }]].filter(Boolean), // using wrap to include propTypes only when process.env.NODE_ENV !== "production" + plugins: [isProd && [reactRemovePropTypes, { mode: 'wrap' }]].filter(Boolean), // using wrap to include propTypes only when process.env.NODE_ENV !== "production" exclude: 'node_modules/**' }), commonjs(), json(), isProd && terser() - ] + ].filter(Boolean) // filtering boolean values } const cjs = [{ From 60b60475519b9df27455fee4aff5f1099eb3f2ad Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Sat, 16 May 2020 21:04:58 +0530 Subject: [PATCH 5/6] remove console warnings or dev specific code from the production build --- packages/react-ui/rollup.config.js | 2 + .../src/components/theme-provider/index.js | 10 +-- packages/react-ui/src/primitives/element.js | 2 +- .../react-ui/src/primitives/interpolate.js | 64 +++++++++++-------- yarn.lock | 10 ++- 5 files changed, 57 insertions(+), 31 deletions(-) diff --git a/packages/react-ui/rollup.config.js b/packages/react-ui/rollup.config.js index dfa349c..39c15d0 100644 --- a/packages/react-ui/rollup.config.js +++ b/packages/react-ui/rollup.config.js @@ -4,6 +4,7 @@ import resolve from 'rollup-plugin-node-resolve' import external from 'rollup-plugin-peer-deps-external' import json from 'rollup-plugin-json' import { terser } from 'rollup-plugin-terser' +import replace from 'rollup-plugin-replace' import reactRemovePropTypes from 'babel-plugin-transform-react-remove-prop-types' import pkg from './package.json' @@ -17,6 +18,7 @@ const getPlugins = (isProd) => { plugins: [isProd && [reactRemovePropTypes, { mode: 'wrap' }]].filter(Boolean), // using wrap to include propTypes only when process.env.NODE_ENV !== "production" exclude: 'node_modules/**' }), + replace({ 'process.env.NODE_ENV': JSON.stringify(isProd ? 'production' : 'development') }), commonjs(), json(), isProd && terser() diff --git a/packages/react-ui/src/components/theme-provider/index.js b/packages/react-ui/src/components/theme-provider/index.js index a4145e1..3e6ccf7 100644 --- a/packages/react-ui/src/components/theme-provider/index.js +++ b/packages/react-ui/src/components/theme-provider/index.js @@ -71,10 +71,12 @@ const complainAboutUnits = tokens => { }) if (complainAbout.length) { const joined = complainAbout.join(', ') - let warning = `Scale values should have units. Found values without units in ${joined}.` - warning += `\n\n` - warning += `Example: Instead of 4, use 4px or 0.25rem` - console.warn(warning) + if (process.env.NODE_ENV !== 'production') { + let warning = `Scale values should have units. Found values without units in ${joined}.` + warning += `\n\n` + warning += `Example: Instead of 4, use 4px or 0.25rem` + console.warn(warning) + } } } diff --git a/packages/react-ui/src/primitives/element.js b/packages/react-ui/src/primitives/element.js index 055cbef..ee3d3fa 100644 --- a/packages/react-ui/src/primitives/element.js +++ b/packages/react-ui/src/primitives/element.js @@ -35,7 +35,7 @@ function Element( ref ) { // warn if theme provider is not used - if (!theme.defined) { + if (!theme.defined && process.env.NODE_ENV !== 'production') { let warning = `Missing ThemeProvider. Please wrap your application in a ThemeProvider from react-ui` warning += `\n\n` warning += `Refer to the documentation at: /components/ThemeProvider` diff --git a/packages/react-ui/src/primitives/interpolate.js b/packages/react-ui/src/primitives/interpolate.js index 23250c7..ebfd934 100644 --- a/packages/react-ui/src/primitives/interpolate.js +++ b/packages/react-ui/src/primitives/interpolate.js @@ -95,7 +95,7 @@ function replaceShortcuts(styles) { } function interpolateFactory(styles) { - return function(theme) { + return function (theme) { return interpolate(styles, theme) } } @@ -173,26 +173,28 @@ const showPixelFallbackWarning = (key, value, scaleName, scale, label) => { const fallbacksOnScale = getFallbacksOnScale(scaleName, scale, fallback) const keysOnScale = getKeysOnScale(scale).join(', ') - let warning = `${value} is not a valid token for ${key} in ${label} component, applying ${fallback} as fallback.` - warning += ` ` - warning += `Please use one of the keys on the '${scaleName}' scale.` - warning += `\n\n` + if (process.env.NODE_ENV !== 'production') { + let warning = `${value} is not a valid token for ${key} in ${label} component, applying ${fallback} as fallback.` + warning += ` ` + warning += `Please use one of the keys on the '${scaleName}' scale.` + warning += `\n\n` - if (fallbacksOnScale.length) { - if (fallbacksOnScale.length === 1) { - const expectedValue = fallbacksOnScale[0] - warning += `${value}px has the index ${expectedValue} on the scale. You can set the value for ${key} to ${expectedValue} to hide this warning.` + if (fallbacksOnScale.length) { + if (fallbacksOnScale.length === 1) { + const expectedValue = fallbacksOnScale[0] + warning += `${value}px has the index ${expectedValue} on the scale. You can set the value for ${key} to ${expectedValue} to hide this warning.` + } else { + const expectedValues = fallbacksOnScale.join(', ') + warning += `${value}px is on your scale, you can set the value for ${key} to one of { ${expectedValues} } to hide this warning.` + } + warning += `\n\n` } else { - const expectedValues = fallbacksOnScale.join(', ') - warning += `${value}px is on your scale, you can set the value for ${key} to one of { ${expectedValues} } to hide this warning.` + warning += `If you are trying to use a custom value not on the scale, you can hide this message by specifying the unit, example: ${value}px or ${value}em` + warning += `\n\n` } - warning += `\n\n` - } else { - warning += `If you are trying to use a custom value not on the scale, you can hide this message by specifying the unit, example: ${value}px or ${value}em` - warning += `\n\n` - } - console.warn(warning) + console.warn(warning) + } } const showColorWarning = (key, value, scaleName, scale, label) => { @@ -202,16 +204,28 @@ const showColorWarning = (key, value, scaleName, scale, label) => { const fallback = value const keysOnScale = getKeysOnScale(scale) - let warning = `${value} is not a valid token for ${key} in ${label} component, applying "${key}: ${fallback}" as fallback.` - warning += ` ` - warning += `Please use one of the keys on the '${scaleName}' scale.` - warning += `\n\n` - warning += `If you are trying to use a custom value not on the scale, you can hide this message by using the hex code for the color, example: #38C172` - warning += `\n\n` + if (process.env.NODE_ENV !== 'production') { + let warning = `${value} is not a valid token for ${key} in ${label} component, applying ${fallback} as fallback.` + warning += ` ` + warning += `Please use one of the keys on the '${scaleName}' scale.` + warning += `\n\n` - // find matching fallbacks in colors to suggest + if (fallbacksOnScale.length) { + if (fallbacksOnScale.length === 1) { + const expectedValue = fallbacksOnScale[0] + warning += `${value}px has the index ${expectedValue} on the scale. You can set the value for ${key} to ${expectedValue} to hide this warning.` + } else { + const expectedValues = fallbacksOnScale.join(', ') + warning += `${value}px is on your scale, you can set the value for ${key} to one of { ${expectedValues} } to hide this warning.` + } + warning += `\n\n` + } else { + warning += `If you are trying to use a custom value not on the scale, you can hide this message by specifying the unit, example: ${value}px or ${value}em` + warning += `\n\n` + } - console.warn(warning) + console.warn(warning) + } } export function getKeysOnScale(scale) { diff --git a/yarn.lock b/yarn.lock index 5bfac03..762e9a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14961,6 +14961,14 @@ rollup-plugin-peer-deps-external@^2.2.0: resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.2.tgz#506cef67fb68f41cca3ec08ca6ff7936b190f568" integrity sha512-XcHH4UW9exRTAf73d8rk2dw2UgF//cWbilhRI4Ni/n+t0zA1eBtohKyJROn0fxa4/+WZ5R3onAyIDiwRQL+59A== +rollup-plugin-replace@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz#f41ae5372e11e7a217cde349c8b5d5fd115e70e3" + integrity sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA== + dependencies: + magic-string "^0.25.2" + rollup-pluginutils "^2.6.0" + rollup-plugin-terser@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" @@ -14972,7 +14980,7 @@ rollup-plugin-terser@^5.3.0: serialize-javascript "^2.1.2" terser "^4.6.2" -rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: +rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1, 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== From ae3e3b9babb8861b0e95a1dd1add1eaa006efde1 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Sat, 16 May 2020 21:31:22 +0530 Subject: [PATCH 6/6] updated rollup official replace plugin --- packages/react-ui/package.json | 1 + packages/react-ui/rollup.config.js | 2 +- yarn.lock | 39 ++++++++++++++++++++++-------- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/packages/react-ui/package.json b/packages/react-ui/package.json index aca6f77..2fabc96 100644 --- a/packages/react-ui/package.json +++ b/packages/react-ui/package.json @@ -27,6 +27,7 @@ "@reach/menu-button": "^0.10.1", "@reach/tabs": "^0.10.1", "@reach/tooltip": "^0.10.1", + "@rollup/plugin-replace": "^2.3.2", "deepmerge": "4.0.0", "dlv": "^1.1.3", "emotion-theming": "^10.0.27", diff --git a/packages/react-ui/rollup.config.js b/packages/react-ui/rollup.config.js index 39c15d0..5918af2 100644 --- a/packages/react-ui/rollup.config.js +++ b/packages/react-ui/rollup.config.js @@ -4,7 +4,7 @@ import resolve from 'rollup-plugin-node-resolve' import external from 'rollup-plugin-peer-deps-external' import json from 'rollup-plugin-json' import { terser } from 'rollup-plugin-terser' -import replace from 'rollup-plugin-replace' +import replace from '@rollup/plugin-replace' import reactRemovePropTypes from 'babel-plugin-transform-react-remove-prop-types' import pkg from './package.json' diff --git a/yarn.lock b/yarn.lock index 762e9a3..d832a1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1971,6 +1971,23 @@ dependencies: tslib "^1.11.1" +"@rollup/plugin-replace@^2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.2.tgz#da4e0939047f793c2eb5eedfd6c271232d0a033f" + integrity sha512-KEEL7V2tMNOsbAoNMKg91l1sNXBDoiP31GFlqXVOuV5691VQKzKBh91+OKKOG4uQWYqcFskcjFyh1d5YnZd0Zw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + magic-string "^0.25.5" + +"@rollup/pluginutils@^3.0.8": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.10.tgz#a659b9025920378494cd8f8c59fbf9b3a50d5f12" + integrity sha512-d44M7t+PjmMrASHbhgpSbVgtL6EFyX7J4mYxwQ/c5eoaE6N2VgCgEcWVzNnwycIloti+/MpwFr8qfw+nRw00sw== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@sindresorhus/is@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" @@ -6927,6 +6944,11 @@ estree-walker@^0.6.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -11000,7 +11022,7 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -magic-string@^0.25.2: +magic-string@^0.25.2, magic-string@^0.25.5: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -12522,6 +12544,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== +picomatch@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -14961,14 +14988,6 @@ rollup-plugin-peer-deps-external@^2.2.0: resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.2.tgz#506cef67fb68f41cca3ec08ca6ff7936b190f568" integrity sha512-XcHH4UW9exRTAf73d8rk2dw2UgF//cWbilhRI4Ni/n+t0zA1eBtohKyJROn0fxa4/+WZ5R3onAyIDiwRQL+59A== -rollup-plugin-replace@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz#f41ae5372e11e7a217cde349c8b5d5fd115e70e3" - integrity sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA== - dependencies: - magic-string "^0.25.2" - rollup-pluginutils "^2.6.0" - rollup-plugin-terser@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" @@ -14980,7 +14999,7 @@ rollup-plugin-terser@^5.3.0: serialize-javascript "^2.1.2" terser "^4.6.2" -rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: +rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.8.1, 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==