diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 307e855401..ffff9981f8 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -12,7 +12,6 @@ import { BuilderContext } from '@angular-devkit/architect'; import { BuilderOutput } from '@angular-devkit/architect'; import type { ConfigOptions } from 'karma'; import { Configuration } from 'webpack'; -import { DevServerBuildOutput } from '@angular-devkit/build-webpack'; import type http from 'node:http'; import { IndexHtmlTransform } from '@angular/build/private'; import { json } from '@angular-devkit/core'; @@ -144,10 +143,14 @@ export interface DevServerBuilderOptions { } // @public -export type DevServerBuilderOutput = DevServerBuildOutput & { +export interface DevServerBuilderOutput extends BuilderOutput { + // (undocumented) + address?: string; + // (undocumented) baseUrl: string; - stats: BuildEventStats; -}; + // (undocumented) + port?: number; +} // @public export function executeBrowserBuilder(options: BrowserBuilderOptions, context: BuilderContext, transforms?: { diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 381b3d4943..a225bef62d 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -311,6 +311,7 @@ LARGE_SPECS = { "size": "large", "flaky": True, "extra_deps": [ + "//packages/angular_devkit/build_webpack", "@npm//@types/http-proxy", "@npm//http-proxy", "@npm//puppeteer", diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts index dbd153c477..17d36f6200 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts @@ -14,8 +14,8 @@ import { EMPTY, Observable, defer, switchMap } from 'rxjs'; import type { ExecutionTransformer } from '../../transforms'; import { checkPort } from '../../utils/check-port'; import { normalizeOptions } from './options'; +import type { DevServerBuilderOutput } from './output'; import type { Schema as DevServerBuilderOptions } from './schema'; -import type { DevServerBuilderOutput } from './webpack-server'; /** * A Builder that executes a development server based on the provided browser target option. diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index d57172021e..6edd06ef29 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -8,8 +8,8 @@ import { createBuilder } from '@angular-devkit/architect'; import { execute } from './builder'; +import { DevServerBuilderOutput } from './output'; import { Schema as DevServerBuilderOptions } from './schema'; -import { DevServerBuilderOutput } from './webpack-server'; export { DevServerBuilderOptions, DevServerBuilderOutput, execute as executeDevServerBuilder }; export default createBuilder(execute); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/output.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/output.ts new file mode 100644 index 0000000000..a937ca2dad --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/output.ts @@ -0,0 +1,18 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { BuilderOutput } from '@angular-devkit/architect'; + +/** + * @experimental Direct usage of this type is considered experimental. + */ +export interface DevServerBuilderOutput extends BuilderOutput { + baseUrl: string; + port?: number; + address?: string; +} diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts index 6239caa35d..c2537d110a 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts @@ -8,6 +8,7 @@ import { Architect, BuilderRun } from '@angular-devkit/architect'; import { DevServerBuilderOutput } from '@angular-devkit/build-angular'; +import { EmittedFiles } from '@angular-devkit/build-webpack'; import { normalize, virtualFs } from '@angular-devkit/core'; import { createArchitect, host } from '../../../testing/test-utils'; @@ -54,7 +55,7 @@ describe('Dev Server Builder', () => { const output = (await run.result) as DevServerBuilderOutput; expect(output.success).toBe(true); const hasSourceMaps = - output.emittedFiles && output.emittedFiles.some((f) => f.extension === '.map'); + output.emittedFiles && output.emittedFiles.some((f: EmittedFiles) => f.extension === '.map'); expect(hasSourceMaps).toBe(false, `Expected emitted files not to contain '.map' files.`); }); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/vite-server.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/vite-server.ts index 556f36c14e..39f9b56428 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/vite-server.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/vite-server.ts @@ -33,7 +33,7 @@ import { getIndexOutputFile } from '../../utils/webpack-browser-config'; import { buildEsbuildBrowser } from '../browser-esbuild'; import { Schema as BrowserBuilderOptions } from '../browser-esbuild/schema'; import type { NormalizedDevServerOptions } from './options'; -import type { DevServerBuilderOutput } from './webpack-server'; +import type { DevServerBuilderOutput } from './output'; interface OutputFileRecord { contents: Uint8Array;