diff --git a/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts index a9fb1aa105f7..bba447815366 100644 --- a/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts @@ -62,6 +62,20 @@ export function execute( options: SSRDevServerBuilderOptions, context: BuilderContext, ): Observable { + let browserSync: typeof import('browser-sync'); + try { + browserSync = require('browser-sync'); + } catch { + return of({ + success: false, + error: + // eslint-disable-next-line max-len + 'Required dependency `browser-sync` is not installed, most likely you need to run `npm install browser-sync --save-dev` in your project.', + }); + } + + const bsInstance = browserSync.create(); + const browserTarget = targetFromTargetString(options.browserTarget); const serverTarget = targetFromTargetString(options.serverTarget); const getBaseUrl = (bs: BrowserSyncInstance) => @@ -80,19 +94,6 @@ export function execute( verbose: options.verbose, } as json.JsonObject); - let browserSync: typeof import('browser-sync'); - try { - browserSync = require('browser-sync'); - } catch { - return of({ - success: false, - error: - '"browser-sync" is not installed, most likely you need to run `npm install browser-sync --save-dev` in your project.', - }); - } - - const bsInstance = browserSync.create(); - context.logger.error(tags.stripIndents` **************************************************************************************** This is a simple server for use in testing or debugging Angular applications locally.