UNPKG

@angular/build

Version:

Official build system for Angular

45 lines (44 loc) 1.74 kB
/** * @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.dev/license */ import type ng from '@angular/compiler-cli'; import type { PartialMessage } from 'esbuild'; import type ts from 'typescript'; import type { AngularHostOptions } from '../angular-host'; export interface EmitFileResult { filename: string; contents: string; dependencies?: readonly string[]; } export declare enum DiagnosticModes { None = 0, Option = 1, Syntactic = 2, Semantic = 4, All = 7 } export declare abstract class AngularCompilation { #private; static loadCompilerCli(): Promise<typeof ng>; static loadTypescript(): Promise<typeof ts>; protected loadConfiguration(tsconfig: string): Promise<ng.CompilerOptions>; abstract initialize(tsconfig: string, hostOptions: AngularHostOptions, compilerOptionsTransformer?: (compilerOptions: ng.CompilerOptions) => ng.CompilerOptions): Promise<{ affectedFiles: ReadonlySet<ts.SourceFile>; compilerOptions: ng.CompilerOptions; referencedFiles: readonly string[]; externalStylesheets?: ReadonlyMap<string, string>; templateUpdates?: ReadonlyMap<string, string>; }>; abstract emitAffectedFiles(): Iterable<EmitFileResult> | Promise<Iterable<EmitFileResult>>; protected abstract collectDiagnostics(modes: DiagnosticModes): Iterable<ts.Diagnostic> | Promise<Iterable<ts.Diagnostic>>; diagnoseFiles(modes?: DiagnosticModes): Promise<{ errors?: PartialMessage[]; warnings?: PartialMessage[]; }>; update?(files: Set<string>): Promise<void>; close?(): Promise<void>; }