diff --git a/code/frameworks/angular/src/builders/start-storybook/index.ts b/code/frameworks/angular/src/builders/start-storybook/index.ts index f4a3d89c475..e2c01677383 100644 --- a/code/frameworks/angular/src/builders/start-storybook/index.ts +++ b/code/frameworks/angular/src/builders/start-storybook/index.ts @@ -106,8 +106,8 @@ function commandBuilder( return standaloneOptions; }), switchMap((standaloneOptions) => runInstance(standaloneOptions)), - map(() => { - return { success: true }; + map((port: number) => { + return { success: true, info: { port } }; }) ); } @@ -132,10 +132,10 @@ async function setup(options: StorybookBuilderOptions, context: BuilderContext) }; } function runInstance(options: StandaloneOptions) { - return new Observable((observer) => { + return new Observable((observer) => { // This Observable intentionally never complete, leaving the process running ;) buildDevStandalone(options as any).then( - () => observer.next(), + ({ port }) => observer.next(port), (error) => observer.error(buildStandaloneErrorHandler(error)) ); }); diff --git a/code/lib/core-server/src/build-dev.ts b/code/lib/core-server/src/build-dev.ts index 616433dae11..05254a86d93 100644 --- a/code/lib/core-server/src/build-dev.ts +++ b/code/lib/core-server/src/build-dev.ts @@ -28,7 +28,9 @@ import { updateCheck } from './utils/update-check'; import { getServerPort, getServerChannelUrl } from './utils/server-address'; import { getManagerBuilder, getPreviewBuilder } from './utils/get-builders'; -export async function buildDevStandalone(options: CLIOptions & LoadOptions & BuilderOptions) { +export async function buildDevStandalone( + options: CLIOptions & LoadOptions & BuilderOptions +): Promise<{ port: number }> { const { packageJson, versionUpdates, releaseNotes } = options; const { version } = packageJson; @@ -156,21 +158,21 @@ export async function buildDevStandalone(options: CLIOptions & LoadOptions & Bui // eslint-disable-next-line no-console console.log(problems.map((p) => p.stack)); process.exit(problems.length > 0 ? 1 : 0); - return; + } else { + const name = + frameworkName.split('@storybook/').length > 1 + ? frameworkName.split('@storybook/')[1] + : frameworkName; + + outputStartupInformation({ + updateInfo: versionCheck, + version, + name, + address, + networkAddress, + managerTotalTime, + previewTotalTime, + }); } - - const name = - frameworkName.split('@storybook/').length > 1 - ? frameworkName.split('@storybook/')[1] - : frameworkName; - - outputStartupInformation({ - updateInfo: versionCheck, - version, - name, - address, - networkAddress, - managerTotalTime, - previewTotalTime, - }); + return { port }; } diff --git a/code/lib/core-server/src/withTelemetry.ts b/code/lib/core-server/src/withTelemetry.ts index 053f2846fa7..39ad33e7cf1 100644 --- a/code/lib/core-server/src/withTelemetry.ts +++ b/code/lib/core-server/src/withTelemetry.ts @@ -61,7 +61,7 @@ async function getErrorLevel({ cliOptions, presetOptions }: TelemetryOptions): P export async function withTelemetry( eventType: EventType, options: TelemetryOptions, - run: () => Promise + run: () => Promise ) { if (!options.cliOptions.disableTelemetry) telemetry('boot', { eventType }, { stripMetadata: true });