From 639aa1ee23567fb6b7df114abaaa104121090f69 Mon Sep 17 00:00:00 2001 From: moklick Date: Thu, 16 Dec 2021 16:57:16 +0100 Subject: [PATCH] refactor(bundle): remove d3-color via rollup alias --- package-lock.json | 25 +++++++++++++++++++++++++ package.json | 1 + rollup.config.js | 4 ++++ src/d3-color-alias.js | 10 ++++++++++ 4 files changed, 40 insertions(+) create mode 100644 src/d3-color-alias.js diff --git a/package-lock.json b/package-lock.json index 3a6cf159..cd221c85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "@babel/preset-env": "^7.16.4", "@babel/preset-react": "^7.16.0", "@babel/preset-typescript": "^7.16.0", + "@rollup/plugin-alias": "^3.1.8", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^21.0.1", "@rollup/plugin-node-resolve": "^13.0.6", @@ -2103,6 +2104,21 @@ "@octokit/openapi-types": "^11.2.0" } }, + "node_modules/@rollup/plugin-alias": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.8.tgz", + "integrity": "sha512-tf7HeSs/06wO2LPqKNY3Ckbvy0JRe7Jyn98bXnt/gfrxbe+AJucoNJlsEVi9sdgbQtXemjbakCpO/76JVgnHpA==", + "dev": true, + "dependencies": { + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", @@ -12374,6 +12390,15 @@ "@octokit/openapi-types": "^11.2.0" } }, + "@rollup/plugin-alias": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.8.tgz", + "integrity": "sha512-tf7HeSs/06wO2LPqKNY3Ckbvy0JRe7Jyn98bXnt/gfrxbe+AJucoNJlsEVi9sdgbQtXemjbakCpO/76JVgnHpA==", + "dev": true, + "requires": { + "slash": "^3.0.0" + } + }, "@rollup/plugin-babel": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz", diff --git a/package.json b/package.json index 891be9e2..aad3ca3d 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@babel/preset-env": "^7.16.4", "@babel/preset-react": "^7.16.0", "@babel/preset-typescript": "^7.16.0", + "@rollup/plugin-alias": "^3.1.8", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^21.0.1", "@rollup/plugin-node-resolve": "^13.0.6", diff --git a/rollup.config.js b/rollup.config.js index 844f2252..23a1f62b 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -4,6 +4,7 @@ import babel from '@rollup/plugin-babel'; import postcss from 'rollup-plugin-postcss'; import bundleSize from 'rollup-plugin-bundle-size'; import replace from '@rollup/plugin-replace'; +import alias from '@rollup/plugin-alias'; import svgr from '@svgr/rollup'; import typescript from 'rollup-plugin-typescript2'; import { DEFAULT_EXTENSIONS as DEFAULT_BABEL_EXTENSIONS } from '@babel/core'; @@ -38,6 +39,9 @@ export const baseConfig = ({ mainFile = pkg.main, moduleFile = pkg.module, injec }, ], plugins: [ + alias({ + entries: [{ find: 'd3-color', replacement: __dirname + '/src/d3-color-alias' }], + }), replace({ __ENV__: JSON.stringify(processEnv), __REACT_FLOW_VERSION__: JSON.stringify(pkg.version), diff --git a/src/d3-color-alias.js b/src/d3-color-alias.js new file mode 100644 index 00000000..4a079d72 --- /dev/null +++ b/src/d3-color-alias.js @@ -0,0 +1,10 @@ +// this helps us to reduce bundle size by ~10kb. d3-color is not used but can't be treeshaked in this case. + +const obj = {}; +export const rgb = {}; +export const color = {}; +export const hsl = {}; +export const lab = {}; +export const hcl = {}; +export const cubehelix = {}; +export default obj;