Charles Lyding 1cebc3a5e9 refactor(@angular-devkit/build-angular): use dev-server implementation neutral builder output result interface
The dev-server builder will now only provide an interface with typed fields
for the combined set of common elements for the Webpack and Vite development
server implementations. Any additional builder specific runtime fields will
still be present and accessible.
2024-04-22 09:06:33 -04:00

10 KiB

API Report File for "@angular-devkit/build-angular"

Do not edit this file. It is a report generated by API Extractor.


/// <reference types="node" />

import { ApplicationBuilderOptions } from '@angular/build';
import { buildApplication } from '@angular/build';
import { BuilderContext } from '@angular-devkit/architect';
import { BuilderOutput } from '@angular-devkit/architect';
import type { ConfigOptions } from 'karma';
import { Configuration } from 'webpack';
import type http from 'node:http';
import { IndexHtmlTransform } from '@angular/build/private';
import { json } from '@angular-devkit/core';
import { Observable } from 'rxjs';
import type { Plugin as Plugin_2 } from 'esbuild';
import webpack from 'webpack';
import { WebpackLoggingCallback } from '@angular-devkit/build-webpack';

export { ApplicationBuilderOptions }

// @public (undocumented)
export type AssetPattern = AssetPatternObject | string;

// @public (undocumented)
export interface AssetPatternObject {
    followSymlinks?: boolean;
    glob: string;
    ignore?: string[];
    input: string;
    output?: string;
}

// @public
export interface BrowserBuilderOptions {
    allowedCommonJsDependencies?: string[];
    aot?: boolean;
    assets?: AssetPattern[];
    baseHref?: string;
    budgets?: Budget[];
    buildOptimizer?: boolean;
    commonChunk?: boolean;
    crossOrigin?: CrossOrigin;
    deleteOutputPath?: boolean;
    deployUrl?: string;
    extractLicenses?: boolean;
    fileReplacements?: FileReplacement[];
    i18nDuplicateTranslation?: I18NTranslation;
    i18nMissingTranslation?: I18NTranslation;
    index: IndexUnion;
    inlineStyleLanguage?: InlineStyleLanguage;
    localize?: Localize;
    main: string;
    namedChunks?: boolean;
    ngswConfigPath?: string;
    optimization?: OptimizationUnion;
    outputHashing?: OutputHashing;
    outputPath: string;
    poll?: number;
    polyfills?: Polyfills;
    preserveSymlinks?: boolean;
    progress?: boolean;
    resourcesOutputPath?: string;
    scripts?: ScriptElement[];
    serviceWorker?: boolean;
    sourceMap?: SourceMapUnion;
    statsJson?: boolean;
    stylePreprocessorOptions?: StylePreprocessorOptions;
    styles?: StyleElement[];
    subresourceIntegrity?: boolean;
    tsConfig: string;
    vendorChunk?: boolean;
    verbose?: boolean;
    watch?: boolean;
    webWorkerTsConfig?: string;
}

// @public
export type BrowserBuilderOutput = BuilderOutput & {
    stats: BuildEventStats;
    baseOutputPath: string;
    outputs: {
        locale?: string;
        path: string;
        baseHref?: string;
    }[];
};

// @public (undocumented)
export interface Budget {
    baseline?: string;
    error?: string;
    maximumError?: string;
    maximumWarning?: string;
    minimumError?: string;
    minimumWarning?: string;
    name?: string;
    type: Type;
    warning?: string;
}

export { buildApplication }

// @public
export enum CrossOrigin {
    // (undocumented)
    Anonymous = "anonymous",
    // (undocumented)
    None = "none",
    // (undocumented)
    UseCredentials = "use-credentials"
}

// @public
export interface DevServerBuilderOptions {
    allowedHosts?: string[];
    // @deprecated
    browserTarget?: string;
    buildTarget?: string;
    disableHostCheck?: boolean;
    forceEsbuild?: boolean;
    headers?: {
        [key: string]: string;
    };
    hmr?: boolean;
    host?: string;
    liveReload?: boolean;
    open?: boolean;
    poll?: number;
    port?: number;
    prebundle?: PrebundleUnion;
    proxyConfig?: string;
    publicHost?: string;
    servePath?: string;
    ssl?: boolean;
    sslCert?: string;
    sslKey?: string;
    verbose?: boolean;
    watch?: boolean;
}

// @public
export interface DevServerBuilderOutput extends BuilderOutput {
    // (undocumented)
    address?: string;
    // (undocumented)
    baseUrl: string;
    // (undocumented)
    port?: number;
}

// @public
export function executeBrowserBuilder(options: BrowserBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
    logging?: WebpackLoggingCallback;
    indexHtml?: IndexHtmlTransform;
}): Observable<BrowserBuilderOutput>;

// @public
export function executeDevServerBuilder(options: DevServerBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<Configuration>;
    logging?: WebpackLoggingCallback;
    indexHtml?: IndexHtmlTransform;
}, extensions?: {
    buildPlugins?: Plugin_2[];
    middleware?: ((req: http.IncomingMessage, res: http.ServerResponse, next: (err?: unknown) => void) => void)[];
    builderSelector?: (info: BuilderSelectorInfo, logger: BuilderContext['logger']) => string;
}): Observable<DevServerBuilderOutput>;

// @public
export function executeExtractI18nBuilder(options: ExtractI18nBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
}): Promise<BuilderOutput>;

// @public
export function executeKarmaBuilder(options: KarmaBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<Configuration>;
    karmaOptions?: (options: KarmaConfigOptions) => KarmaConfigOptions;
}): Observable<BuilderOutput>;

