@@ -3,11 +3,12 @@ import { NormalizedBrowserBuilderSchema } from '@angular-devkit/build-angular/sr
33import { DevServerBuilder , DevServerBuilderOptions } from '@angular-devkit/build-angular/src/dev-server' ;
44import { Path , virtualFs } from '@angular-devkit/core' ;
55import * as fs from 'fs' ;
6- import { Observable , of } from 'rxjs' ;
6+ import { Observable , from , of } from 'rxjs' ;
77import { concatMap , tap } from 'rxjs/operators' ;
88
99import { CordovaBuildBuilder , CordovaBuildBuilderSchema } from '../cordova-build' ;
1010
11+ import { createConsoleLogServer } from './log-server' ;
1112import { CordovaServeBuilderSchema } from './schema' ;
1213
1314export class CordovaServeBuilder implements Builder < CordovaServeBuilderSchema > {
@@ -36,9 +37,9 @@ export class CordovaServeBuilder implements Builder<CordovaServeBuilderSchema> {
3637 }
3738
3839 protected _getCordovaBuildConfig ( cordovaServeOptions : CordovaServeBuilderSchema ) : Observable < BuilderConfiguration < CordovaBuildBuilderSchema > > {
39- const { platform, cordovaBasePath, cordovaAssets, cordovaMock } = cordovaServeOptions ;
40+ const { platform, cordovaBasePath, cordovaAssets, cordovaMock, consolelogs , consolelogsPort } = cordovaServeOptions ;
4041 const [ project , target , configuration ] = cordovaServeOptions . cordovaBuildTarget . split ( ':' ) ;
41- const cordovaBuildTargetSpec = { project, target, configuration, overrides : { platform, cordovaBasePath, cordovaAssets, cordovaMock } } ;
42+ const cordovaBuildTargetSpec = { project, target, configuration, overrides : { platform, cordovaBasePath, cordovaAssets, cordovaMock, consolelogs , consolelogsPort } } ;
4243 const cordovaBuildTargetConfig = this . context . architect . getBuilderConfiguration < CordovaBuildBuilderSchema > ( cordovaBuildTargetSpec ) ;
4344
4445 return this . context . architect . getBuilderDescription ( cordovaBuildTargetConfig ) . pipe (
@@ -52,6 +53,14 @@ class CordovaDevServerBuilder extends DevServerBuilder {
5253 super ( context ) ;
5354 }
5455
56+ run ( builderConfig : BuilderConfiguration < DevServerBuilderOptions > ) : Observable < BuildEvent > {
57+ if ( this . cordovaBuildOptions . consolelogs && this . cordovaBuildOptions . consolelogsPort ) {
58+ return from ( createConsoleLogServer ( builderConfig . options . host , this . cordovaBuildOptions . consolelogsPort ) )
59+ . pipe ( _ => super . run ( builderConfig ) ) ;
60+ }
61+ return super . run ( builderConfig ) ;
62+ }
63+
5564 buildWebpackConfig ( root : Path , projectRoot : Path , host : virtualFs . Host < fs . Stats > , browserOptions : NormalizedBrowserBuilderSchema ) {
5665 const builder = new CordovaBuildBuilder ( this . context ) ;
5766 builder . validateBuilderConfig ( this . cordovaBuildOptions ) ;
0 commit comments