diff --git a/package.json b/package.json index 315e34f7f..80bf64c7a 100644 --- a/package.json +++ b/package.json @@ -224,6 +224,7 @@ "@babel/cli": "^7.21.0", "@babel/preset-typescript": "^7.21.0", "@getoutline/jest-runner-serial": "^2.0.0", + "@optimize-lodash/rollup-plugin": "4.0.3", "@relative-ci/agent": "^4.1.3", "@types/body-scroll-lock": "^3.1.0", "@types/crypto-js": "^4.1.1", diff --git a/vite.config.ts b/vite.config.ts index f27ec3c19..8c059416e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,4 +1,6 @@ import path from "path"; +// eslint-disable-next-line import/no-unresolved +import { optimizeLodashImports } from "@optimize-lodash/rollup-plugin"; import react from "@vitejs/plugin-react"; import browserslistToEsbuild from "browserslist-to-esbuild"; import dotenv from "dotenv"; @@ -83,6 +85,10 @@ export default () => { ], }, }), + // Convert lodash imports to single imports + optimizeLodashImports(), + // Generate a stats.json file for webpack that will be consumed by RelativeCI + webpackStats(), ], optimizeDeps: { esbuildOptions: { @@ -113,7 +119,6 @@ export default () => { input: { index: "./app/index.tsx", }, - plugins: [webpackStats()], }, }, }); diff --git a/yarn.lock b/yarn.lock index 77bc35d38..e1578ea20 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1917,6 +1917,22 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@optimize-lodash/rollup-plugin@4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@optimize-lodash/rollup-plugin/-/rollup-plugin-4.0.3.tgz#dbee2c7294802a833fc5c52432614e2b7d3f2bea" + integrity sha512-zp9Yj8LL0QlUBXFmSI2EUI0phg9KvW9x1ZdsEhYuyxhNC1KiEUQR8ZEdH/GF8ZRPiKAL1fUJ8195wYlzhFsspA== + dependencies: + "@optimize-lodash/transform" "3.0.2" + "@rollup/pluginutils" "~5.0.2" + +"@optimize-lodash/transform@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@optimize-lodash/transform/-/transform-3.0.2.tgz#90d2db478b0a68e285d0dbdeaf0654f5ae8282c3" + integrity sha512-wkRhFMnzY9BQDc6mK1ORw+NN+v2DYY8HRI1P5n9Lvh7iwXzGeef5XKHQYIMFggGLPkGjlX14tjlXiEzb4SqJPg== + dependencies: + estree-walker "2.x" + magic-string "0.27.x" + "@outlinewiki/koa-passport@^4.2.1": version "4.2.1" resolved "https://registry.yarnpkg.com/@outlinewiki/koa-passport/-/koa-passport-4.2.1.tgz#4798f9f67cddc1b52ce4201f1032d455b493025c" @@ -2328,7 +2344,7 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^5.0.1": +"@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@~5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== @@ -6454,16 +6470,16 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estree-walker@2.x, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/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== -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -9295,6 +9311,13 @@ luxon@^3.0.1: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.2.1.tgz#14f1af209188ad61212578ea7e3d518d18cee45f" integrity sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg== +magic-string@0.27.x, magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -9302,13 +9325,6 @@ magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"