diff --git a/src/cli.ts b/src/cli.ts index c1950e4..8849b44 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -92,12 +92,13 @@ cli.command('build [root]', 'build for production').action(async (root: string, // preview cli .command('preview [root]', 'start electron app to preview production build') - .action(async (root: string, options: GlobalCLIOptions) => { + .option('--skipBuild', `[boolean] skip build`) + .action(async (root: string, options: { skipBuild?: boolean } & GlobalCLIOptions) => { const { preview } = await import('./preview') const inlineConfig = createInlineConfig(root, options) try { - await preview(inlineConfig) + await preview(inlineConfig, { skipBuild: options.skipBuild }) } catch (e) { const error = e as Error createLogger(options.logLevel).error(colors.red(`error during preview electron app:\n${error.stack}`), { error }) diff --git a/src/preview.ts b/src/preview.ts index 07ec3c8..dd15533 100644 --- a/src/preview.ts +++ b/src/preview.ts @@ -4,8 +4,10 @@ import type { InlineConfig } from './config' import { startElectron } from './electron' import { build } from './build' -export async function preview(inlineConfig: InlineConfig = {}): Promise { - await build(inlineConfig) +export async function preview(inlineConfig: InlineConfig = {}, options: { skipBuild?: boolean }): Promise { + if (!options.skipBuild) { + await build(inlineConfig) + } const logger = createLogger(inlineConfig.logLevel)