diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 20b1b6529b60..9e20fc349a84 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -69,6 +69,7 @@ ts_library( "//packages/angular_devkit/core/node", "//packages/angular_devkit/schematics", "//packages/angular_devkit/schematics/tools", + "@npm//@angular/core", "@npm//@types/debug", "@npm//@types/inquirer", "@npm//@types/node", @@ -79,6 +80,7 @@ ts_library( "@npm//@types/uuid", "@npm//ansi-colors", "@npm//jsonc-parser", + "@npm//open", "@npm//ora", ], ) diff --git a/packages/angular/cli/commands/doc-impl.ts b/packages/angular/cli/commands/doc-impl.ts index 375bf9260c8f..1c1fc86d1535 100644 --- a/packages/angular/cli/commands/doc-impl.ts +++ b/packages/angular/cli/commands/doc-impl.ts @@ -6,12 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ +import * as open from 'open'; import { Command } from '../models/command'; import { Arguments } from '../models/interface'; import { Schema as DocCommandSchema } from './doc'; -const open = require('open'); - export class DocCommand extends Command { public async run(options: DocCommandSchema & Arguments) { if (!options.keyword) { @@ -39,7 +38,7 @@ export class DocCommand extends Command { // and use it if we can find it try { /* tslint:disable-next-line:no-implicit-dependencies */ - const currentNgVersion = require('@angular/core').VERSION.major; + const currentNgVersion = (await import('@angular/core')).VERSION.major; domain = `v${currentNgVersion}.angular.io`; } catch (e) { } } diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index 281397370af0..575203d2271f 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -14,7 +14,7 @@ import { } from '@angular-devkit/build-webpack'; import { json, tags } from '@angular-devkit/core'; import * as path from 'path'; -import { Observable, from, of } from 'rxjs'; +import { Observable, from } from 'rxjs'; import { concatMap, switchMap } from 'rxjs/operators'; import * as ts from 'typescript'; import * as url from 'url'; @@ -307,7 +307,7 @@ export function serveWebpackBrowser( webpackDevServerFactory: require('webpack-dev-server') as typeof webpackDevServer, }, ).pipe( - concatMap((buildEvent, index) => { + concatMap(async (buildEvent, index) => { // Resolve serve address. const serverAddress = url.format({ protocol: options.ssl ? 'https' : 'http', @@ -325,8 +325,8 @@ export function serveWebpackBrowser( ` + '\n'); if (options.open) { - const open = require('open'); - open(serverAddress); + const open = await import('open'); + await open(serverAddress); } } @@ -334,7 +334,7 @@ export function serveWebpackBrowser( logger.info(`\n${colors.greenBright(colors.symbols.check)} Compiled successfully.`); } - return of({ ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput); + return { ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput; }), ); }),