Charles Lyding 4ffe07aa24 feat(@angular-devkit/build-angular): move Vite-based dev-server for application builder to new build system package
With the `application` builder already within the new `@angular/build` package,
the Vite-based `dev-server` builder is now also contained within this package.
Only the Vite-based aspects of the `dev-server` have been moved and only the
support for the `application` builder. The compatibility builder `browser-esbuild`
is not supported with `@angular/build:dev-server`. The existing `dev-server` builder
found within `@angular-devkit/build-angular` should continue to be used for both the
Webpack-based `browser` builder and the esbuild-based compatibility `browser-esbuild`
builder. To maintain backwards compatibility, the existing `@angular-devkit/build-angular:dev-server`
builder continues to support builders it has previously.

No change to existing applications is required.
2024-04-23 07:27:26 -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 { DevServerBuilderOutput } from '@angular/build';
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;
}

export { DevServerBuilderOutput }

// @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)