diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index 15f6d1c4..31dbdf83 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -109,6 +109,9 @@ yargs vite: { desc: 'Start application by vite' }, + viteMode: { + desc: 'same like vite start --mode' + }, port: { desc: 'Setting application server port, default is 3000' }, @@ -153,6 +156,9 @@ yargs vite: { desc: 'Build application by vite' }, + viteMode: { + desc: 'same like vite build --mode' + }, legacy: { desc: 'Close default rollup manulChunks setting in vite mode' }, diff --git a/packages/cli/src/preprocess.ts b/packages/cli/src/preprocess.ts index bacc27de..d9d60cb9 100644 --- a/packages/cli/src/preprocess.ts +++ b/packages/cli/src/preprocess.ts @@ -33,6 +33,9 @@ export const handleEnv = async (argv: Argv) => { if (argv.nominify) { process.env.NOMINIFY = '1' } + if (argv.viteMode) { + process.env.VITEMODE = argv.viteMode + } process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000' if (argv.vite) { diff --git a/packages/plugin-react/src/tools/vite.ts b/packages/plugin-react/src/tools/vite.ts index aafc8db1..9a9ee5d0 100644 --- a/packages/plugin-react/src/tools/vite.ts +++ b/packages/plugin-react/src/tools/vite.ts @@ -129,14 +129,14 @@ const viteStart = async () => { } const viteBuild = async () => { await build({ ...clientConfig, mode: 'production' }) - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } const viteBuildClient = async () => { - await build({ ...clientConfig, mode: 'production' }).catch(_ => { }) + await build({ ...clientConfig, mode: process.env.VITEMODE ?? 'production' }).catch(_ => { }) } const viteBuildServer = async () => { - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } export { diff --git a/packages/plugin-react18/src/tools/vite.ts b/packages/plugin-react18/src/tools/vite.ts index 6fbc32fd..70783e3b 100644 --- a/packages/plugin-react18/src/tools/vite.ts +++ b/packages/plugin-react18/src/tools/vite.ts @@ -130,14 +130,14 @@ const viteStart = async () => { } const viteBuild = async () => { await build({ ...clientConfig, mode: 'production' }) - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } const viteBuildClient = async () => { - await build({ ...clientConfig, mode: 'production' }).catch(_ => { }) + await build({ ...clientConfig, mode: process.env.VITEMODE ?? 'production' }).catch(_ => { }) } const viteBuildServer = async () => { - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } export { diff --git a/packages/plugin-vue/src/tools/vite.ts b/packages/plugin-vue/src/tools/vite.ts index 1274998d..49c2f4a8 100644 --- a/packages/plugin-vue/src/tools/vite.ts +++ b/packages/plugin-vue/src/tools/vite.ts @@ -52,7 +52,7 @@ const viteStart = async () => { const viteBuild = async () => { const build: typeof BuildType = (await import('vite')).build await build({ ...clientConfig, mode: 'production' }) - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } export { diff --git a/packages/plugin-vue3/src/tools/vite.ts b/packages/plugin-vue3/src/tools/vite.ts index 41df49e1..89bb3fc0 100644 --- a/packages/plugin-vue3/src/tools/vite.ts +++ b/packages/plugin-vue3/src/tools/vite.ts @@ -116,14 +116,14 @@ const viteStart = async () => { } const viteBuild = async () => { await build({ ...clientConfig, mode: 'production' }) - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } const viteBuildClient = async () => { - await build({ ...clientConfig, mode: 'production' }).catch(_ => { }) + await build({ ...clientConfig, mode: process.env.VITEMODE ?? 'production' }).catch(_ => { }) } const viteBuildServer = async () => { - await build({ ...serverConfig, mode: 'production' }) + await build({ ...serverConfig, mode: process.env.VITEMODE ?? 'production' }) } export { diff --git a/packages/types/src/yargs.ts b/packages/types/src/yargs.ts index dd3ecab0..7319bd38 100644 --- a/packages/types/src/yargs.ts +++ b/packages/types/src/yargs.ts @@ -22,4 +22,5 @@ export type Argv = Arguments<{ bc?: boolean bcp?: string sourcemap?: string + viteMode?: string }> diff --git a/packages/utils/src/server/vite/config-plugin.ts b/packages/utils/src/server/vite/config-plugin.ts index 6e2b1c89..c0288720 100644 --- a/packages/utils/src/server/vite/config-plugin.ts +++ b/packages/utils/src/server/vite/config-plugin.ts @@ -285,7 +285,7 @@ const commonConfig = (): UserConfig => { const lessOptions = css?.().loaderOptions?.less?.lessOptions ? css?.().loaderOptions?.less?.lessOptions : css?.().loaderOptions?.less return { root: cwd, - mode: 'development', + mode: process.env.VITEMODE ?? 'development', ...(optimize ? { logLevel: 'slient' } : {}), server: { middlewareMode: 'ssr' as SSR,