// @public
export function executeNgPackagrBuilder(options: NgPackagrBuilderOptions, context: BuilderContext): Observable<BuilderOutput>;

// @public
export function executeProtractorBuilder(options: ProtractorBuilderOptions, context: BuilderContext): Promise<BuilderOutput>;

// @public
export function executeServerBuilder(options: ServerBuilderOptions, context: BuilderContext, transforms?: {
    webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
}): Observable<ServerBuilderOutput>;

// @public (undocumented)
export function executeSSRDevServerBuilder(options: SSRDevServerBuilderOptions, context: BuilderContext): Observable<SSRDevServerBuilderOutput>;

// @public
export type ExecutionTransformer<T> = (input: T) => T | Promise<T>;

// @public
export interface ExtractI18nBuilderOptions {
    // @deprecated
    browserTarget?: string;
    buildTarget?: string;
    format?: Format;
    outFile?: string;
    outputPath?: string;
    progress?: boolean;
}

// @public (undocumented)
export interface FileReplacement {
    // (undocumented)
    replace?: string;
    // (undocumented)
    replaceWith?: string;
    // (undocumented)
    src?: string;
    // (undocumented)
    with?: string;
}

// @public
export interface KarmaBuilderOptions {
    assets?: AssetPattern_2[];
    browsers?: Browsers;
    codeCoverage?: boolean;
    codeCoverageExclude?: string[];
    exclude?: string[];
    fileReplacements?: FileReplacement_2[];
    include?: string[];
    inlineStyleLanguage?: InlineStyleLanguage_2;
    karmaConfig?: string;
    main?: string;
    poll?: number;
    polyfills?: Polyfills_2;
    preserveSymlinks?: boolean;
    progress?: boolean;
    reporters?: string[];
    scripts?: ScriptElement_2[];
    sourceMap?: SourceMapUnion_2;
    stylePreprocessorOptions?: StylePreprocessorOptions_2;
    styles?: StyleElement_2[];
    tsConfig: string;
    watch?: boolean;
    webWorkerTsConfig?: string;
}

// @public (undocumented)
export type KarmaConfigOptions = ConfigOptions & {
    buildWebpack?: unknown;
    configFile?: string;
};

// @public
export interface NgPackagrBuilderOptions {
    poll?: number;
    project: string;
    tsConfig?: string;
    watch?: boolean;
}

// @public (undocumented)
export interface OptimizationObject {
    fonts?: FontsUnion;
    scripts?: boolean;
    styles?: StylesUnion;
}

// @public
export type OptimizationUnion = boolean | OptimizationObject;

// @public
export enum OutputHashing {
    // (undocumented)
    All = "all",
    // (undocumented)
    Bundles = "bundles",
    // (undocumented)
    Media = "media",
    // (undocumented)
    None = "none"
}

// @public
export interface ProtractorBuilderOptions {
    baseUrl?: string;
    devServerTarget?: string;
    grep?: string;
    host?: string;
    invertGrep?: boolean;
    port?: number;
    protractorConfig: string;
    specs?: string[];
    suite?: string;
    webdriverUpdate?: boolean;
}

// @public (undocumented)
export interface ServerBuilderOptions {
    assets?: AssetPattern_3[];
    buildOptimizer?: boolean;
    deleteOutputPath?: boolean;
    deployUrl?: string;
    externalDependencies?: string[];
    extractLicenses?: boolean;
    fileReplacements?: FileReplacement_3[];
    i18nDuplicateTranslation?: I18NTranslation_2;
    i18nMissingTranslation?: I18NTranslation_2;
    inlineStyleLanguage?: InlineStyleLanguage_3;
    localize?: Localize_2;
    main: string;
    namedChunks?: boolean;
    optimization?: OptimizationUnion_2;
    outputHashing?: OutputHashing_2;
    outputPath: string;
    poll?: number;
    preserveSymlinks?: boolean;
    progress?: boolean;
    resourcesOutputPath?: string;
    sourceMap?: SourceMapUnion_3;
    statsJson?: boolean;
    stylePreprocessorOptions?: StylePreprocessorOptions_3;
    tsConfig: string;
    vendorChunk?: boolean;
    verbose?: boolean;
    watch?: boolean;
}

// @public
export type ServerBuilderOutput = BuilderOutput & {
    baseOutputPath: string;
    outputPath: string;
    outputs: {
        locale?: string;
        path: string;
    }[];
};

// @public (undocumented)
export interface SourceMapObject {
    hidden?: boolean;
    scripts?: boolean;
    styles?: boolean;
    vendor?: boolean;
}

// @public
export type SourceMapUnion = boolean | SourceMapObject;

// @public (undocumented)
export type SSRDevServerBuilderOptions = Schema & json.JsonObject;

// @public (undocumented)
export type SSRDevServerBuilderOutput = BuilderOutput & {
    baseUrl?: string;
    port?: string;
};

// @public
export interface StylePreprocessorOptions {
    includePaths?: string[];
}

// @public
export enum Type {
    // (undocumented)
    All = "all",
    // (undocumented)
    AllScript = "allScript",
    // (undocumented)
    Any = "any",
    // (undocumented)
    AnyComponentStyle = "anyComponentStyle",
    // (undocumented)
    AnyScript = "anyScript",
    // (undocumented)
    Bundle = "bundle",
    // (undocumented)
    Initial = "initial"
}

// (No @packageDocumentation comment for this package)