diff --git a/lib/core/src/server/build-dev.ts b/lib/core/src/server/build-dev.ts index 684a0d1f1ba1..622df7aea7fe 100644 --- a/lib/core/src/server/build-dev.ts +++ b/lib/core/src/server/build-dev.ts @@ -153,8 +153,8 @@ function outputStartupInformation(options: { version: string; address: string; networkAddress: string; - managerTotalTime: [number, number]; - previewTotalTime: [number, number]; + managerTotalTime?: [number, number]; + previewTotalTime?: [number, number]; }) { const { updateInfo, @@ -283,10 +283,9 @@ export async function buildDevStandalone( if (options.smokeTest) { await outputStats(previewStats, managerStats); - const managerWarnings = (managerStats as any).toJson().warnings.length > 0; - const previewWarnings = - !options.ignorePreview && (previewStats as any).toJson().warnings.length > 0; - process.exit(managerWarnings || previewWarnings ? 1 : 0); + const hasManagerWarnings = managerStats && managerStats.toJson().warnings.length > 0; + const hasPreviewWarnings = previewStats && previewStats.toJson().warnings.length > 0; + process.exit(hasManagerWarnings || (hasPreviewWarnings && !options.ignorePreview) ? 1 : 0); return; } diff --git a/lib/core/src/server/dev-server.ts b/lib/core/src/server/dev-server.ts index fce777198134..10e964d4f79f 100644 --- a/lib/core/src/server/dev-server.ts +++ b/lib/core/src/server/dev-server.ts @@ -258,7 +258,7 @@ const startManager = async ({ } if (!managerConfig) { - return { managerStats: null, managerTotalTime: [0, 0] } as ManagerResult; + return {}; } const compiler = webpack(managerConfig); @@ -311,7 +311,7 @@ const startPreview = async ({ outputDir, }: any): Promise => { if (options.ignorePreview) { - return { previewStats: null, previewTotalTime: [0, 0] } as PreviewResult; + return {}; } const previewConfig = await loadConfig({ diff --git a/lib/core/src/server/types.ts b/lib/core/src/server/types.ts index 6993a9dd0dbf..bcd4062089fc 100644 --- a/lib/core/src/server/types.ts +++ b/lib/core/src/server/types.ts @@ -94,13 +94,13 @@ export interface ReleaseNotesData { } export interface PreviewResult { - previewStats: Stats; - previewTotalTime: [number, number]; + previewStats?: Stats; + previewTotalTime?: [number, number]; } export interface ManagerResult { - managerStats: Stats; - managerTotalTime: [number, number]; + managerStats?: Stats; + managerTotalTime?: [number, number]; } // TODO: this is a generic interface that we can share across multiple SB packages (like @storybook/cli)