From 7c05626d8c73fdca854e09b0c3da15a81dcdc256 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 10 Oct 2024 11:44:03 +0200 Subject: [PATCH] cli: env var definitions for deps optimization in vite Signed-off-by: Patrik Oldsberg --- packages/cli/src/lib/bundler/server.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/cli/src/lib/bundler/server.ts b/packages/cli/src/lib/bundler/server.ts index bf67db5364..6256b168bd 100644 --- a/packages/cli/src/lib/bundler/server.ts +++ b/packages/cli/src/lib/bundler/server.ts @@ -132,6 +132,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be nodePolyfills: viteNodePolyfills, } = require('vite-plugin-node-polyfills'); const { createHtmlPlugin: viteHtml } = require('vite-plugin-html'); + viteServer = await vite.createServer({ define: { 'process.argv': JSON.stringify(process.argv), @@ -140,6 +141,24 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be // to check for presence of it in source code without module resolution errors. 'process.env.HAS_REACT_DOM_CLIENT': JSON.stringify(hasReactDomClient()), }, + optimizeDeps: { + esbuildOptions: { + plugins: [ + { + name: 'custom-define', + setup(build: { + initialOptions: { define: Record }; + }) { + const define = (build.initialOptions.define ||= {}); + define['process.env.HAS_REACT_DOM_CLIENT'] = JSON.stringify( + hasReactDomClient(), + ); + define['process.env.NODE_ENV'] = JSON.stringify('development'); + }, + }, + ], + }, + }, plugins: [ viteReact(), viteNodePolyfills({