Skip to content

Upgrading @angular/compiler-cli 8 to 9

Unknown8.2.14 → 9.1.13

UnknownUpgrade verdict

None of the 62 releases in this range publish notes, so breaking changes can't be ruled out.

  • Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
  • Their commits are listed with this comparison.
Unknown for releases without notes

Releases without notes may still need changes. Check their commits before upgrading.

Node.js requirement changed in 9.0.0-rc.11: >=8.0 → >=10.0.

Adds fs-extra 4.0.2, semver ^6.3.0, sourcemap-codec ^1.4.8.

Drops tslib.

Installs 44 packages in all (was 195).

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • removed: export { AstType } from './src/diagnostics/expression_type'
  • removed: export { BuiltinType } from './src/diagnostics/symbols'
  • removed: export { DeclarationKind } from './src/diagnostics/symbols'
  • removed: export { Definition } from './src/diagnostics/symbols'
  • removed: export { DiagnosticTemplateInfo } from './src/diagnostics/expression_diagnostics'
  • removed: export { ExpressionDiagnosticsContext } from './src/diagnostics/expression_type'
  • removed: export { NgTools_InternalApi_NG_2 as __NGTOOLS_PRIVATE_API_2 } from './src/ngtools_api'
  • removed: export { PipeInfo } from './src/diagnostics/symbols'
  • removed: export { Pipes } from './src/diagnostics/symbols'
  • removed: export { Signature } from './src/diagnostics/symbols'
  • removed: export { Span } from './src/diagnostics/symbols'
  • removed: export { Symbol } from './src/diagnostics/symbols'
  • removed: export { SymbolDeclaration } from './src/diagnostics/symbols'
  • removed: export { SymbolQuery } from './src/diagnostics/symbols'
  • removed: export { SymbolTable } from './src/diagnostics/symbols'
  • removed: export { getClassMembersFromDeclaration } from './src/diagnostics/typescript_symbols'
  • removed: export { getExpressionScope } from './src/diagnostics/expression_diagnostics'
  • removed: export { getPipesTable } from './src/diagnostics/typescript_symbols'
  • removed: export { getSymbolQuery } from './src/diagnostics/typescript_symbols'
  • removed: export { getTemplateExpressionDiagnostics } from './src/diagnostics/expression_diagnostics'
  • removed: export { LogLevel } from './src/logging/console_logger'
  • removed: export { NgccOptions } from './src/main'
  • removed: export { PathMappings } from './src/utils'
  • removed: function hasBeenProcessed(packageJson: object, format: string): boolean
  • changed: function process(...args: Parameters<typeof mainNgcc>): void → function process(options: AsyncNgccOptions): Promise<void>
  • added: export { AsyncNgccOptions } from './src/ngcc_options'
  • added: export { LogLevel } from './src/logging/logger'
  • added: export { NgccOptions } from './src/ngcc_options'
  • added: export { PathMappings } from './src/path_mappings'
  • added: export { SyncNgccOptions } from './src/ngcc_options'
  • added: export { clearTsConfigCache } from './src/ngcc_options'
  • added: function process(options: SyncNgccOptions): void
  • removed: protected method DecorationAnalyzer.analyzeClass(symbol: ClassSymbol): AnalyzedClass | null
  • removed: protected method DecorationAnalyzer.analyzeFile(sourceFile: ts.SourceFile): AnalyzedFile | undefined
  • removed: protected method DecorationAnalyzer.compileClass(clazz: AnalyzedClass, constantPool: ConstantPool): CompileResult[]
  • removed: protected method DecorationAnalyzer.migrateFile(migrationHost: MigrationHost, analyzedFile: AnalyzedFile): void
  • removed: protected method DecorationAnalyzer.resolveFile(analyzedFile: AnalyzedFile): void
  • changed: constructor DecorationAnalyzer(fs: FileSystem, bundle: EntryPointBundle, reflectionHost: NgccReflectionHost, referencesRegistry: ReferencesRegistry, diagnosticHandler?: (error: ts.Diagnostic) => void) → constructor DecorationAnalyzer(fs: FileSystem, bundle: EntryPointBundle, reflectionHost: NgccReflectionHost, referencesRegistry: ReferencesRegistry, diagnosticHandler?: (error: ts.Diagnostic) => void, tsConfig?: ParsedConfiguration | null)
  • changed: property DecorationAnalyzer.handlers: DecoratorHandler<any, any>[] → property DecorationAnalyzer.handlers: DecoratorHandler<unknown, unknown, unknown>[]
  • changed: protected method DecorationAnalyzer.compileFile(analyzedFile: AnalyzedFile): CompiledFile → protected method DecorationAnalyzer.compileFile(sourceFile: ts.SourceFile): CompiledFile
  • added: property DecorationAnalyzer.aliasingHost: PrivateExportAliasingHost | null
  • added: property DecorationAnalyzer.compiler: NgccTraitCompiler
  • added: property DecorationAnalyzer.injectableRegistry: InjectableClassRegistry
  • added: protected method DecorationAnalyzer.applyMigrations(): void
  • added: protected method DecorationAnalyzer.reportDiagnostics(): void
  • changed: constructor DefaultMigrationHost(reflectionHost: NgccReflectionHost, metadata: MetadataReader, evaluator: PartialEvaluator, handlers: DecoratorHandler<any, any>[], analyzedFiles: AnalyzedFile[]) → constructor DefaultMigrationHost(reflectionHost: NgccReflectionHost, metadata: MetadataReader, evaluator: PartialEvaluator, compiler: NgccTraitCompiler, entryPointPath: AbsoluteFsPath)
  • changed: method DefaultMigrationHost.injectSyntheticDecorator(clazz: ClassDeclaration, decorator: Decorator): void → method DefaultMigrationHost.injectSyntheticDecorator(clazz: ClassDeclaration, decorator: Decorator, flags?: HandlerFlags): void
  • added: method DefaultMigrationHost.getAllDecorators(clazz: ClassDeclaration): Decorator[] | null
  • added: method DefaultMigrationHost.isInScope(clazz: ClassDeclaration): boolean
  • changed: constructor ModuleWithProvidersAnalyzer(host: NgccReflectionHost, referencesRegistry: ReferencesRegistry) → constructor ModuleWithProvidersAnalyzer(host: NgccReflectionHost, typeChecker: ts.TypeChecker, referencesRegistry: ReferencesRegistry, processDts: boolean)
  • changed: property ModuleWithProvidersInfo.declaration: ts.MethodDeclaration | ts.FunctionDeclaration → property ModuleWithProvidersInfo.declaration: ts.SignatureDeclaration
  • changed: property ModuleWithProvidersInfo.ngModule: Declaration<ClassDeclaration> → property ModuleWithProvidersInfo.ngModule: Reference<ClassDeclaration>
  • added: property ModuleWithProvidersInfo.container: ts.Declaration | null
  • added: property ModuleWithProvidersInfo.name: string
  • changed: method NgccReferencesRegistry.getDeclarationMap(): Map<ts.Identifier, Declaration> → method NgccReferencesRegistry.getDeclarationMap(): Map<ts.Identifier, ConcreteDeclaration>
  • added: class NgccTraitCompiler extends TraitCompiler
  • added: constructor NgccTraitCompiler(handlers: DecoratorHandler<unknown, unknown, unknown>[], ngccReflector: NgccReflectionHost)
  • added: get NgccTraitCompiler.analyzedFiles(): ts.SourceFile[]
  • added: method NgccTraitCompiler.analyzeFile(sf: ts.SourceFile): void
  • added: method NgccTraitCompiler.getAllDecorators(clazz: ClassDeclaration): Decorator[] | null
  • added: method NgccTraitCompiler.injectSyntheticDecorator(clazz: ClassDeclaration, decorator: Decorator, flags?: HandlerFlags): Trait<unknown, unknown, unknown>[]
  • removed: property ExportInfo.alias?: string | null
  • removed: interface AnalyzedClass
  • removed: interface AnalyzedFile
  • removed: interface MatchingHandler<A, M>
  • removed: property AnalyzedClass.declaration: ClassDeclaration
  • removed: property AnalyzedClass.decorators: Decorator[] | null
  • removed: property AnalyzedClass.diagnostics?: ts.Diagnostic[]
  • removed: property AnalyzedClass.matches: { handler: DecoratorHandler<any, any>; analysis: any }[]
  • removed: property AnalyzedClass.name: string
  • removed: property AnalyzedFile.analyzedClasses: AnalyzedClass[]
  • removed: property AnalyzedFile.sourceFile: ts.SourceFile
  • removed: property MatchingHandler.detected: M
  • removed: property MatchingHandler.handler: DecoratorHandler<A, M>
  • changed: interface CompiledClass extends AnalyzedClass → interface CompiledClass
  • added: property CompiledClass.declaration: ClassDeclaration
  • added: property CompiledClass.decorators: Decorator[] | null
  • added: property CompiledClass.name: string
  • added: property CompiledFile.reexports: Reexport[]
  • removed: function analyzeDecorators(symbol: ClassSymbol, decorators: Decorator[] | null, handlers: DecoratorHandler<any, any>[]): AnalyzedClass | null
  • added: const NOOP_DEPENDENCY_TRACKER: DependencyTracker
  • added: function parseCommandLineOptions(args: string[]): NgccOptions
  • removed: protected method CommonJsDependencyHost.recursivelyFindDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<AbsoluteFsPath>, alreadySeen: Set<AbsoluteFsPath>): void
  • added: protected method CommonJsDependencyHost.recursivelyCollectDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<AbsoluteFsPath>, alreadySeen: Set<AbsoluteFsPath>): void
  • removed: method DependencyHost.findDependencies(entryPointPath: AbsoluteFsPath): DependencyInfo
  • removed: method DependencyHostBase.findDependencies(entryPointPath: AbsoluteFsPath): DependencyInfo
  • removed: protected abstract method DependencyHostBase.recursivelyFindDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<AbsoluteFsPath>, alreadySeen: Set<AbsoluteFsPath>): void
  • added: function createDependencyInfo(): DependencyInfo
  • added: interface EntryPointWithDependencies
  • added: method DependencyHost.collectDependencies(entryPointPath: AbsoluteFsPath, { dependencies, missing, deepImports }: DependencyInfo): void
  • added: method DependencyHostBase.collectDependencies(entryPointPath: AbsoluteFsPath, { dependencies, missing, deepImports }: DependencyInfo): void
  • added: property EntryPointWithDependencies.depInfo: DependencyInfo
  • added: property EntryPointWithDependencies.entryPoint: EntryPoint
  • added: protected abstract method DependencyHostBase.recursivelyCollectDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<AbsoluteFsPath>, alreadySeen: Set<AbsoluteFsPath>): void
  • removed: method DependencyResolver.getEntryPointDependencies(entryPoint: EntryPoint): DependencyInfo
  • changed: constructor DependencyResolver(fs: FileSystem, logger: Logger, hosts: Partial<Record<EntryPointFormat, DependencyHost>>) → constructor DependencyResolver(fs: FileSystem, logger: Logger, config: NgccConfiguration, hosts: Partial<Record<EntryPointFormat, DependencyHost>>, typingsHost: DependencyHost)
  • changed: method DependencyResolver.sortEntryPointsByDependency(entryPoints: EntryPoint[], target?: EntryPoint): SortedEntryPointsInfo → method DependencyResolver.sortEntryPointsByDependency(entryPoints: EntryPointWithDependencies[], target?: EntryPoint): SortedEntryPointsInfo
  • changed: property SortedEntryPointsInfo.entryPoints: EntryPoint[] → property SortedEntryPointsInfo.entryPoints: PartiallyOrderedEntryPoints
  • added: method DependencyResolver.getEntryPointWithDependencies(entryPoint: EntryPoint): EntryPointWithDependencies
  • added: property SortedEntryPointsInfo.graph: DepGraph<EntryPoint>
  • added: type PartiallyOrderedEntryPoints = PartiallyOrderedList<EntryPoint>
  • added: class DtsDependencyHost extends EsmDependencyHost
  • added: constructor DtsDependencyHost(fs: FileSystem, pathMappings?: PathMappings)
  • added: protected method DtsDependencyHost.processImport(importPath: string, file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<string>, alreadySeen: Set<AbsoluteFsPath>): boolean
  • removed: protected method EsmDependencyHost.recursivelyFindDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<string>, alreadySeen: Set<AbsoluteFsPath>): void
  • added: protected method EsmDependencyHost.processImport(importPath: string, file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<string>, alreadySeen: Set<AbsoluteFsPath>): boolean
  • added: protected method EsmDependencyHost.recursivelyCollectDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<string>, alreadySeen: Set<AbsoluteFsPath>): void
  • added: readonly property ModuleResolver.relativeExtensions: string[]
  • removed: protected method UmdDependencyHost.recursivelyFindDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<string>, alreadySeen: Set<AbsoluteFsPath>): void
  • added: protected method UmdDependencyHost.recursivelyCollectDependencies(file: AbsoluteFsPath, dependencies: Set<AbsoluteFsPath>, missing: Set<string>, deepImports: Set<string>, alreadySeen: Set<AbsoluteFsPath>): void
  • changed: constructor DirectoryWalkerEntryPointFinder(fs: FileSystem, config: NgccConfiguration, logger: Logger, resolver: DependencyResolver, sourceDirectory: AbsoluteFsPath, pathMappings: PathMappings | undefined) → constructor DirectoryWalkerEntryPointFinder(fs: FileSystem, config: NgccConfiguration, logger: Logger, resolver: DependencyResolver, entryPointManifest: EntryPointManifest, sourceDirectory: AbsoluteFsPath, pathMappings: PathMappings | undefined)
  • added: method DirectoryWalkerEntryPointFinder.walkBasePathForPackages(basePath: AbsoluteFsPath): EntryPointWithDependencies[]
  • added: method DirectoryWalkerEntryPointFinder.walkDirectoryForPackages(sourceDirectory: AbsoluteFsPath): EntryPointWithDependencies[]
  • added: method TargetedEntryPointFinder.targetNeedsProcessingOrCleaning(propertiesToConsider: EntryPointJsonProperty[], compileAllFormats: boolean): boolean
  • changed: function getBasePaths(sourceDirectory: AbsoluteFsPath, pathMappings: PathMappings | undefined): AbsoluteFsPath[] → function getBasePaths(logger: Logger, sourceDirectory: AbsoluteFsPath, pathMappings: PathMappings | undefined): AbsoluteFsPath[]
  • added: function dedupePaths(paths: AbsoluteFsPath[]): AbsoluteFsPath[]
  • added: function trackDuration<T = void>(task: () => T extends Promise<unknown> ? never : T, log: (duration: number) => void): T
  • added: function getAnalyzeEntryPointsFn(logger: Logger, finder: EntryPointFinder, fileSystem: FileSystem, supportedPropertiesToConsider: EntryPointJsonProperty[], compileAllFormats: boolean, propertiesToConsider: string[], inParallel: boolean): AnalyzeEntryPointsFn
  • added: interface Executor
  • added: method Executor.execute(analyzeEntryPoints: AnalyzeEntryPointsFn, createCompileFn: CreateCompileFn): void | Promise<void>
  • added: type AnalyzeEntryPointsFn = () => TaskQueue
  • added: type CompileFn<T> = (task: Task) => void | T
  • added: type CreateCompileFn = <T extends void | Promise<void>>(beforeWritingFiles: (transformedFiles: FileToWrite[]) => T, onTaskCompleted: TaskCompletedCallback) => CompileFn<T>
  • added: interface ErrorMessage extends JsonObject
  • added: interface ProcessTaskMessage extends JsonObject
  • added: interface TaskCompletedMessage extends JsonObject
  • added: interface TransformedFilesMessage extends JsonObject
  • added: interface UpdatePackageJsonMessage extends JsonObject
  • added: property ErrorMessage.error: string
  • added: property ErrorMessage.type: 'error'
  • added: property ProcessTaskMessage.task: Task
  • added: property ProcessTaskMessage.type: 'process-task'
  • added: property TaskCompletedMessage.message: string | null
  • added: property TaskCompletedMessage.outcome: TaskProcessingOutcome
  • added: property TaskCompletedMessage.type: 'task-completed'
  • added: property TransformedFilesMessage.files: AbsoluteFsPath[]
  • added: property TransformedFilesMessage.type: 'transformed-files'
  • added: property UpdatePackageJsonMessage.changes: PackageJsonChange[]
  • added: property UpdatePackageJsonMessage.packageJsonPath: AbsoluteFsPath
  • added: property UpdatePackageJsonMessage.type: 'update-package-json'
  • added: type MessageFromWorker = ErrorMessage | TaskCompletedMessage | TransformedFilesMessage | UpdatePackageJsonMessage
  • added: type MessageToWorker = ProcessTaskMessage
  • added: class ClusterExecutor implements Executor
  • added: constructor ClusterExecutor(workerCount: number, fileSystem: FileSystem, logger: Logger, fileWriter: FileWriter, pkgJsonUpdater: PackageJsonUpdater, lockFile: AsyncLocker, createTaskCompletedCallback: CreateTaskCompletedCallback)
  • added: method ClusterExecutor.execute(analyzeEntryPoints: AnalyzeEntryPointsFn, _createCompileFn: CreateCompileFn): Promise<void>
  • added: class ClusterMaster
  • added: constructor ClusterMaster(maxWorkerCount: number, fileSystem: FileSystem, logger: Logger, fileWriter: FileWriter, pkgJsonUpdater: PackageJsonUpdater, analyzeEntryPoints: AnalyzeEntryPointsFn, createTaskCompletedCallback: CreateTaskCompletedCallback)
  • added: method ClusterMaster.run(): Promise<void>
  • added: class ClusterWorkerPackageJsonUpdater implements PackageJsonUpdater
  • added: constructor ClusterWorkerPackageJsonUpdater()
  • added: method ClusterWorkerPackageJsonUpdater.createUpdate(): PackageJsonUpdate
  • added: method ClusterWorkerPackageJsonUpdater.writeChanges(changes: PackageJsonChange[], packageJsonPath: AbsoluteFsPath, preExistingParsedJson?: JsonObject): void
  • added: class Deferred<T>
  • added: const sendMessageToMaster: (msg: MessageFromWorker) => Promise<void>
  • added: const sendMessageToWorker: (workerId: number, msg: import('@angular/compiler-cli/ngcc/src/execution/cluster/api').ProcessTaskMessage) => Promise<void>
  • added: property Deferred.promise: Promise<T>
  • added: property Deferred.reject: (reason: any) => void
  • added: property Deferred.resolve: (value: T) => void
  • added: function startWorker(logger: Logger, createCompileFn: CreateCompileFn): Promise<void>
  • added: function getCreateCompileFn(fileSystem: FileSystem, logger: Logger, fileWriter: FileWriter, enableI18nLegacyMessageIdFormat: boolean, tsConfig: ParsedConfiguration | null, pathMappings: PathMappings | undefined): CreateCompileFn
  • added: abstract class SingleProcessorExecutorBase
  • added: class SingleProcessExecutorAsync extends SingleProcessorExecutorBase implements Executor
  • added: class SingleProcessExecutorSync extends SingleProcessorExecutorBase implements Executor
  • added: constructor SingleProcessExecutorAsync(logger: Logger, lockFile: AsyncLocker, createTaskCompletedCallback: CreateTaskCompletedCallback)
  • added: constructor SingleProcessExecutorSync(logger: Logger, lockFile: SyncLocker, createTaskCompletedCallback: CreateTaskCompletedCallback)
  • added: constructor SingleProcessorExecutorBase(logger: Logger, createTaskCompletedCallback: CreateTaskCompletedCallback)
  • added: method SingleProcessExecutorAsync.execute(analyzeEntryPoints: AnalyzeEntryPointsFn, createCompileFn: CreateCompileFn): Promise<void>
  • added: method SingleProcessExecutorSync.execute(analyzeEntryPoints: AnalyzeEntryPointsFn, createCompileFn: CreateCompileFn): void
  • added: method SingleProcessorExecutorBase.doExecute(analyzeEntryPoints: AnalyzeEntryPointsFn, createCompileFn: CreateCompileFn): void | Promise<void>
  • added: const TaskDependencies: MapConstructor
  • added: const enum TaskProcessingOutcome
  • added: interface Task extends JsonObject
  • added: interface TaskQueue
  • added: member TaskProcessingOutcome.Failed = 1
  • added: member TaskProcessingOutcome.Processed = 0
  • added: method TaskQueue.getNextTask(): Task | null
  • added: method TaskQueue.markAsCompleted(task: Task): void
  • added: method TaskQueue.markAsFailed(task: Task): void
  • added: method TaskQueue.markAsUnprocessed(task: Task): void
  • added: method TaskQueue.toString(): string
  • added: property Task.entryPoint: EntryPoint
  • added: property Task.formatPropertiesToMarkAsProcessed: EntryPointJsonProperty[]
  • added: property Task.formatProperty: EntryPointJsonProperty
  • added: property Task.processDts: boolean
  • added: property TaskQueue.allTasksCompleted: boolean
  • added: type CreateTaskCompletedCallback = (taskQueue: TaskQueue) => TaskCompletedCallback
  • added: type PartiallyOrderedTasks = PartiallyOrderedList<Task>
  • added: type TaskCompletedCallback = (task: Task, outcome: TaskProcessingOutcome, message: string | null) => void
  • added: type TaskDependencies = Map<Task, Set<Task>>
  • added: function composeTaskCompletedCallbacks(callbacks: Record<TaskProcessingOutcome, TaskCompletedHandler>): TaskCompletedCallback
  • added: function createLogErrorHandler(logger: Logger, fs: FileSystem, taskQueue: TaskQueue): TaskCompletedHandler
  • added: function createMarkAsProcessedHandler(pkgJsonUpdater: PackageJsonUpdater): TaskCompletedHandler
  • added: function createThrowErrorHandler(fs: FileSystem): TaskCompletedHandler
  • added: type TaskCompletedHandler = (task: Task, message: string | null) => void
  • added: abstract class BaseTaskQueue implements TaskQueue
  • added: constructor BaseTaskQueue(logger: Logger, tasks: PartiallyOrderedTasks, dependencies: TaskDependencies)
  • added: get BaseTaskQueue.allTasksCompleted(): boolean
  • added: method BaseTaskQueue.getNextTask(): Task | null
  • added: method BaseTaskQueue.markAsCompleted(task: Task): void
  • added: method BaseTaskQueue.markAsFailed(task: Task): void
  • added: method BaseTaskQueue.markAsUnprocessed(task: Task): void
  • added: method BaseTaskQueue.toString(): string
  • added: protected abstract method BaseTaskQueue.computeNextTask(): Task | null
  • added: protected method BaseTaskQueue.skipDependentTasks(task: Task, failedTask: Task): void
  • added: protected method BaseTaskQueue.stringifyTasks(tasks: Task[], indentation: string): string
  • added: protected property BaseTaskQueue.dependencies: TaskDependencies
  • added: protected property BaseTaskQueue.inProgressTasks: Set<Task>
  • added: protected property BaseTaskQueue.logger: Logger
  • added: protected property BaseTaskQueue.tasks: PartiallyOrderedTasks
  • added: class ParallelTaskQueue extends BaseTaskQueue
  • added: constructor ParallelTaskQueue(logger: Logger, tasks: PartiallyOrderedTasks, dependencies: TaskDependencies)
  • added: method ParallelTaskQueue.computeNextTask(): Task | null
  • added: method ParallelTaskQueue.markAsCompleted(task: Task): void
  • added: method ParallelTaskQueue.toString(): string
  • added: class SerialTaskQueue extends BaseTaskQueue
  • added: method SerialTaskQueue.computeNextTask(): Task | null
  • added: const stringifyTask: (task: Task) => string
  • added: function computeTaskDependencies(tasks: PartiallyOrderedTasks, graph: DepGraph<EntryPoint>): TaskDependencies
  • added: function getBlockedTasks(dependencies: TaskDependencies): Map<Task, Set<Task>>
  • added: function getDependentsSet(map: TaskDependencies, task: Task): Set<Task>
  • added: function sortTasksByPriority(tasks: PartiallyOrderedTasks, dependencies: TaskDependencies): PartiallyOrderedTasks
  • removed: function isCommonJsExportStatement(s: ts.Statement): s is CommonJsExportStatement
  • removed: function isRequireCall(node: ts.Node): node is RequireCall
  • removed: function stripParentheses(node: ts.Node): ts.Node
  • removed: method CommonJsReflectionHost.getCommonJsExports(sourceFile: ts.SourceFile): Map<string, Declaration> | null
  • removed: type RequireCall = ts.CallExpression & { arguments: [ts.StringLiteral] }
  • changed: constructor CommonJsReflectionHost(logger: Logger, isCore: boolean, program: ts.Program, compilerHost: ts.CompilerHost, dts?: BundleProgram | null) → constructor CommonJsReflectionHost(logger: Logger, isCore: boolean, src: BundleProgram, dts?: BundleProgram | null)
  • changed: protected method CommonJsReflectionHost.getHelperCallsForClass(classSymbol: ClassSymbol, helperName: string): ts.CallExpression[] → protected method CommonJsReflectionHost.getHelperCallsForClass(classSymbol: NgccClassSymbol, helperNames: string[]): ts.CallExpression[]
  • changed: protected property CommonJsReflectionHost.commonJsExports: Map<ts.SourceFile, Map<string, Declaration<ts.Declaration>> | null> → protected property CommonJsReflectionHost.commonJsExports: FactoryMap<ts.SourceFile, Map<string, Declaration<ts.Declaration>> | null>
  • changed: protected property CommonJsReflectionHost.topLevelHelperCalls: Map<string, Map<ts.SourceFile, ts.CallExpression[]>> → protected property CommonJsReflectionHost.topLevelHelperCalls: FactoryMap<string, FactoryMap<ts.SourceFile, ts.CallExpression[]>>
  • added: function findNamespaceOfIdentifier(id: ts.Identifier): ts.Identifier | null
  • added: function findRequireCallReference(id: ts.Identifier, checker: ts.TypeChecker): RequireCall | null
  • added: function isExportStatement(stmt: ts.Statement): stmt is ExportStatement
  • added: function isReexportStatement(stmt: ts.Statement): stmt is ReexportStatement
  • added: function isRequireCall(node: ts.Node): node is RequireCall
  • added: interface ExportDeclaration
  • added: interface ExportStatement extends ts.ExpressionStatement
  • added: interface ReexportStatement extends ts.ExpressionStatement
  • added: interface RequireCall extends ts.CallExpression
  • added: property ExportDeclaration.declaration: Declaration
  • added: property ExportDeclaration.name: string
  • added: property ExportStatement.expression: ts.BinaryExpression & { left: ts.PropertyAccessExpression & { expression: ts.Identifier } }
  • added: property ReexportStatement.expression: ts.CallExpression
  • added: property RequireCall.arguments: ts.CallExpression['arguments'] & [ts.StringLiteral]
  • added: class DelegatingReflectionHost implements NgccReflectionHost
  • added: constructor DelegatingReflectionHost(tsHost: ReflectionHost, ngccHost: NgccReflectionHost)
  • added: method DelegatingReflectionHost.detectKnownDeclaration(decl: null): null
  • added: method DelegatingReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T | null): T | null
  • added: method DelegatingReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T): T
  • added: method DelegatingReflectionHost.findClassSymbols(sourceFile: ts.SourceFile): NgccClassSymbol[]
  • added: method DelegatingReflectionHost.getAdjacentNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: method DelegatingReflectionHost.getBaseClassExpression(clazz: ClassDeclaration): ts.Expression | null
  • added: method DelegatingReflectionHost.getClassSymbol(node: ts.Node): NgccClassSymbol | undefined
  • added: method DelegatingReflectionHost.getConstructorParameters(clazz: ClassDeclaration): CtorParameter[] | null
  • added: method DelegatingReflectionHost.getDeclarationOfIdentifier(id: ts.Identifier): Declaration | null
  • added: method DelegatingReflectionHost.getDecoratorsOfDeclaration(declaration: ts.Declaration): Decorator[] | null
  • added: method DelegatingReflectionHost.getDecoratorsOfSymbol(symbol: NgccClassSymbol): Decorator[] | null
  • added: method DelegatingReflectionHost.getDefinitionOfFunction(fn: ts.Node): FunctionDefinition | null
  • added: method DelegatingReflectionHost.getDtsDeclaration(declaration: ts.Declaration): ts.Declaration | null
  • added: method DelegatingReflectionHost.getEndOfClass(classSymbol: NgccClassSymbol): ts.Node
  • added: method DelegatingReflectionHost.getExportsOfModule(module: ts.Node): Map<string, Declaration> | null
  • added: method DelegatingReflectionHost.getGenericArityOfClass(clazz: ClassDeclaration): number | null
  • added: method DelegatingReflectionHost.getImportOfIdentifier(id: ts.Identifier): Import | null
  • added: method DelegatingReflectionHost.getInternalNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: method DelegatingReflectionHost.getMembersOfClass(clazz: ClassDeclaration): ClassMember[]
  • added: method DelegatingReflectionHost.getSwitchableDeclarations(module: ts.Node): SwitchableVariableDeclaration[]
  • added: method DelegatingReflectionHost.getVariableValue(declaration: ts.VariableDeclaration): ts.Expression | null
  • added: method DelegatingReflectionHost.hasBaseClass(clazz: ClassDeclaration): boolean
  • added: method DelegatingReflectionHost.isClass(node: ts.Node): node is ClassDeclaration
  • removed: function makeClassTargetFilter(className: string): TargetFilter
  • removed: function makeMemberTargetFilter(className: string): TargetFilter
  • removed: method Esm2015ReflectionHost.getClassDeclaration(node: ts.Node): ClassDeclaration | undefined
  • removed: method Esm2015ReflectionHost.getModuleWithProvidersFunctions(f: ts.SourceFile): ModuleWithProvidersFunction[]
  • removed: protected method Esm2015ReflectionHost.computeDtsDeclarationMap(dtsRootFileName: AbsoluteFsPath, dtsProgram: ts.Program): Map<string, ts.Declaration>
  • removed: protected method Esm2015ReflectionHost.getClassDecoratorsFromHelperCall(symbol: ClassSymbol): Decorator[] | null
  • removed: protected method Esm2015ReflectionHost.getMemberDecorators(classSymbol: ClassSymbol): Map<string, Decorator[]>
  • removed: protected method Esm2015ReflectionHost.getMemberDecoratorsFromHelperCalls(classSymbol: ClassSymbol): Map<string, Decorator[]>
  • removed: protected method Esm2015ReflectionHost.getParamInfoFromHelperCall(classSymbol: ClassSymbol, parameterNodes: ts.ParameterDeclaration[]): ParamInfo[]
  • removed: protected method Esm2015ReflectionHost.parseForModuleWithProviders(name: string, node: ts.Node | null, implementation?: ts.Node | null, container?: ts.Declaration | null): ModuleWithProvidersFunction | null
  • removed: protected method Esm2015ReflectionHost.reflectDecoratorsFromHelperCall(helperCall: ts.CallExpression, targetFilter: TargetFilter): { classDecorators: Decorator[]; memberDecorators: Map<string, Decorator[]> }
  • removed: protected property Esm2015ReflectionHost.dtsDeclarationMap: Map<string, ts.Declaration> | null
  • removed: type TargetFilter = (target: ts.Expression) => boolean
  • changed: constructor Esm2015ReflectionHost(logger: Logger, isCore: boolean, checker: ts.TypeChecker, dts?: BundleProgram | null) → constructor Esm2015ReflectionHost(logger: Logger, isCore: boolean, src: BundleProgram, dts?: BundleProgram | null)
  • changed: method Esm2015ReflectionHost.findClassSymbols(sourceFile: ts.SourceFile): ClassSymbol[] → method Esm2015ReflectionHost.findClassSymbols(sourceFile: ts.SourceFile): NgccClassSymbol[]
  • changed: method Esm2015ReflectionHost.getClassSymbol(declaration: ts.Node): ClassSymbol | undefined → method Esm2015ReflectionHost.getClassSymbol(declaration: ts.Node): NgccClassSymbol | undefined
  • changed: method Esm2015ReflectionHost.getDecoratorsOfSymbol(symbol: ClassSymbol): Decorator[] | null → method Esm2015ReflectionHost.getDecoratorsOfSymbol(symbol: NgccClassSymbol): Decorator[] | null
  • changed: protected method Esm2015ReflectionHost.getConstructorParamInfo(classSymbol: ClassSymbol, parameterNodes: ts.ParameterDeclaration[]): CtorParameter[] → protected method Esm2015ReflectionHost.getConstructorParamInfo(classSymbol: NgccClassSymbol, parameterNodes: ts.ParameterDeclaration[]): CtorParameter[]
  • changed: protected method Esm2015ReflectionHost.getConstructorParameterDeclarations(classSymbol: ClassSymbol): ts.ParameterDeclaration[] | null → protected method Esm2015ReflectionHost.getConstructorParameterDeclarations(classSymbol: NgccClassSymbol): ts.ParameterDeclaration[] | null
  • changed: protected method Esm2015ReflectionHost.getHelperCall(statement: ts.Statement, helperName: string): ts.CallExpression | null → protected method Esm2015ReflectionHost.getHelperCall(statement: ts.Statement, helperNames: string[]): ts.CallExpression | null
  • changed: protected method Esm2015ReflectionHost.getHelperCallsForClass(classSymbol: ClassSymbol, helperName: string): ts.CallExpression[] → protected method Esm2015ReflectionHost.getHelperCallsForClass(classSymbol: NgccClassSymbol, helperNames: string[]): ts.CallExpression[]
  • changed: protected method Esm2015ReflectionHost.getMembersOfSymbol(symbol: ClassSymbol): ClassMember[] → protected method Esm2015ReflectionHost.getMembersOfSymbol(symbol: NgccClassSymbol): ClassMember[]
  • changed: protected method Esm2015ReflectionHost.getStatementsForClass(classSymbol: ClassSymbol): ts.Statement[] → protected method Esm2015ReflectionHost.getStatementsForClass(classSymbol: NgccClassSymbol): ts.Statement[]
  • changed: protected method Esm2015ReflectionHost.getStaticProperty(symbol: ClassSymbol, propertyName: ts.__String): ts.Symbol | undefined → protected method Esm2015ReflectionHost.getStaticProperty(symbol: NgccClassSymbol, propertyName: ts.__String): ts.Symbol | undefined
  • added: function getIifeConciseBody(expression: ts.Expression): ts.ConciseBody | undefined
  • added: function isClassDecorateCall(call: ts.CallExpression, matches: (identifier: ts.Identifier) => boolean): call is ts.CallExpression & { arguments: [ts.ArrayLiteralExpression, ts.Expression] }
  • added: function isMemberDecorateCall(call: ts.CallExpression, matches: (identifier: ts.Identifier) => boolean): call is ts.CallExpression & { arguments: [ts.ArrayLiteralExpression, ts.StringLiteral, ts.StringLiteral] }
  • added: interface DecoratorCall
  • added: interface ParameterDecorators
  • added: interface ParameterTypes
  • added: method Esm2015ReflectionHost.detectKnownDeclaration(decl: null): null
  • added: method Esm2015ReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T | null): T | null
  • added: method Esm2015ReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T): T
  • added: method Esm2015ReflectionHost.getEndOfClass(classSymbol: NgccClassSymbol): ts.Node
  • added: property DecoratorCall.decorator: Decorator
  • added: property DecoratorCall.type: 'decorator'
  • added: property ParameterDecorators.decorator: Decorator
  • added: property ParameterDecorators.index: number
  • added: property ParameterDecorators.type: 'param:decorators'
  • added: property ParameterTypes.type: 'params'
  • added: property ParameterTypes.types: ts.Expression[]
  • added: protected method Esm2015ReflectionHost.acquireDecoratorInfo(classSymbol: NgccClassSymbol): DecoratorInfo
  • added: protected method Esm2015ReflectionHost.collectDtsExportedDeclarations(dtsDeclarationMap: Map<string, ts.Declaration>, srcFile: ts.SourceFile, checker: ts.TypeChecker): void
  • added: protected method Esm2015ReflectionHost.collectSrcExportedDeclarations(declarationMap: Map<ts.Declaration, ts.Declaration>, dtsDeclarationMap: Map<string, ts.Declaration>, srcFile: ts.SourceFile): void
  • added: protected method Esm2015ReflectionHost.computeDecoratorInfoFromHelperCalls(classSymbol: NgccClassSymbol): DecoratorInfo
  • added: protected method Esm2015ReflectionHost.computeDecoratorInfoFromStaticProperties(classSymbol: NgccClassSymbol): { classDecorators: Decorator[] | null; memberDecorators: Map<string, Decorator[]> | null; constructorParamInfo: ParamInfo[] | null }
  • added: protected method Esm2015ReflectionHost.computePrivateDtsDeclarationMap(src: BundleProgram, dts: BundleProgram): Map<ts.Declaration, ts.Declaration>
  • added: protected method Esm2015ReflectionHost.computePublicDtsDeclarationMap(src: BundleProgram, dts: BundleProgram): Map<ts.Declaration, ts.Declaration>
  • added: protected method Esm2015ReflectionHost.createClassSymbol(outerDeclaration: ClassDeclaration, innerDeclaration: ClassDeclaration | null): NgccClassSymbol | undefined
  • added: protected method Esm2015ReflectionHost.getClassSymbolFromInnerDeclaration(declaration: ts.Node): NgccClassSymbol | undefined
  • added: protected method Esm2015ReflectionHost.getClassSymbolFromOuterDeclaration(declaration: ts.Node): NgccClassSymbol | undefined
  • added: protected method Esm2015ReflectionHost.getDeclarationOfSymbol(symbol: ts.Symbol, originalId: ts.Identifier | null): Declaration | null
  • added: protected method Esm2015ReflectionHost.isJavaScriptObjectDeclaration(decl: Declaration): boolean
  • added: protected method Esm2015ReflectionHost.reflectDecorateHelperEntry(expression: ts.Expression): DecorateHelperEntry | null
  • added: protected method Esm2015ReflectionHost.reflectEnumMember(enumName: ts.Identifier, statement: ts.Statement): EnumMember | null
  • added: protected method Esm2015ReflectionHost.resolveEnumMembers(declaration: ts.VariableDeclaration): EnumMember[] | null
  • added: protected property Esm2015ReflectionHost.decoratorCache: Map<ClassDeclaration<ts.Declaration>, DecoratorInfo>
  • added: protected property Esm2015ReflectionHost.dts: BundleProgram | null
  • added: protected property Esm2015ReflectionHost.privateDtsDeclarationMap: Map<ts.Declaration, ts.Declaration> | null
  • added: protected property Esm2015ReflectionHost.publicDtsDeclarationMap: Map<ts.Declaration, ts.Declaration> | null
  • added: protected property Esm2015ReflectionHost.src: BundleProgram
  • added: type DecorateHelperEntry = ParameterTypes | ParameterDecorators | DecoratorCall
  • added: type EnumMemberAssignment = ts.BinaryExpression & { left: ts.ElementAccessExpression }
  • removed: method Esm5ReflectionHost.getClassDeclaration(node: ts.Node): ClassDeclaration | undefined
  • removed: method Esm5ReflectionHost.getDecoratorsOfSymbol(symbol: ClassSymbol): Decorator[] | null
  • removed: method Esm5ReflectionHost.getMembersOfClass(clazz: ClassDeclaration): ClassMember[]
  • removed: protected method Esm5ReflectionHost.getConstructorParamInfo(classSymbol: ClassSymbol, parameterNodes: ts.ParameterDeclaration[]): CtorParameter[]
  • removed: protected method Esm5ReflectionHost.getInnerFunctionSymbolFromClassDeclaration(clazz: ClassDeclaration): ClassSymbol | undefined
  • removed: protected method Esm5ReflectionHost.getStaticProperty(symbol: ClassSymbol, propertyName: ts.__String): ts.Symbol | undefined
  • changed: protected method Esm5ReflectionHost.getConstructorParameterDeclarations(classSymbol: ClassSymbol): ts.ParameterDeclaration[] | null → protected method Esm5ReflectionHost.getConstructorParameterDeclarations(classSymbol: NgccClassSymbol): ts.ParameterDeclaration[] | null
  • changed: protected method Esm5ReflectionHost.getInnerFunctionDeclarationFromClassDeclaration(node: ts.Node): ts.FunctionDeclaration | undefined → protected method Esm5ReflectionHost.getInnerFunctionDeclarationFromClassDeclaration(decl: ts.Declaration): ts.FunctionDeclaration | undefined
  • changed: protected method Esm5ReflectionHost.getStatementsForClass(classSymbol: ClassSymbol): ts.Statement[] → protected method Esm5ReflectionHost.getStatementsForClass(classSymbol: NgccClassSymbol): ts.Statement[]
  • added: method Esm5ReflectionHost.detectKnownDeclaration(decl: null): null
  • added: method Esm5ReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T | null): T | null
  • added: method Esm5ReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T): T
  • added: method Esm5ReflectionHost.getAdjacentNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: method Esm5ReflectionHost.getEndOfClass(classSymbol: NgccClassSymbol): ts.Node
  • added: method Esm5ReflectionHost.getInternalNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: protected method Esm5ReflectionHost.getClassSymbolFromInnerDeclaration(declaration: ts.Node): NgccClassSymbol | undefined
  • added: protected method Esm5ReflectionHost.getClassSymbolFromOuterDeclaration(declaration: ts.Node): NgccClassSymbol | undefined
  • removed: interface ModuleWithProvidersFunction
  • removed: method NgccReflectionHost.getModuleWithProvidersFunctions(f: ts.SourceFile): ModuleWithProvidersFunction[]
  • removed: property ModuleWithProvidersFunction.container: ts.Declaration | null
  • removed: property ModuleWithProvidersFunction.declaration: ts.SignatureDeclaration
  • removed: property ModuleWithProvidersFunction.name: string
  • removed: property ModuleWithProvidersFunction.ngModule: Declaration<ClassDeclaration>
  • changed: method NgccReflectionHost.findClassSymbols(sourceFile: ts.SourceFile): ClassSymbol[] → method NgccReflectionHost.findClassSymbols(sourceFile: ts.SourceFile): NgccClassSymbol[]
  • changed: method NgccReflectionHost.getClassSymbol(node: ts.Node): ClassSymbol | undefined → method NgccReflectionHost.getClassSymbol(declaration: ts.Node): NgccClassSymbol | undefined
  • changed: method NgccReflectionHost.getDecoratorsOfSymbol(symbol: ClassSymbol): Decorator[] | null → method NgccReflectionHost.getDecoratorsOfSymbol(symbol: NgccClassSymbol): Decorator[] | null
  • added: interface NgccClassSymbol
  • added: method NgccReflectionHost.detectKnownDeclaration<T extends Declaration>(decl: T | null): T | null
  • added: method NgccReflectionHost.getEndOfClass(classSymbol: NgccClassSymbol): ts.Node
  • added: property NgccClassSymbol.declaration: ClassSymbol
  • added: property NgccClassSymbol.implementation: ts.Symbol
  • added: property NgccClassSymbol.name: string
  • added: type ClassSymbol = ts.Symbol & { valueDeclaration: ClassDeclaration }
  • removed: function stripParentheses(node: ts.Node): ts.Node
  • removed: method UmdReflectionHost.getUmdExports(sourceFile: ts.SourceFile): Map<string, Declaration> | null
  • changed: constructor UmdReflectionHost(logger: Logger, isCore: boolean, program: ts.Program, compilerHost: ts.CompilerHost, dts?: BundleProgram | null) → constructor UmdReflectionHost(logger: Logger, isCore: boolean, src: BundleProgram, dts?: BundleProgram | null)
  • changed: protected property UmdReflectionHost.umdExports: Map<ts.SourceFile, Map<string, Declaration<ts.Declaration>> | null> → protected property UmdReflectionHost.umdExports: FactoryMap<ts.SourceFile, Map<string, Declaration<ts.Declaration>> | null>
  • changed: protected property UmdReflectionHost.umdImportPaths: Map<ts.ParameterDeclaration, string | null> → protected property UmdReflectionHost.umdImportPaths: FactoryMap<ts.ParameterDeclaration, string | null>
  • changed: protected property UmdReflectionHost.umdModules: Map<ts.SourceFile, UmdModule | null> → protected property UmdReflectionHost.umdModules: FactoryMap<ts.SourceFile, UmdModule | null>
  • added: function stripParentheses(node: ts.Node): ts.Node
  • added: class AsyncLocker
  • added: constructor AsyncLocker(lockFile: LockFile, logger: Logger, retryDelay: number, retryAttempts: number)
  • added: method AsyncLocker.lock<T>(fn: () => Promise<T>): Promise<T>
  • added: protected method AsyncLocker.create(): Promise<void>
  • added: protected property AsyncLocker.logger: Logger
  • added: function getLockFilePath(fs: FileSystem): import('@angular/compiler-cli/src/ngtsc/file_system/src/types').BrandedPath<'AbsoluteFsPath'>
  • added: interface LockFile
  • added: method LockFile.read(): string
  • added: method LockFile.remove(): void
  • added: method LockFile.write(): void
  • added: property LockFile.path: AbsoluteFsPath
  • added: class LockFileWithChildProcess implements LockFile
  • added: constructor LockFileWithChildProcess(fs: FileSystem, logger: Logger)
  • added: method LockFileWithChildProcess.read(): string
  • added: method LockFileWithChildProcess.remove(): void
  • added: method LockFileWithChildProcess.write(): void
  • added: property LockFileWithChildProcess.path: AbsoluteFsPath
  • added: protected method LockFileWithChildProcess.createUnlocker(path: AbsoluteFsPath): ChildProcess
  • added: protected property LockFileWithChildProcess.fs: FileSystem
  • added: protected property LockFileWithChildProcess.logger: Logger
  • added: function removeLockFile(fs: FileSystem, logger: Logger, lockFilePath: AbsoluteFsPath, pid: string): void
  • added: class SyncLocker
  • added: constructor SyncLocker(lockFile: LockFile)
  • added: method SyncLocker.lock<T>(fn: () => T): T
  • added: protected method SyncLocker.create(): void
  • added: protected method SyncLocker.handleExistingLockFile(): void
  • removed: enum LogLevel
  • removed: member LogLevel.debug = 0
  • removed: member LogLevel.error = 3
  • removed: member LogLevel.info = 1
  • removed: member LogLevel.warn = 2
  • changed: constructor ConsoleLogger(logLevel: LogLevel) → constructor ConsoleLogger(level: LogLevel)
  • added: property ConsoleLogger.level: LogLevel
  • added: enum LogLevel
  • added: member LogLevel.debug = 0
  • added: member LogLevel.error = 3
  • added: member LogLevel.info = 1
  • added: member LogLevel.warn = 2
  • added: property Logger.level: LogLevel
  • removed: interface NgccOptions
  • removed: property NgccOptions.basePath: string
  • removed: property NgccOptions.compileAllFormats?: boolean
  • removed: property NgccOptions.createNewEntryPointFormats?: boolean
  • removed: property NgccOptions.fileSystem?: FileSystem
  • removed: property NgccOptions.logger?: Logger
  • removed: property NgccOptions.pathMappings?: PathMappings
  • removed: property NgccOptions.propertiesToConsider?: string[]
  • removed: property NgccOptions.targetEntryPointPath?: string
  • changed: function mainNgcc({ basePath, targetEntryPointPath, propertiesToConsider, compileAllFormats, createNewEntryPointFormats, logger, pathMappings }: NgccOptions): void → function mainNgcc(options: AsyncNgccOptions): Promise<void>
  • added: function mainNgcc(options: SyncNgccOptions): void
  • changed: method MigrationHost.injectSyntheticDecorator(clazz: ClassDeclaration, decorator: Decorator): void → method MigrationHost.injectSyntheticDecorator(clazz: ClassDeclaration, decorator: Decorator, flags?: HandlerFlags): void
  • added: method MigrationHost.getAllDecorators(clazz: ClassDeclaration): Decorator[] | null
  • added: method MigrationHost.isInScope(clazz: ClassDeclaration): boolean
  • added: class MissingInjectableMigration implements Migration
  • added: function getAngularCoreDecoratorName(decorator: Decorator): string | null
  • added: method MissingInjectableMigration.apply(clazz: ClassDeclaration, host: MigrationHost): ts.Diagnostic | null
  • added: class UndecoratedChildMigration implements Migration
  • added: method UndecoratedChildMigration.apply(clazz: ClassDeclaration, host: MigrationHost): ts.Diagnostic | null
  • added: method UndecoratedChildMigration.maybeMigrate(ref: Reference<ClassDeclaration>, host: MigrationHost): void
  • removed: function setParentPointers(parent: ts.Node, child: ts.Node): void
  • changed: function createDirectiveDecorator(clazz: ClassDeclaration): Decorator → function createDirectiveDecorator(clazz: ClassDeclaration, metadata?: { selector: string | null; exportAs: string[] | null }): Decorator
  • added: function createComponentDecorator(clazz: ClassDeclaration, metadata: { selector: string | null; exportAs: string[] | null }): Decorator
  • added: function createInjectableDecorator(clazz: ClassDeclaration): Decorator
  • added: function hasPipeDecorator(host: MigrationHost, clazz: ClassDeclaration): boolean
  • added: function clearTsConfigCache(): void
  • added: function getSharedSetup(options: NgccOptions): SharedSetup & RequiredNgccOptions & OptionalNgccOptions
  • added: interface SyncNgccOptions
  • added: property SyncNgccOptions.async?: false
  • added: property SyncNgccOptions.basePath: string
  • added: property SyncNgccOptions.compileAllFormats?: boolean
  • added: property SyncNgccOptions.createNewEntryPointFormats?: boolean
  • added: property SyncNgccOptions.enableI18nLegacyMessageIdFormat?: boolean
  • added: property SyncNgccOptions.errorOnFailedEntryPoint?: boolean
  • added: property SyncNgccOptions.fileSystem?: FileSystem
  • added: property SyncNgccOptions.invalidateEntryPointManifest?: boolean
  • added: property SyncNgccOptions.logger?: Logger
  • added: property SyncNgccOptions.pathMappings?: PathMappings
  • added: property SyncNgccOptions.propertiesToConsider?: string[]
  • added: property SyncNgccOptions.targetEntryPointPath?: string
  • added: property SyncNgccOptions.tsConfigPath?: string | null
  • added: type AsyncNgccOptions = Omit<SyncNgccOptions, 'async'> & { async: true }
  • added: type NgccOptions = AsyncNgccOptions | SyncNgccOptions
  • added: type OptionalNgccOptionKeys = 'targetEntryPointPath' | 'tsConfigPath' | 'pathMappings'
  • added: type OptionalNgccOptions = Pick<NgccOptions, OptionalNgccOptionKeys>
  • added: type RequiredNgccOptions = Required<Omit<NgccOptions, OptionalNgccOptionKeys>>
  • added: type SharedSetup = { fileSystem: FileSystem; absBasePath: AbsoluteFsPath; projectPath: AbsoluteFsPath; tsConfig: ParsedConfiguration | null; getFileWriter(pkgJsonUpdater: Package…
  • changed: const NGCC_VERSION = '8.2.14' → const NGCC_VERSION = '9.1.13'
  • changed: function hasBeenProcessed(packageJson: EntryPointPackageJson, format: EntryPointJsonProperty): boolean → function hasBeenProcessed(packageJson: EntryPointPackageJson, format: PackageJsonFormatProperties): boolean
  • changed: function markAsProcessed(fs: FileSystem, packageJson: EntryPointPackageJson, packageJsonPath: AbsoluteFsPath, format: EntryPointJsonProperty): void → function markAsProcessed(pkgJsonUpdater: PackageJsonUpdater, packageJson: EntryPointPackageJson, packageJsonPath: AbsoluteFsPath, formatProperties: PackageJsonFormatProperties[]): void
  • added: function cleanPackageJson(packageJson: EntryPointPackageJson): boolean
  • added: function needsCleaning(packageJson: EntryPointPackageJson): boolean
  • changed: function makeBundleProgram(fs: FileSystem, isCore: boolean, path: AbsoluteFsPath, r3FileName: string, options: ts.CompilerOptions, host: ts.CompilerHost, additionalFiles?: AbsoluteFsPath[]): BundleProgram → function makeBundleProgram(fs: FileSystem, isCore: boolean, pkg: AbsoluteFsPath, path: AbsoluteFsPath, r3FileName: string, options: ts.CompilerOptions, host: ts.CompilerHost, additionalFiles?: AbsoluteFsPath[]): BundleProgram
  • added: property BundleProgram.package: AbsoluteFsPath
  • changed: interface NgccProjectConfig → interface NgccProjectConfig<T = NgccPackageConfig>
  • changed: method NgccConfiguration.getConfig(packagePath: AbsoluteFsPath): NgccPackageConfig → method NgccConfiguration.getConfig(packagePath: AbsoluteFsPath, version: string | null): VersionedPackageConfig
  • changed: property NgccEntryPointConfig.override?: PackageJsonFormatProperties → property NgccEntryPointConfig.override?: PackageJsonFormatPropertiesMap
  • changed: property NgccProjectConfig.packages: { [packagePath: string]: NgccPackageConfig } → property NgccProjectConfig.packages: { [packagePath: string]: T }
  • added: const DEFAULT_NGCC_CONFIG: NgccProjectConfig
  • added: property NgccEntryPointConfig.generateDeepReexports?: boolean
  • added: property NgccEntryPointConfig.ignoreMissingDependencies?: boolean
  • added: property NgccPackageConfig.ignorableDeepImportMatchers?: RegExp[]
  • added: readonly property NgccConfiguration.hash: string
  • removed: interface PackageJsonFormatProperties
  • removed: property PackageJsonFormatProperties.es2015?: string
  • removed: property PackageJsonFormatProperties.esm2015?: string
  • removed: property PackageJsonFormatProperties.esm5?: string
  • removed: property PackageJsonFormatProperties.fesm2015?: string
  • removed: property PackageJsonFormatProperties.fesm5?: string
  • removed: property PackageJsonFormatProperties.main?: string
  • removed: property PackageJsonFormatProperties.module?: string
  • removed: property PackageJsonFormatProperties.types?: string
  • removed: property PackageJsonFormatProperties.typings?: string
  • changed: function getEntryPointFormat(fs: FileSystem, entryPoint: EntryPoint, property: string): EntryPointFormat | undefined → function getEntryPointFormat(fs: FileSystem, entryPoint: EntryPoint, property: EntryPointJsonProperty): EntryPointFormat | undefined
  • changed: function getEntryPointInfo(fs: FileSystem, config: NgccConfiguration, logger: Logger, packagePath: AbsoluteFsPath, entryPointPath: AbsoluteFsPath): EntryPoint | null → function getEntryPointInfo(fs: FileSystem, config: NgccConfiguration, logger: Logger, packagePath: AbsoluteFsPath, entryPointPath: AbsoluteFsPath): GetEntryPointResult
  • changed: interface EntryPoint → interface EntryPoint extends JsonObject
  • changed: interface EntryPointPackageJson extends PackageJsonFormatProperties → interface EntryPointPackageJson extends JsonObject, PackageJsonFormatPropertiesMap
  • changed: property EntryPointPackageJson.__processed_by_ivy_ngcc__?: { [key: string]: string } → property EntryPointPackageJson.__processed_by_ivy_ngcc__?: Record<string, string>
  • changed: type EntryPointJsonProperty = keyof (PackageJsonFormatProperties) → type EntryPointJsonProperty = Exclude<PackageJsonFormatProperties, 'types' | 'typings'>
  • added: const INCOMPATIBLE_ENTRY_POINT = 'incompatible-entry-point'
  • added: const NO_ENTRY_POINT = 'no-entry-point'
  • added: index JsonObject[key: string]: JsonValue
  • added: interface JsonArray extends Array<JsonValue>
  • added: interface JsonObject
  • added: interface PackageJsonFormatPropertiesMap
  • added: property EntryPoint.generateDeepReexports: boolean
  • added: property EntryPoint.ignoreMissingDependencies: boolean
  • added: property EntryPointPackageJson.scripts?: Record<string, string>
  • added: property PackageJsonFormatPropertiesMap.browser?: string
  • added: property PackageJsonFormatPropertiesMap.es2015?: string
  • added: property PackageJsonFormatPropertiesMap.esm2015?: string
  • added: property PackageJsonFormatPropertiesMap.esm5?: string
  • added: property PackageJsonFormatPropertiesMap.fesm2015?: string
  • added: property PackageJsonFormatPropertiesMap.fesm5?: string
  • added: property PackageJsonFormatPropertiesMap.main?: string
  • added: property PackageJsonFormatPropertiesMap.module?: string
  • added: property PackageJsonFormatPropertiesMap.types?: string
  • added: property PackageJsonFormatPropertiesMap.typings?: string
  • added: type GetEntryPointResult = EntryPoint | typeof INCOMPATIBLE_ENTRY_POINT | typeof NO_ENTRY_POINT
  • added: type JsonPrimitive = string | number | boolean | null
  • added: type JsonValue = JsonPrimitive | JsonArray | JsonObject | undefined
  • added: type PackageJsonFormatProperties = keyof PackageJsonFormatPropertiesMap
  • removed: property EntryPointBundle.formatProperty: EntryPointJsonProperty
  • changed: function makeEntryPointBundle(fs: FileSystem, entryPoint: EntryPoint, formatPath: string, isCore: boolean, formatProperty: EntryPointJsonProperty, format: EntryPointFormat, transformDts: boolean, pathMappings?: PathMappings, mirrorDtsFromSrc?: boolean): EntryPointBundle | null → function makeEntryPointBundle(fs: FileSystem, entryPoint: EntryPoint, formatPath: string, isCore: boolean, format: EntryPointFormat, transformDts: boolean, pathMappings?: PathMappings, mirrorDtsFromSrc?: boolean, enableI18nLegacyMessageIdFormat?: boolean): EntryPointBundle
  • added: property EntryPointBundle.enableI18nLegacyMessageIdFormat: boolean
  • added: class EntryPointManifest
  • added: class InvalidatingEntryPointManifest extends EntryPointManifest
  • added: constructor EntryPointManifest(fs: FileSystem, config: NgccConfiguration, logger: Logger)
  • added: interface EntryPointManifestFile
  • added: method EntryPointManifest.readEntryPointsUsingManifest(basePath: AbsoluteFsPath): EntryPointWithDependencies[] | null
  • added: method EntryPointManifest.writeEntryPointManifest(basePath: AbsoluteFsPath, entryPoints: EntryPointWithDependencies[]): void
  • added: method InvalidatingEntryPointManifest.readEntryPointsUsingManifest(_basePath: AbsoluteFsPath): EntryPointWithDependencies[] | null
  • added: property EntryPointManifestFile.configFileHash: string
  • added: property EntryPointManifestFile.entryPointPaths: EntryPointPaths[]
  • added: property EntryPointManifestFile.lockFileHash: string
  • added: property EntryPointManifestFile.ngccVersion: string
  • added: type EntryPointPaths = [string, string, Array<AbsoluteFsPath>?, Array<AbsoluteFsPath | PathSegment>?, Array<AbsoluteFsPath>?]
  • changed: constructor Transformer(fs: FileSystem, logger: Logger) → constructor Transformer(fs: FileSystem, logger: Logger, tsConfig?: ParsedConfiguration | null)
  • changed: method Transformer.transform(bundle: EntryPointBundle): FileToWrite[] → method Transformer.transform(bundle: EntryPointBundle): TransformResult
  • added: function hasErrors(diagnostics: ts.Diagnostic[]): boolean
  • added: type TransformResult = { success: true; diagnostics: ts.Diagnostic[]; transformedFiles: FileToWrite[] } | { success: false; diagnostics: ts.Diagnostic[] }
  • added: function getPathMappingsFromTsConfig(tsConfig: ParsedConfiguration | null, projectPath: AbsoluteFsPath): PathMappings | undefined
  • added: type PathMappings = { baseUrl: string; paths: { [key: string]: string[] } }
  • added: method CommonJsRenderingFormatter.addDirectExports(output: MagicString, exports: Reexport[], importManager: ImportManager, file: ts.SourceFile): void
  • added: method Esm5RenderingFormatter.printStatement(stmt: Statement, sourceFile: ts.SourceFile, importManager: ImportManager): string
  • added: method EsmRenderingFormatter.addAdjacentStatements(output: MagicString, compiledClass: CompiledClass, statements: string): void
  • added: method EsmRenderingFormatter.addDirectExports(output: MagicString, exports: Reexport[], importManager: ImportManager, file: ts.SourceFile): void
  • added: method EsmRenderingFormatter.printStatement(stmt: Statement, sourceFile: ts.SourceFile, importManager: ImportManager): string
  • added: protected property EsmRenderingFormatter.printer: ts.Printer
  • removed: function renderDefinitions(sourceFile: ts.SourceFile, compiledClass: CompiledClass, imports: ImportManager): string
  • changed: constructor Renderer(srcFormatter: RenderingFormatter, fs: FileSystem, logger: Logger, bundle: EntryPointBundle) → constructor Renderer(host: NgccReflectionHost, srcFormatter: RenderingFormatter, fs: FileSystem, logger: Logger, bundle: EntryPointBundle)
  • changed: function renderConstantPool(sourceFile: ts.SourceFile, constantPool: ConstantPool, imports: ImportManager): string → function renderConstantPool(formatter: RenderingFormatter, sourceFile: ts.SourceFile, constantPool: ConstantPool, imports: ImportManager): string
  • added: method RenderingFormatter.addAdjacentStatements(output: MagicString, compiledClass: CompiledClass, statements: string): void
  • added: method RenderingFormatter.addDirectExports(output: MagicString, exports: Reexport[], importManager: ImportManager, file: ts.SourceFile): void
  • added: method RenderingFormatter.printStatement(stmt: Statement, sourceFile: ts.SourceFile, importManager: ImportManager): string
  • removed: function extractSourceMap(fs: FileSystem, logger: Logger, file: ts.SourceFile): SourceMapInfo
  • removed: function mergeSourceMaps(oldMap: RawSourceMap | null, newMap: RawSourceMap): SourceMapConverter
  • changed: function renderSourceAndMap(sourceFile: ts.SourceFile, input: SourceMapInfo, output: MagicString): FileToWrite[] → function renderSourceAndMap(logger: Logger, fs: FileSystem, sourceFile: ts.SourceFile, generatedMagicString: MagicString): FileToWrite[]
  • added: method UmdRenderingFormatter.addDirectExports(output: MagicString, exports: Reexport[], importManager: ImportManager, file: ts.SourceFile): void
  • added: interface RawSourceMap
  • added: property RawSourceMap.file?: string
  • added: property RawSourceMap.mappings: string
  • added: property RawSourceMap.names: string[]
  • added: property RawSourceMap.sourceRoot?: string
  • added: property RawSourceMap.sources: string[]
  • added: property RawSourceMap.sourcesContent?: (string | null)[]
  • added: property RawSourceMap.version: number | string
  • added: function compareSegments(a: SegmentMarker, b: SegmentMarker): number
  • added: function offsetSegment(startOfLinePositions: number[], marker: SegmentMarker, offset: number): SegmentMarker
  • added: interface SegmentMarker
  • added: property SegmentMarker.next: SegmentMarker | undefined
  • added: readonly property SegmentMarker.column: number
  • added: readonly property SegmentMarker.line: number
  • added: readonly property SegmentMarker.position: number
  • added: class SourceFile
  • added: constructor SourceFile(sourcePath: AbsoluteFsPath, contents: string, rawMap: RawSourceMap | null, inline: boolean, sources: (SourceFile | null)[])
  • added: function computeStartOfLinePositions(str: string): number[]
  • added: function ensureOriginalSegmentLinks(mappings: Mapping[]): void
  • added: function extractOriginalSegments(mappings: Mapping[]): Map<SourceFile, SegmentMarker[]>
  • added: function findLastMappingIndexBefore(mappings: Mapping[], marker: SegmentMarker, exclusive: boolean, lowerIndex: number): number
  • added: function mergeMappings(generatedSource: SourceFile, ab: Mapping, bc: Mapping): Mapping
  • added: function parseMappings(rawMap: RawSourceMap | null, sources: (SourceFile | null)[], generatedSourceStartOfLinePositions: number[]): Mapping[]
  • added: function removeSourceMapComments(contents: string): string
  • added: interface Mapping
  • added: method SourceFile.renderFlattenedSourceMap(): RawSourceMap
  • added: readonly property Mapping.generatedSegment: SegmentMarker
  • added: readonly property Mapping.name?: string
  • added: readonly property Mapping.originalSegment: SegmentMarker
  • added: readonly property Mapping.originalSource: SourceFile
  • added: readonly property SourceFile.contents: string
  • added: readonly property SourceFile.flattenedMappings: Mapping[]
  • added: readonly property SourceFile.inline: boolean
  • added: readonly property SourceFile.rawMap: RawSourceMap | null
  • added: readonly property SourceFile.sourcePath: AbsoluteFsPath
  • added: readonly property SourceFile.sources: (SourceFile | null)[]
  • added: readonly property SourceFile.startOfLinePositions: number[]
  • added: class SourceFileLoader
  • added: constructor SourceFileLoader(fs: FileSystem, logger: Logger)
  • added: method SourceFileLoader.loadSourceFile(sourcePath: AbsoluteFsPath, contents: string, mapAndPath: MapAndPath): SourceFile
  • added: method SourceFileLoader.loadSourceFile(sourcePath: AbsoluteFsPath, contents?: string | null, mapAndPath?: null): SourceFile | null
  • removed: type PathMappings = { baseUrl: string; paths: { [key: string]: string[] } }
  • added: class FactoryMap<K, V>
  • added: constructor FactoryMap(factory: (key: K) => V, entries?: readonly (readonly [K, V])[] | null)
  • added: function getTsHelperFnFromDeclaration(decl: ts.Declaration): KnownDeclaration | null
  • added: function getTsHelperFnFromIdentifier(id: ts.Identifier): KnownDeclaration | null
  • added: function stripDollarSuffix(value: string): string
  • added: function stripExtension(fileName: string): string
  • added: interface PartiallyOrderedList<T> extends Array<T>
  • added: method FactoryMap.get(key: K): V
  • added: method FactoryMap.set(key: K, value: V): void
  • added: method PartiallyOrderedList.map<U>(callbackfn: (value: T, index: number, array: PartiallyOrderedList<T>) => U, thisArg?: any): PartiallyOrderedList<U>
  • added: method PartiallyOrderedList.slice(...args: Parameters<Array<T>['slice']>): PartiallyOrderedList<T>
  • added: property PartiallyOrderedList._partiallyOrdered: true
  • added: class BackupFileCleaner implements CleaningStrategy
  • added: class NgccDirectoryCleaner implements CleaningStrategy
  • added: class PackageJsonCleaner implements CleaningStrategy
  • added: constructor BackupFileCleaner(fs: FileSystem)
  • added: constructor NgccDirectoryCleaner(fs: FileSystem)
  • added: constructor PackageJsonCleaner(fs: FileSystem)
  • added: interface CleaningStrategy
  • added: method BackupFileCleaner.canClean(path: AbsoluteFsPath, basename: PathSegment): boolean
  • added: method BackupFileCleaner.clean(path: AbsoluteFsPath, _basename: PathSegment): void
  • added: method CleaningStrategy.canClean(path: AbsoluteFsPath, basename: PathSegment): boolean
  • added: method CleaningStrategy.clean(path: AbsoluteFsPath, basename: PathSegment): void
  • added: method NgccDirectoryCleaner.canClean(path: AbsoluteFsPath, basename: PathSegment): boolean
  • added: method NgccDirectoryCleaner.clean(path: AbsoluteFsPath, _basename: PathSegment): void
  • added: method PackageJsonCleaner.canClean(_path: AbsoluteFsPath, basename: PathSegment): boolean
  • added: method PackageJsonCleaner.clean(path: AbsoluteFsPath, _basename: PathSegment): void
  • added: class PackageCleaner
  • added: constructor PackageCleaner(fs: FileSystem, cleaners: CleaningStrategy[])
  • added: function cleanOutdatedPackages(fileSystem: FileSystem, entryPoints: EntryPoint[]): boolean
  • added: method PackageCleaner.clean(directory: AbsoluteFsPath): void
  • added: function isLocalDirectory(fs: FileSystem, path: AbsoluteFsPath): boolean
  • changed: method FileWriter.writeBundle(entryPoint: EntryPoint, bundle: EntryPointBundle, transformedFiles: FileToWrite[]): void → method FileWriter.writeBundle(bundle: EntryPointBundle, transformedFiles: FileToWrite[], formatProperties: EntryPointJsonProperty[]): void
  • added: method FileWriter.revertBundle(entryPoint: EntryPoint, transformedFilePaths: AbsoluteFsPath[], formatProperties: EntryPointJsonProperty[]): void
  • changed: constructor InPlaceFileWriter(fs: FileSystem) → constructor InPlaceFileWriter(fs: FileSystem, logger: Logger, errorOnFailedEntryPoint: boolean)
  • changed: method InPlaceFileWriter.writeBundle(_entryPoint: EntryPoint, _bundle: EntryPointBundle, transformedFiles: FileToWrite[]): void → method InPlaceFileWriter.writeBundle(_bundle: EntryPointBundle, transformedFiles: FileToWrite[], _formatProperties?: EntryPointJsonProperty[]): void
  • added: const NGCC_BACKUP_EXTENSION = '.__ivy_ngcc_bak'
  • added: method InPlaceFileWriter.revertBundle(_entryPoint: EntryPoint, transformedFilePaths: AbsoluteFsPath[], _formatProperties: EntryPointJsonProperty[]): void
  • added: protected method InPlaceFileWriter.revertFileAndBackup(filePath: AbsoluteFsPath): void
  • added: protected property InPlaceFileWriter.errorOnFailedEntryPoint: boolean
  • added: protected property InPlaceFileWriter.logger: Logger
  • changed: method NewEntryPointFileWriter.writeBundle(entryPoint: EntryPoint, bundle: EntryPointBundle, transformedFiles: FileToWrite[]): void → method NewEntryPointFileWriter.writeBundle(bundle: EntryPointBundle, transformedFiles: FileToWrite[], formatProperties: EntryPointJsonProperty[]): void
  • changed: protected method NewEntryPointFileWriter.updatePackageJson(entryPoint: EntryPoint, formatProperty: EntryPointJsonProperty, ngccFolder: AbsoluteFsPath): void → protected method NewEntryPointFileWriter.updatePackageJson(entryPoint: EntryPoint, formatProperties: EntryPointJsonProperty[], ngccFolder: AbsoluteFsPath): void
  • added: const NGCC_DIRECTORY = '__ivy_ngcc__'
  • added: const NGCC_PROPERTY_EXTENSION = '_ivy_ngcc'
  • added: constructor NewEntryPointFileWriter(fs: FileSystem, logger: Logger, errorOnFailedEntryPoint: boolean, pkgJsonUpdater: PackageJsonUpdater)
  • added: method NewEntryPointFileWriter.revertBundle(entryPoint: EntryPoint, transformedFilePaths: AbsoluteFsPath[], formatProperties: EntryPointJsonProperty[]): void
  • added: protected method NewEntryPointFileWriter.revertFile(filePath: AbsoluteFsPath, packagePath: AbsoluteFsPath): void
  • added: protected method NewEntryPointFileWriter.revertPackageJson(entryPoint: EntryPoint, formatProperties: EntryPointJsonProperty[]): void
  • added: class DirectPackageJsonUpdater implements PackageJsonUpdater
  • added: class PackageJsonUpdate
  • added: constructor DirectPackageJsonUpdater(fs: FileSystem)
  • added: constructor PackageJsonUpdate(writeChangesImpl: WritePackageJsonChangesFn)
  • added: function applyChange(ctx: JsonObject, propPath: string[], value: JsonValue, positioning: PackageJsonPropertyPositioning): void
  • added: interface PackageJsonUpdater
  • added: method DirectPackageJsonUpdater.createUpdate(): PackageJsonUpdate
  • added: method DirectPackageJsonUpdater.writeChanges(changes: PackageJsonChange[], packageJsonPath: AbsoluteFsPath, preExistingParsedJson?: JsonObject): void
  • added: method PackageJsonUpdate.addChange(propertyPath: string[], value: JsonValue, positioning?: PackageJsonPropertyPositioning): this
  • added: method PackageJsonUpdate.writeChanges(packageJsonPath: AbsoluteFsPath, parsedJson?: JsonObject): void
  • added: method PackageJsonUpdater.createUpdate(): PackageJsonUpdate
  • added: method PackageJsonUpdater.writeChanges(changes: PackageJsonChange[], packageJsonPath: AbsoluteFsPath, parsedJson?: JsonObject): void
  • added: type PackageJsonChange = [string[], JsonValue, PackageJsonPropertyPositioning]
  • added: type PackageJsonPropertyPositioning = 'unimportant' | 'alphabetic' | { before: string }
  • added: type WritePackageJsonChangesFn = (changes: PackageJsonChange[], packageJsonPath: AbsoluteFsPath, parsedJson?: JsonObject) => void
  • removed: export { CompilerHost } from './src/ngtools_api2'
  • removed: export { CustomTransformers } from './src/ngtools_api2'
  • removed: export { Diagnostic } from './src/ngtools_api2'
  • removed: export { EmitFlags } from './src/ngtools_api2'
  • removed: export { Program } from './src/ngtools_api2'
  • removed: export { createCompilerHost } from './src/ngtools_api2'
  • removed: export { createProgram } from './src/ngtools_api2'
  • removed: export { formatDiagnostics } from './src/ngtools_api2'
  • removed: function getExpressionDiagnostics(scope: SymbolTable, ast: AST, query: SymbolQuery, context?: ExpressionDiagnosticsContext): TypeDiagnostic[]
  • removed: function getExpressionScope(info: DiagnosticTemplateInfo, path: TemplateAstPath, includeEvent: boolean): SymbolTable
  • removed: function getTemplateExpressionDiagnostics(info: DiagnosticTemplateInfo): ExpressionDiagnostic[]
  • removed: interface DiagnosticTemplateInfo
  • removed: interface ExpressionDiagnostic
  • removed: property DiagnosticTemplateInfo.fileName?: string
  • removed: property DiagnosticTemplateInfo.htmlAst: Node[]
  • removed: property DiagnosticTemplateInfo.members: SymbolTable
  • removed: property DiagnosticTemplateInfo.offset: number
  • removed: property DiagnosticTemplateInfo.query: SymbolQuery
  • removed: property DiagnosticTemplateInfo.templateAst: TemplateAst[]
  • removed: property ExpressionDiagnostic.kind: DiagnosticKind
  • removed: property ExpressionDiagnostic.message: string
  • removed: property ExpressionDiagnostic.span: Span
  • removed: class AstType implements AstVisitor
  • removed: class TypeDiagnostic
  • removed: constructor AstType(scope: SymbolTable, query: SymbolQuery, context: ExpressionDiagnosticsContext)
  • removed: constructor TypeDiagnostic(kind: DiagnosticKind, message: string, ast: AST)
  • removed: enum DiagnosticKind
  • removed: interface ExpressionDiagnosticsContext
  • removed: member DiagnosticKind.Error = 0
  • removed: member DiagnosticKind.Warning = 1
  • removed: method AstType.getDiagnostics(ast: AST): TypeDiagnostic[]
  • removed: method AstType.getType(ast: AST): Symbol
  • removed: method AstType.visitBinary(ast: Binary): Symbol
  • removed: method AstType.visitChain(ast: Chain): Symbol
  • removed: method AstType.visitConditional(ast: Conditional): Symbol
  • removed: method AstType.visitFunctionCall(ast: FunctionCall): Symbol
  • removed: method AstType.visitImplicitReceiver(ast: ImplicitReceiver): Symbol
  • removed: method AstType.visitInterpolation(ast: Interpolation): Symbol
  • removed: method AstType.visitKeyedRead(ast: KeyedRead): Symbol
  • removed: method AstType.visitKeyedWrite(ast: KeyedWrite): Symbol
  • removed: method AstType.visitLiteralArray(ast: LiteralArray): Symbol
  • removed: method AstType.visitLiteralMap(ast: LiteralMap): Symbol
  • removed: method AstType.visitLiteralPrimitive(ast: LiteralPrimitive): Symbol
  • removed: method AstType.visitMethodCall(ast: MethodCall): Symbol
  • removed: method AstType.visitNonNullAssert(ast: NonNullAssert): Symbol
  • removed: method AstType.visitPipe(ast: BindingPipe): Symbol
  • removed: method AstType.visitPrefixNot(ast: PrefixNot): Symbol
  • removed: method AstType.visitPropertyRead(ast: PropertyRead): Symbol | undefined
  • removed: method AstType.visitPropertyWrite(ast: PropertyWrite): Symbol
  • removed: method AstType.visitQuote(ast: Quote): Symbol
  • removed: method AstType.visitSafeMethodCall(ast: SafeMethodCall): Symbol
  • removed: method AstType.visitSafePropertyRead(ast: SafePropertyRead): Symbol | undefined
  • removed: property AstType.diagnostics: TypeDiagnostic[]
  • removed: property ExpressionDiagnosticsContext.event?: boolean
  • removed: property TypeDiagnostic.ast: AST
  • removed: property TypeDiagnostic.kind: DiagnosticKind
  • removed: property TypeDiagnostic.message: string
  • removed: enum BuiltinType
  • removed: interface Location
  • removed: interface PipeInfo
  • removed: interface Signature
  • removed: interface Span
  • removed: interface Symbol
  • removed: interface SymbolDeclaration
  • removed: interface SymbolQuery
  • removed: interface SymbolTable
  • removed: member BuiltinType.Any = 0
  • removed: member BuiltinType.Boolean = 3
  • removed: member BuiltinType.Null = 5
  • removed: member BuiltinType.Number = 2
  • removed: member BuiltinType.Other = 7
  • removed: member BuiltinType.String = 1
  • removed: member BuiltinType.Unbound = 6
  • removed: member BuiltinType.Undefined = 4
  • removed: method Symbol.indexed(argument: Symbol): Symbol | undefined
  • removed: method Symbol.members(): SymbolTable
  • removed: method Symbol.selectSignature(types: Symbol[]): Signature | undefined
  • removed: method Symbol.signatures(): Signature[]
  • removed: method SymbolQuery.createSymbolTable(symbols: SymbolDeclaration[]): SymbolTable
  • removed: method SymbolQuery.getArrayType(type: Symbol): Symbol
  • removed: method SymbolQuery.getBuiltinType(kind: BuiltinType): Symbol
  • removed: method SymbolQuery.getElementType(type: Symbol): Symbol | undefined
  • removed: method SymbolQuery.getNonNullableType(type: Symbol): Symbol
  • removed: method SymbolQuery.getPipes(): SymbolTable
  • removed: method SymbolQuery.getSpanAt(line: number, column: number): Span | undefined
  • removed: method SymbolQuery.getTemplateContext(type: StaticSymbol): SymbolTable | undefined
  • removed: method SymbolQuery.getTypeKind(symbol: Symbol): BuiltinType
  • removed: method SymbolQuery.getTypeSymbol(type: StaticSymbol): Symbol | undefined
  • removed: method SymbolQuery.getTypeUnion(...types: Symbol[]): Symbol
  • removed: method SymbolQuery.mergeSymbolTable(symbolTables: SymbolTable[]): SymbolTable
  • removed: method SymbolTable.get(key: string): Symbol | undefined
  • removed: method SymbolTable.has(key: string): boolean
  • removed: method SymbolTable.values(): Symbol[]
  • removed: property Location.fileName: string
  • removed: property Location.span: Span
  • removed: property PipeInfo.name: string
  • removed: property PipeInfo.symbol: StaticSymbol
  • removed: property Span.end: number
  • removed: property Span.start: number
  • removed: readonly property Signature.arguments: SymbolTable
  • removed: readonly property Signature.result: Symbol
  • removed: readonly property Symbol.callable: boolean
  • removed: readonly property Symbol.container: Symbol | undefined
  • removed: readonly property Symbol.definition: Definition | undefined
  • removed: readonly property Symbol.kind: string
  • removed: readonly property Symbol.language: string
  • removed: readonly property Symbol.name: string
  • removed: readonly property Symbol.nullable: boolean
  • removed: readonly property Symbol.public: boolean
  • removed: readonly property Symbol.type: Symbol | undefined
  • removed: readonly property SymbolDeclaration.definition?: Definition
  • removed: readonly property SymbolDeclaration.kind: DeclarationKind
  • removed: readonly property SymbolDeclaration.name: string
  • removed: readonly property SymbolDeclaration.type: Symbol
  • removed: readonly property SymbolTable.size: number
  • removed: type DeclarationKind = 'attribute' | 'html attribute' | 'component' | 'element' | 'entity' | 'key' | 'method' | 'pipe' | 'property' | 'type' | 'reference' | 'variable'
  • removed: type Definition = Location[] | undefined
  • removed: type Pipes = PipeInfo[] | undefined
  • removed: const toSymbolTableFactory: (tsVersion: string) => (symbols: ts.Symbol[]) => ts.UnderscoreEscapedMap<ts.Symbol>
  • removed: function getClassFromStaticSymbol(program: ts.Program, type: StaticSymbol): ts.ClassDeclaration | undefined
  • removed: function getClassMembers(program: ts.Program, checker: ts.TypeChecker, staticSymbol: StaticSymbol): SymbolTable | undefined
  • removed: function getClassMembersFromDeclaration(program: ts.Program, checker: ts.TypeChecker, source: ts.SourceFile, declaration: ts.ClassDeclaration): SymbolTable
  • removed: function getPipesTable(source: ts.SourceFile, program: ts.Program, checker: ts.TypeChecker, pipes: CompilePipeSummary[]): SymbolTable
  • removed: function getSymbolQuery(program: ts.Program, checker: ts.TypeChecker, source: ts.SourceFile, fetchPipes: () => SymbolTable): SymbolQuery
  • removed: export { AstType } from './diagnostics/expression_type'
  • removed: export { BuiltinType } from './diagnostics/symbols'
  • removed: export { DeclarationKind } from './diagnostics/symbols'
  • removed: export { Definition } from './diagnostics/symbols'
  • removed: export { DiagnosticKind } from './diagnostics/expression_type'
  • removed: export { DiagnosticTemplateInfo } from './diagnostics/expression_diagnostics'
  • removed: export { ExpressionDiagnostic } from './diagnostics/expression_diagnostics'
  • removed: export { ExpressionDiagnosticsContext } from './diagnostics/expression_type'
  • removed: export { Location } from './diagnostics/symbols'
  • removed: export { PipeInfo } from './diagnostics/symbols'
  • removed: export { Pipes } from './diagnostics/symbols'
  • removed: export { Signature } from './diagnostics/symbols'
  • removed: export { Span } from './diagnostics/symbols'
  • removed: export { Symbol } from './diagnostics/symbols'
  • removed: export { SymbolDeclaration } from './diagnostics/symbols'
  • removed: export { SymbolQuery } from './diagnostics/symbols'
  • removed: export { SymbolTable } from './diagnostics/symbols'
  • removed: export { TypeDiagnostic } from './diagnostics/expression_type'
  • removed: export { getClassFromStaticSymbol } from './diagnostics/typescript_symbols'
  • removed: export { getClassMembers } from './diagnostics/typescript_symbols'
  • removed: export { getClassMembersFromDeclaration } from './diagnostics/typescript_symbols'
  • removed: export { getExpressionDiagnostics } from './diagnostics/expression_diagnostics'
  • removed: export { getExpressionScope } from './diagnostics/expression_diagnostics'
  • removed: export { getPipesTable } from './diagnostics/typescript_symbols'
  • removed: export { getSymbolQuery } from './diagnostics/typescript_symbols'
  • removed: export { getTemplateExpressionDiagnostics } from './diagnostics/expression_diagnostics'
  • changed: function mainDiagnosticsForTest(args: string[], config?: NgcParsedConfiguration): ReadonlyArray<ts.Diagnostic | api.Diagnostic> → function mainDiagnosticsForTest(args: string[], config?: NgcParsedConfiguration, programReuse?: { program: api.Program | undefined }, modifiedResourceFiles?: Set<string> | null): ReadonlyArray<ts.Diagnostic | api.Diagnostic>
  • changed: function watchMode(project: string, options: api.CompilerOptions, consoleError: (s: string) => void): { close: () => void; ready: (cb: () => void) => void; firstCompileResult: readonly (api.Diagnostic | ts.Diagnostic)[] } → function watchMode(project: string, options: api.CompilerOptions, consoleError: (s: string) => void): { close: () => void; ready: (cb: () => void) => void; firstCompileResult: Diagnostics }
  • removed: index NgTools_InternalApi_NG_2_LazyRouteMap[route: string]: string
  • removed: interface NgTools_InternalApi_NG2_CodeGen_Options
  • removed: interface NgTools_InternalApi_NG2_ExtractI18n_Options
  • removed: interface NgTools_InternalApi_NG2_ListLazyRoutes_Options
  • removed: interface NgTools_InternalApi_NG_2_LazyRouteMap
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.angularCompilerOptions: CompilerOptions
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.basePath: string
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.compilerOptions: ts.CompilerOptions
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.host: ts.CompilerHost
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.i18nFile?: string
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.i18nFormat?: string
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.locale?: string
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.missingTranslation?: string
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.program: ts.Program
  • removed: property NgTools_InternalApi_NG2_CodeGen_Options.readResource: (fileName: string) => Promise<string>
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.angularCompilerOptions: CompilerOptions
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.basePath: string
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.compilerOptions: ts.CompilerOptions
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.host: ts.CompilerHost
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.i18nFormat?: string
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.locale?: string
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.outFile?: string
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.program: ts.Program
  • removed: property NgTools_InternalApi_NG2_ExtractI18n_Options.readResource: (fileName: string) => Promise<string>
  • removed: property NgTools_InternalApi_NG2_ListLazyRoutes_Options.angularCompilerOptions: CompilerOptions
  • removed: property NgTools_InternalApi_NG2_ListLazyRoutes_Options.entryModule: string
  • removed: property NgTools_InternalApi_NG2_ListLazyRoutes_Options.host: ts.CompilerHost
  • removed: property NgTools_InternalApi_NG2_ListLazyRoutes_Options.program: ts.Program
  • removed: call TsEmitCallback(args: TsEmitArguments): ts.EmitResult
  • removed: enum EmitFlags
  • removed: function createCompilerHost({ options, tsHost }: { options: CompilerOptions; tsHost?: ts.CompilerHost }): CompilerHost
  • removed: function createProgram({ rootNames, options, host, oldProgram }: { rootNames: string[]; options: CompilerOptions; host: CompilerHost; oldProgram?: Program }): Program
  • removed: function formatDiagnostics(diags: Diagnostics): string
  • removed: interface CompilerHost extends ts.CompilerHost
  • removed: interface CompilerOptions extends ts.CompilerOptions
  • removed: interface CustomTransformers
  • removed: interface Diagnostic
  • removed: interface LazyRoute
  • removed: interface Program
  • removed: interface TsEmitArguments
  • removed: interface TsEmitCallback
  • removed: member EmitFlags.All = 31
  • removed: member EmitFlags.Codegen = 16
  • removed: member EmitFlags.DTS = 1
  • removed: member EmitFlags.Default = 19
  • removed: member EmitFlags.I18nBundle = 8
  • removed: member EmitFlags.JS = 2
  • removed: member EmitFlags.Metadata = 4
  • removed: method CompilerHost.fileNameToModuleName?(importedFilePath: string, containingFilePath: string): string
  • removed: method CompilerHost.fromSummaryFileName?(fileName: string, referringLibFileName: string): string
  • removed: method CompilerHost.moduleNameToFileName?(moduleName: string, containingFile?: string): string | null
  • removed: method CompilerHost.readResource?(fileName: string): Promise<string> | string
  • removed: method CompilerHost.resourceNameToFileName?(resourceName: string, containingFilePath: string): string | null
  • removed: method CompilerHost.toSummaryFileName?(fileName: string, referringSrcFileName: string): string
  • removed: method Program.emit({ emitFlags, cancellationToken, customTransformers, emitCallback }: { emitFlags?: EmitFlags; cancellationToken?: ts.CancellationToken; customTransformers?: CustomTransformers; emitCallback?: TsEmitCallback }): ts.EmitResult
  • removed: method Program.getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic | Diagnostic>
  • removed: method Program.getNgSemanticDiagnostics(fileName?: string, cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic | Diagnostic>
  • removed: method Program.getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken): ReadonlyArray<Diagnostic>
  • removed: method Program.getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic>
  • removed: method Program.getTsProgram(): ts.Program
  • removed: method Program.getTsSemanticDiagnostics(sourceFile?: ts.SourceFile, cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic>
  • removed: method Program.getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile, cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic>
  • removed: method Program.listLazyRoutes(entryRoute?: string): LazyRoute[]
  • removed: method Program.loadNgStructureAsync(): Promise<void>
  • removed: property CompilerOptions.annotateForClosureCompiler?: boolean
  • removed: property CompilerOptions.annotationsAs?: 'decorators' | 'static fields'
  • removed: property CompilerOptions.basePath?: string
  • removed: property CompilerOptions.disableExpressionLowering?: boolean
  • removed: property CompilerOptions.disableTypeScriptVersionCheck?: boolean
  • removed: property CompilerOptions.flatModuleId?: string
  • removed: property CompilerOptions.flatModuleOutFile?: string
  • removed: property CompilerOptions.generateCodeForLibraries?: boolean
  • removed: property CompilerOptions.i18nInFile?: string
  • removed: property CompilerOptions.i18nInFormat?: string
  • removed: property CompilerOptions.i18nInLocale?: string
  • removed: property CompilerOptions.i18nInMissingTranslations?: 'error' | 'warning' | 'ignore'
  • removed: property CompilerOptions.i18nOutFile?: string
  • removed: property CompilerOptions.i18nOutFormat?: string
  • removed: property CompilerOptions.i18nOutLocale?: string
  • removed: property CompilerOptions.preserveWhitespaces?: boolean
  • removed: property CompilerOptions.skipMetadataEmit?: boolean
  • removed: property CompilerOptions.skipTemplateCodegen?: boolean
  • removed: property CompilerOptions.strictMetadataEmit?: boolean
  • removed: property CompilerOptions.trace?: boolean
  • removed: property CustomTransformers.afterTs?: ts.TransformerFactory<ts.SourceFile>[]
  • removed: property CustomTransformers.beforeTs?: ts.TransformerFactory<ts.SourceFile>[]
  • removed: property Diagnostic.category: ts.DiagnosticCategory
  • removed: property Diagnostic.code: number
  • removed: property Diagnostic.messageText: string
  • removed: property Diagnostic.source: 'angular'
  • removed: property Diagnostic.span?: ParseSourceSpan
  • removed: property LazyRoute.module: { name: string; filePath: string }
  • removed: property LazyRoute.referencedModule: { name: string; filePath: string }
  • removed: property LazyRoute.route: string
  • removed: property TsEmitArguments.cancellationToken?: ts.CancellationToken
  • removed: property TsEmitArguments.customTransformers?: ts.CustomTransformers
  • removed: property TsEmitArguments.emitOnlyDtsFiles?: boolean
  • removed: property TsEmitArguments.host: CompilerHost
  • removed: property TsEmitArguments.options: CompilerOptions
  • removed: property TsEmitArguments.program: ts.Program
  • removed: property TsEmitArguments.targetSourceFile?: ts.SourceFile
  • removed: property TsEmitArguments.writeFile?: ts.WriteFileCallback
  • removed: type Diagnostics = ReadonlyArray<ts.Diagnostic | Diagnostic>
  • removed: export { BaseDefDecoratorHandler } from './src/base_def'
  • added: export { forwardRefResolver } from './src/util'
  • removed: class BaseDefDecoratorHandler implements DecoratorHandler<R3BaseRefMetaData, R3BaseRefDecoratorDetection>
  • removed: constructor BaseDefDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, isCore: boolean)
  • removed: interface R3BaseRefDecoratorDetection
  • removed: method BaseDefDecoratorHandler.analyze(node: ClassDeclaration, metadata: R3BaseRefDecoratorDetection): AnalysisOutput<R3BaseRefMetaData>
  • removed: method BaseDefDecoratorHandler.compile(node: ClassDeclaration, analysis: R3BaseRefMetaData, pool: ConstantPool): CompileResult[] | CompileResult
  • removed: method BaseDefDecoratorHandler.detect(node: ClassDeclaration, decorators: Decorator[] | null): DetectResult<R3BaseRefDecoratorDetection> | undefined
  • removed: property R3BaseRefDecoratorDetection.host?: ClassMember[]
  • removed: property R3BaseRefDecoratorDetection.inputs?: { property: ClassMember; decorator: Decorator }[]
  • removed: property R3BaseRefDecoratorDetection.outputs?: { property: ClassMember; decorator: Decorator }[]
  • removed: property R3BaseRefDecoratorDetection.queries?: { member: ClassMember; decorators: Decorator[] }[]
  • removed: property R3BaseRefDecoratorDetection.viewQueries?: { member: ClassMember; decorators: Decorator[] }[]
  • removed: readonly property BaseDefDecoratorHandler.precedence = HandlerPrecedence.WEAK
  • removed: interface ComponentHandlerData
  • removed: property ComponentHandlerData.meta: R3ComponentMetadata
  • removed: property ComponentHandlerData.metadataStmt: Statement | null
  • removed: property ComponentHandlerData.parseTemplate: (options?: ParseTemplateOptions) => ParsedTemplate
  • removed: property ComponentHandlerData.parsedTemplate: { nodes: TmplAstNode[]; file: ParseSourceFile }
  • changed: class ComponentDecoratorHandler implements DecoratorHandler<ComponentHandlerData, Decorator> → class ComponentDecoratorHandler implements DecoratorHandler<Decorator, ComponentAnalysisData, ComponentResolutionData>
  • changed: constructor ComponentDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, metaReader: MetadataReader, scopeRegistry: LocalModuleScopeRegistry, isCore: boolean, resourceLoader: ResourceLoader, rootDirs: string[], defaultPreserveWhitespaces: boolean, i18nUseExternalIds: boolean, moduleResolver: ModuleResolver, cycleAnalyzer: CycleAnalyzer, refEmit… → constructor ComponentDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, metaReader: MetadataReader, scopeReader: ComponentScopeReader, scopeRegistry: LocalModuleScopeRegistry, isCore: boolean, resourceLoader: ResourceLoader, rootDirs: ReadonlyArray<string>, defaultPreserveWhitespaces: boolean, i18nUseExternalIds: boolean, enableI18nLegacyMessa…
  • changed: method ComponentDecoratorHandler.analyze(node: ClassDeclaration, decorator: Decorator): AnalysisOutput<ComponentHandlerData> → method ComponentDecoratorHandler.analyze(node: ClassDeclaration, decorator: Readonly<Decorator>, flags?: HandlerFlags): AnalysisOutput<ComponentAnalysisData>
  • changed: method ComponentDecoratorHandler.compile(node: ClassDeclaration, analysis: ComponentHandlerData, pool: ConstantPool): CompileResult → method ComponentDecoratorHandler.compile(node: ClassDeclaration, analysis: Readonly<ComponentAnalysisData>, resolution: Readonly<ComponentResolutionData>, pool: ConstantPool): CompileResult[]
  • changed: method ComponentDecoratorHandler.index(context: IndexingContext, node: ClassDeclaration, analysis: ComponentHandlerData): void → method ComponentDecoratorHandler.index(context: IndexingContext, node: ClassDeclaration, analysis: Readonly<ComponentAnalysisData>): null | undefined
  • changed: method ComponentDecoratorHandler.preanalyze(node: ClassDeclaration, decorator: Decorator): Promise<void> | undefined → method ComponentDecoratorHandler.preanalyze(node: ClassDeclaration, decorator: Readonly<Decorator>): Promise<void> | undefined
  • changed: method ComponentDecoratorHandler.resolve(node: ClassDeclaration, analysis: ComponentHandlerData): ResolveResult → method ComponentDecoratorHandler.resolve(node: ClassDeclaration, analysis: Readonly<ComponentAnalysisData>): ResolveResult<ComponentResolutionData>
  • changed: method ComponentDecoratorHandler.typeCheck(ctx: TypeCheckContext, node: ClassDeclaration, meta: ComponentHandlerData): void → method ComponentDecoratorHandler.typeCheck(ctx: TypeCheckContext, node: ClassDeclaration, meta: Readonly<ComponentAnalysisData>): void
  • added: interface ComponentAnalysisData
  • added: interface ParsedTemplate
  • added: interface ParsedTemplateWithSource extends ParsedTemplate
  • added: method ComponentDecoratorHandler.register(node: ClassDeclaration, analysis: ComponentAnalysisData): void
  • added: property ComponentAnalysisData.baseClass: Reference<ClassDeclaration> | 'dynamic' | null
  • added: property ComponentAnalysisData.guards: ReturnType<typeof extractDirectiveGuards>
  • added: property ComponentAnalysisData.meta: Omit<R3ComponentMetadata, ComponentMetadataResolvedFields>
  • added: property ComponentAnalysisData.metadataStmt: Statement | null
  • added: property ComponentAnalysisData.providersRequiringFactory: Set<Reference<ClassDeclaration>> | null
  • added: property ComponentAnalysisData.template: ParsedTemplateWithSource
  • added: property ComponentAnalysisData.viewProvidersRequiringFactory: Set<Reference<ClassDeclaration>> | null
  • added: property ParsedTemplate.diagNodes: TmplAstNode[]
  • added: property ParsedTemplate.emitNodes: TmplAstNode[]
  • added: property ParsedTemplate.errors?: ParseError[] | undefined
  • added: property ParsedTemplate.file: ParseSourceFile
  • added: property ParsedTemplate.interpolation: InterpolationConfig
  • added: property ParsedTemplate.isInline: boolean
  • added: property ParsedTemplate.ngContentSelectors: string[]
  • added: property ParsedTemplate.styleUrls: string[]
  • added: property ParsedTemplate.styles: string[]
  • added: property ParsedTemplate.template: string
  • added: property ParsedTemplate.templateUrl: string
  • added: property ParsedTemplateWithSource.sourceMapping: TemplateSourceMapping
  • added: readonly property ComponentDecoratorHandler.name: string
  • added: type ComponentMetadataResolvedFields = SubsetOfKeys<R3ComponentMetadata, 'directives' | 'pipes' | 'wrapDirectivesAndPipesInClosure'>
  • added: type ComponentResolutionData = Pick<R3ComponentMetadata, ComponentMetadataResolvedFields>
  • added: function checkInheritanceOfDirective(node: ClassDeclaration, reader: MetadataReader, reflector: ReflectionHost, evaluator: PartialEvaluator): ts.Diagnostic | null
  • added: function getDirectiveDiagnostics(node: ClassDeclaration, reader: MetadataReader, evaluator: PartialEvaluator, reflector: ReflectionHost, scopeRegistry: LocalModuleScopeRegistry, kind: string): ts.Diagnostic[] | null
  • added: function getProviderDiagnostics(providerClasses: Set<Reference<ClassDeclaration>>, providersDeclaration: ts.Expression, registry: InjectableClassRegistry): ts.Diagnostic[]
  • changed: class DirectiveDecoratorHandler implements DecoratorHandler<DirectiveHandlerData, Decorator> → class DirectiveDecoratorHandler implements DecoratorHandler<Decorator | null, DirectiveHandlerData, unknown>
  • changed: constructor DirectiveDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, defaultImportRecorder: DefaultImportRecorder, isCore: boolean) → constructor DirectiveDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, scopeRegistry: LocalModuleScopeRegistry, metaReader: MetadataReader, defaultImportRecorder: DefaultImportRecorder, injectableRegistry: InjectableClassRegistry, isCore: boolean, annotateForClosureCompiler: boolean)
  • changed: function extractDirectiveMetadata(clazz: ClassDeclaration, decorator: Decorator, reflector: ReflectionHost, evaluator: PartialEvaluator, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, defaultSelector?: string | null): { decorator: Map<string, ts.Expression>; metadata: R3DirectiveMetadata; decoratedElements: ClassMember[] } | undefined → function extractDirectiveMetadata(clazz: ClassDeclaration, decorator: Readonly<Decorator | null>, reflector: ReflectionHost, evaluator: PartialEvaluator, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, flags: HandlerFlags, annotateForClosureCompiler: boolean, defaultSelector?: string | null): { decorator: Map<string, ts.Expression>; metadata: R3DirectiveMetadata } | undefined
  • changed: method DirectiveDecoratorHandler.analyze(node: ClassDeclaration, decorator: Decorator): AnalysisOutput<DirectiveHandlerData> → method DirectiveDecoratorHandler.analyze(node: ClassDeclaration, decorator: Readonly<Decorator | null>, flags?: HandlerFlags): AnalysisOutput<DirectiveHandlerData>
  • changed: method DirectiveDecoratorHandler.compile(node: ClassDeclaration, analysis: DirectiveHandlerData, pool: ConstantPool): CompileResult → method DirectiveDecoratorHandler.compile(node: ClassDeclaration, analysis: Readonly<DirectiveHandlerData>, resolution: Readonly<unknown>, pool: ConstantPool): CompileResult[]
  • changed: method DirectiveDecoratorHandler.detect(node: ClassDeclaration, decorators: Decorator[] | null): DetectResult<Decorator> | undefined → method DirectiveDecoratorHandler.detect(node: ClassDeclaration, decorators: Decorator[] | null): DetectResult<Decorator | null> | undefined
  • added: method DirectiveDecoratorHandler.register(node: ClassDeclaration, analysis: Readonly<DirectiveHandlerData>): void
  • added: method DirectiveDecoratorHandler.resolve(node: ClassDeclaration, analysis: DirectiveHandlerData): ResolveResult<unknown>
  • added: property DirectiveHandlerData.baseClass: Reference<ClassDeclaration> | 'dynamic' | null
  • added: property DirectiveHandlerData.guards: ReturnType<typeof extractDirectiveGuards>
  • added: property DirectiveHandlerData.providersRequiringFactory: Set<Reference<ClassDeclaration>> | null
  • added: readonly property DirectiveDecoratorHandler.name: string
  • added: function compileNgFactoryDefField(metadata: R3FactoryMetadata): CompileResult
  • changed: class InjectableDecoratorHandler implements DecoratorHandler<InjectableHandlerData, Decorator> → class InjectableDecoratorHandler implements DecoratorHandler<Decorator, InjectableHandlerData, unknown>
  • changed: constructor InjectableDecoratorHandler(reflector: ReflectionHost, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, strictCtorDeps: boolean) → constructor InjectableDecoratorHandler(reflector: ReflectionHost, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, strictCtorDeps: boolean, injectableRegistry: InjectableClassRegistry, errorOnDuplicateProv?: boolean)
  • changed: method InjectableDecoratorHandler.analyze(node: ClassDeclaration, decorator: Decorator): AnalysisOutput<InjectableHandlerData> → method InjectableDecoratorHandler.analyze(node: ClassDeclaration, decorator: Readonly<Decorator>): AnalysisOutput<InjectableHandlerData>
  • changed: method InjectableDecoratorHandler.compile(node: ClassDeclaration, analysis: InjectableHandlerData): CompileResult → method InjectableDecoratorHandler.compile(node: ClassDeclaration, analysis: Readonly<InjectableHandlerData>): CompileResult[]
  • added: method InjectableDecoratorHandler.register(node: ClassDeclaration): void
  • added: property InjectableHandlerData.ctorDeps: R3DependencyMetadata[] | 'invalid' | null
  • added: property InjectableHandlerData.needsFactory: boolean
  • added: readonly property InjectableDecoratorHandler.name: string
  • changed: function generateSetClassMetadataCall(clazz: ts.Declaration, reflection: ReflectionHost, defaultImportRecorder: DefaultImportRecorder, isCore: boolean): Statement | null → function generateSetClassMetadataCall(clazz: ts.Declaration, reflection: ReflectionHost, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, annotateForClosureCompiler?: boolean): Statement | null
  • removed: property NgModuleAnalysis.ngInjectorDef: R3InjectorMetadata
  • removed: property NgModuleAnalysis.ngModuleDef: R3NgModuleMetadata
  • changed: class NgModuleDecoratorHandler implements DecoratorHandler<NgModuleAnalysis, Decorator> → class NgModuleDecoratorHandler implements DecoratorHandler<Decorator, NgModuleAnalysis, NgModuleResolution>
  • changed: constructor NgModuleDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, scopeRegistry: LocalModuleScopeRegistry, referencesRegistry: ReferencesRegistry, isCore: boolean, routeAnalyzer: NgModuleRouteAnalyzer | null, refEmitter: ReferenceEmitter, defaultImportRecorder: DefaultImportRecorder, localeId?: string | undefined) → constructor NgModuleDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaReader: MetadataReader, metaRegistry: MetadataRegistry, scopeRegistry: LocalModuleScopeRegistry, referencesRegistry: ReferencesRegistry, isCore: boolean, routeAnalyzer: NgModuleRouteAnalyzer | null, refEmitter: ReferenceEmitter, factoryTracker: FactoryTracker | null, defaultImportRecorder: DefaultImpo…
  • changed: method NgModuleDecoratorHandler.analyze(node: ClassDeclaration, decorator: Decorator): AnalysisOutput<NgModuleAnalysis> → method NgModuleDecoratorHandler.analyze(node: ClassDeclaration, decorator: Readonly<Decorator>): AnalysisOutput<NgModuleAnalysis>
  • changed: method NgModuleDecoratorHandler.compile(node: ClassDeclaration, analysis: NgModuleAnalysis): CompileResult[] → method NgModuleDecoratorHandler.compile(node: ClassDeclaration, analysis: Readonly<NgModuleAnalysis>, resolution: Readonly<NgModuleResolution>): CompileResult[]
  • changed: method NgModuleDecoratorHandler.resolve(node: ClassDeclaration, analysis: NgModuleAnalysis): ResolveResult → method NgModuleDecoratorHandler.resolve(node: ClassDeclaration, analysis: Readonly<NgModuleAnalysis>): ResolveResult<NgModuleResolution>
  • added: interface NgModuleResolution
  • added: method NgModuleDecoratorHandler.register(node: ClassDeclaration, analysis: NgModuleAnalysis): void
  • added: property NgModuleAnalysis.factorySymbolName: string
  • added: property NgModuleAnalysis.imports: Reference<ClassDeclaration>[]
  • added: property NgModuleAnalysis.inj: R3InjectorMetadata
  • added: property NgModuleAnalysis.mod: R3NgModuleMetadata
  • added: property NgModuleAnalysis.providers: ts.Expression | null
  • added: property NgModuleAnalysis.providersRequiringFactory: Set<Reference<ClassDeclaration>> | null
  • added: property NgModuleAnalysis.rawDeclarations: ts.Expression | null
  • added: property NgModuleAnalysis.schemas: SchemaMetadata[]
  • added: property NgModuleResolution.injectorImports: Expression[]
  • added: readonly property NgModuleDecoratorHandler.name: string
  • changed: class PipeDecoratorHandler implements DecoratorHandler<PipeHandlerData, Decorator> → class PipeDecoratorHandler implements DecoratorHandler<Decorator, PipeHandlerData, unknown>
  • changed: constructor PipeDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, defaultImportRecorder: DefaultImportRecorder, isCore: boolean) → constructor PipeDecoratorHandler(reflector: ReflectionHost, evaluator: PartialEvaluator, metaRegistry: MetadataRegistry, scopeRegistry: LocalModuleScopeRegistry, defaultImportRecorder: DefaultImportRecorder, injectableRegistry: InjectableClassRegistry, isCore: boolean)
  • changed: method PipeDecoratorHandler.analyze(clazz: ClassDeclaration, decorator: Decorator): AnalysisOutput<PipeHandlerData> → method PipeDecoratorHandler.analyze(clazz: ClassDeclaration, decorator: Readonly<Decorator>): AnalysisOutput<PipeHandlerData>
  • changed: method PipeDecoratorHandler.compile(node: ClassDeclaration, analysis: PipeHandlerData): CompileResult → method PipeDecoratorHandler.compile(node: ClassDeclaration, analysis: Readonly<PipeHandlerData>): CompileResult[]
  • added: method PipeDecoratorHandler.register(node: ClassDeclaration, analysis: Readonly<PipeHandlerData>): void
  • added: method PipeDecoratorHandler.resolve(node: ClassDeclaration): ResolveResult<unknown>
  • added: readonly property PipeDecoratorHandler.name: string
  • added: function createSourceSpan(node: ts.Node): ParseSourceSpan
  • added: function makeDuplicateDeclarationError(node: ClassDeclaration, data: DeclarationData[], kind: string): ts.Diagnostic
  • added: function resolveProvidersRequiringFactory(rawProviders: ts.Expression, reflector: ReflectionHost, evaluator: PartialEvaluator): Set<Reference<ClassDeclaration>>
  • added: function unwrapConstructorDependencies(deps: ConstructorDeps | null): R3DependencyMetadata[] | 'invalid' | null
  • added: function wrapFunctionExpressionsInParens(expression: ts.Expression): ts.Expression
  • added: function wrapTypeReference(reflector: ReflectionHost, clazz: ClassDeclaration): R3Reference
  • added: export * from './src/interfaces'
  • added: export * from './src/options'
  • added: export * from './src/public_options'
  • added: interface ExtendedTsCompilerHost extends ts.CompilerHost, Partial<ResourceHost>, Partial<UnifiedModulesHost>
  • added: interface LazyRoute
  • added: interface ResourceHost
  • added: interface UnifiedModulesHost
  • added: method ResourceHost.getModifiedResourceFiles?(): Set<string> | undefined
  • added: method ResourceHost.readResource(fileName: string): Promise<string> | string
  • added: method ResourceHost.resourceNameToFileName(resourceName: string, containingFilePath: string): string | null
  • added: method UnifiedModulesHost.fileNameToModuleName(importedFilePath: string, containingFilePath: string): string
  • added: property LazyRoute.module: { name: string; filePath: string }
  • added: property LazyRoute.referencedModule: { name: string; filePath: string }
  • added: property LazyRoute.route: string
  • added: interface NgCompilerOptions extends ts.CompilerOptions, LegacyNgcOptions, BazelAndG3Options, NgcCompatibilityOptions, StrictTemplateOptions, TestOnlyOptions, I18nOptions, MiscOptions
  • added: interface TestOnlyOptions
  • added: property TestOnlyOptions.tracePerformance?: string
  • added: interface BazelAndG3Options
  • added: interface I18nOptions
  • added: interface LegacyNgcOptions
  • added: interface MiscOptions
  • added: interface NgcCompatibilityOptions
  • added: interface StrictTemplateOptions
  • added: property BazelAndG3Options.annotateForClosureCompiler?: boolean
  • added: property BazelAndG3Options.generateDeepReexports?: boolean
  • added: property I18nOptions.enableI18nLegacyMessageIdFormat?: boolean
  • added: property I18nOptions.i18nInLocale?: string
  • added: property I18nOptions.i18nUseExternalIds?: boolean
  • added: property LegacyNgcOptions.allowEmptyCodegenFiles?: boolean
  • added: property LegacyNgcOptions.flatModuleId?: string
  • added: property LegacyNgcOptions.flatModuleOutFile?: string
  • added: property LegacyNgcOptions.fullTemplateTypeCheck?: boolean
  • added: property LegacyNgcOptions.preserveWhitespaces?: boolean
  • added: property LegacyNgcOptions.strictInjectionParameters?: boolean
  • added: property MiscOptions.compileNonExportedClasses?: boolean
  • added: property MiscOptions.disableTypeScriptVersionCheck?: boolean
  • added: property NgcCompatibilityOptions.enableIvy?: boolean | 'ngtsc'
  • added: property NgcCompatibilityOptions.generateNgFactoryShims?: boolean
  • added: property NgcCompatibilityOptions.generateNgSummaryShims?: boolean
  • added: property StrictTemplateOptions.strictAttributeTypes?: boolean
  • added: property StrictTemplateOptions.strictContextGenerics?: boolean
  • added: property StrictTemplateOptions.strictDomEventTypes?: boolean
  • added: property StrictTemplateOptions.strictDomLocalRefTypes?: boolean
  • added: property StrictTemplateOptions.strictInputTypes?: boolean
  • added: property StrictTemplateOptions.strictLiteralTypes?: boolean
  • added: property StrictTemplateOptions.strictNullInputTypes?: boolean
  • added: property StrictTemplateOptions.strictOutputEventTypes?: boolean
  • added: property StrictTemplateOptions.strictSafeNavigationTypes?: boolean
  • added: property StrictTemplateOptions.strictTemplates?: boolean
  • added: export { NgCompiler } from './src/compiler'
  • added: export { NgCompilerHost } from './src/host'
  • added: class NgCompiler
  • added: constructor NgCompiler(host: NgCompilerHost, options: NgCompilerOptions, tsProgram: ts.Program, oldProgram?: ts.Program | null, perfRecorder?: PerfRecorder)
  • added: method NgCompiler.analyzeAsync(): Promise<void>
  • added: method NgCompiler.getDiagnostics(file?: ts.SourceFile): ts.Diagnostic[]
  • added: method NgCompiler.getIndexedComponents(): Map<ts.Declaration, IndexedComponent>
  • added: method NgCompiler.getNextProgram(): ts.Program
  • added: method NgCompiler.getOptionDiagnostics(): ts.Diagnostic[]
  • added: method NgCompiler.listLazyRoutes(entryRoute?: string): LazyRoute[]
  • added: method NgCompiler.prepareEmit(): { transformers: ts.CustomTransformers }
  • added: readonly property NgCompiler.ignoreForDiagnostics: Set<ts.SourceFile>
  • added: readonly property NgCompiler.ignoreForEmit: Set<ts.SourceFile>
  • added: readonly property NgCompiler.incrementalDriver: IncrementalDriver
  • added: class DelegatingCompilerHost implements Omit<RequiredCompilerHostDelegations, 'getSourceFile' | 'fileExists'>
  • added: class NgCompilerHost extends DelegatingCompilerHost implements RequiredCompilerHostDelegations, ExtendedTsCompilerHost
  • added: constructor DelegatingCompilerHost(delegate: ExtendedTsCompilerHost)
  • added: constructor NgCompilerHost(delegate: ExtendedTsCompilerHost, inputFiles: ReadonlyArray<string>, rootDirs: ReadonlyArray<AbsoluteFsPath>, shims: ShimGenerator[], entryPoint: AbsoluteFsPath | null, typeCheckFile: AbsoluteFsPath, factoryFiles: AbsoluteFsPath[], summaryFiles: AbsoluteFsPath[], factoryTracker: FactoryTracker | null, diagnostics: ts.Diagnostic[])
  • added: get NgCompilerHost.unifiedModulesHost(): UnifiedModulesHost | null
  • added: method NgCompilerHost.fileExists(fileName: string): boolean
  • added: method NgCompilerHost.getSourceFile(fileName: string, languageVersion: ts.ScriptTarget, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined): ts.SourceFile | undefined
  • added: property DelegatingCompilerHost.createHash: ((data: string) => string) | undefined
  • added: property DelegatingCompilerHost.directoryExists: ((directoryName: string) => boolean) | undefined
  • added: property DelegatingCompilerHost.fileNameToModuleName: ((importedFilePath: string, containingFilePath: string) => string) | undefined
  • added: property DelegatingCompilerHost.getCancellationToken: (() => ts.CancellationToken) | undefined
  • added: property DelegatingCompilerHost.getCanonicalFileName: (fileName: string) => string
  • added: property DelegatingCompilerHost.getCurrentDirectory: () => string
  • added: property DelegatingCompilerHost.getDefaultLibFileName: (options: ts.CompilerOptions) => string
  • added: property DelegatingCompilerHost.getDefaultLibLocation: (() => string) | undefined
  • added: property DelegatingCompilerHost.getDirectories: ((path: string) => string[]) | undefined
  • added: property DelegatingCompilerHost.getEnvironmentVariable: ((name: string) => string | undefined) | undefined
  • added: property DelegatingCompilerHost.getModifiedResourceFiles: (() => Set<string> | undefined) | undefined
  • added: property DelegatingCompilerHost.getNewLine: () => string
  • added: property DelegatingCompilerHost.getParsedCommandLine: ((fileName: string) => ts.ParsedCommandLine | undefined) | undefined
  • added: property DelegatingCompilerHost.getSourceFileByPath: ((fileName: string, path: ts.Path, languageVersion: ts.ScriptTarget, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined) => ts.SourceFile | undefined) | undefined
  • added: property DelegatingCompilerHost.readDirectory: ((rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number | undefined) => string[]) | undefined
  • added: property DelegatingCompilerHost.readFile: (fileName: string) => string | undefined
  • added: property DelegatingCompilerHost.readResource: ((fileName: string) => string | Promise<string>) | undefined
  • added: property DelegatingCompilerHost.realpath: ((path: string) => string) | undefined
  • added: property DelegatingCompilerHost.resolveModuleNames: ((moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions) => (ts.ResolvedModule | undefined)[]) | undefined
  • added: property DelegatingCompilerHost.resolveTypeReferenceDirectives: ((typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions) => (ts.ResolvedTypeReferenceDirective | undefined)[]) | undefined
  • added: property DelegatingCompilerHost.resourceNameToFileName: ((resourceName: string, containingFilePath: string) => string | null) | undefined
  • added: property DelegatingCompilerHost.trace: ((s: string) => void) | undefined
  • added: property DelegatingCompilerHost.useCaseSensitiveFileNames: () => boolean
  • added: property DelegatingCompilerHost.writeFile: ts.WriteFileCallback
  • added: protected property DelegatingCompilerHost.delegate: ExtendedTsCompilerHost
  • added: readonly property NgCompilerHost.diagnostics: ts.Diagnostic[]
  • added: readonly property NgCompilerHost.entryPoint: AbsoluteFsPath | null
  • added: readonly property NgCompilerHost.factoryFiles: AbsoluteFsPath[]
  • added: readonly property NgCompilerHost.factoryTracker: FactoryTracker | null
  • added: readonly property NgCompilerHost.inputFiles: ReadonlyArray<string>
  • added: readonly property NgCompilerHost.rootDirs: ReadonlyArray<AbsoluteFsPath>
  • added: readonly property NgCompilerHost.summaryFiles: AbsoluteFsPath[]
  • added: readonly property NgCompilerHost.typeCheckFile: AbsoluteFsPath
  • added: static method NgCompilerHost.wrap(delegate: ts.CompilerHost, inputFiles: ReadonlyArray<string>, options: NgCompilerOptions): NgCompilerHost
  • added: type RequiredCompilerHostDelegations = { [M in keyof Required<ExtendedTsCompilerHost>]: ExtendedTsCompilerHost[M] }
  • removed: export { ErrorCode } from './src/code'
  • removed: export { ngErrorCode } from './src/code'
  • added: export { ErrorCode } from './src/error_code'
  • added: export { ngErrorCode } from './src/error_code'
  • removed: enum ErrorCode
  • removed: function ngErrorCode(code: ErrorCode): number
  • removed: member ErrorCode.COMPONENT_MISSING_TEMPLATE = 2001
  • removed: member ErrorCode.CONFIG_FLAT_MODULE_NO_INDEX = 4001
  • removed: member ErrorCode.DECORATOR_ARG_NOT_LITERAL = 1001
  • removed: member ErrorCode.DECORATOR_ARITY_WRONG = 1002
  • removed: member ErrorCode.DECORATOR_COLLISION = 1006
  • removed: member ErrorCode.DECORATOR_NOT_CALLED = 1003
  • removed: member ErrorCode.DECORATOR_ON_ANONYMOUS_CLASS = 1004
  • removed: member ErrorCode.DECORATOR_UNEXPECTED = 1005
  • removed: member ErrorCode.HOST_BINDING_PARSE_ERROR = 5001
  • removed: member ErrorCode.NGCC_MIGRATION_DECORATOR_INJECTION_ERROR = 7001
  • removed: member ErrorCode.NGCC_MIGRATION_DYNAMIC_BASE_CLASS = 7003
  • removed: member ErrorCode.NGCC_MIGRATION_EXTERNAL_BASE_CLASS = 7002
  • removed: member ErrorCode.NGMODULE_INVALID_DECLARATION = 6001
  • removed: member ErrorCode.NGMODULE_INVALID_EXPORT = 6003
  • removed: member ErrorCode.NGMODULE_INVALID_IMPORT = 6002
  • removed: member ErrorCode.NGMODULE_INVALID_REEXPORT = 6004
  • removed: member ErrorCode.PARAM_MISSING_TOKEN = 2003
  • removed: member ErrorCode.PIPE_MISSING_NAME = 2002
  • removed: member ErrorCode.SYMBOL_EXPORTED_UNDER_DIFFERENT_NAME = 3002
  • removed: member ErrorCode.SYMBOL_NOT_EXPORTED = 3001
  • removed: member ErrorCode.VALUE_HAS_WRONG_TYPE = 1010
  • removed: member ErrorCode.VALUE_NOT_LITERAL = 1011
  • changed: function makeDiagnostic(code: ErrorCode, node: ts.Node, messageText: string): ts.DiagnosticWithLocation → function makeDiagnostic(code: ErrorCode, node: ts.Node, messageText: string, relatedInfo?: { node: ts.Node; messageText: string }[]): ts.DiagnosticWithLocation
  • added: enum ErrorCode
  • added: member ErrorCode.COMPONENT_MISSING_TEMPLATE = 2001
  • added: member ErrorCode.CONFIG_FLAT_MODULE_NO_INDEX = 4001
  • added: member ErrorCode.CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK = 4002
  • added: member ErrorCode.DECORATOR_ARG_NOT_LITERAL = 1001
  • added: member ErrorCode.DECORATOR_ARITY_WRONG = 1002
  • added: member ErrorCode.DECORATOR_COLLISION = 1006
  • added: member ErrorCode.DECORATOR_NOT_CALLED = 1003
  • added: member ErrorCode.DECORATOR_ON_ANONYMOUS_CLASS = 1004
  • added: member ErrorCode.DECORATOR_UNEXPECTED = 1005
  • added: member ErrorCode.DIRECTIVE_INHERITS_UNDECORATED_CTOR = 2006
  • added: member ErrorCode.DIRECTIVE_MISSING_SELECTOR = 2004
  • added: member ErrorCode.DUPLICATE_VARIABLE_DECLARATION = 8006
  • added: member ErrorCode.HOST_BINDING_PARSE_ERROR = 5001
  • added: member ErrorCode.INJECTABLE_DUPLICATE_PROV = 9001
  • added: member ErrorCode.MISSING_PIPE = 8004
  • added: member ErrorCode.MISSING_REFERENCE_TARGET = 8003
  • added: member ErrorCode.NGMODULE_DECLARATION_NOT_UNIQUE = 6007
  • added: member ErrorCode.NGMODULE_INVALID_DECLARATION = 6001
  • added: member ErrorCode.NGMODULE_INVALID_EXPORT = 6003
  • added: member ErrorCode.NGMODULE_INVALID_IMPORT = 6002
  • added: member ErrorCode.NGMODULE_INVALID_REEXPORT = 6004
  • added: member ErrorCode.NGMODULE_MODULE_WITH_PROVIDERS_MISSING_GENERIC = 6005
  • added: member ErrorCode.NGMODULE_REEXPORT_NAME_COLLISION = 6006
  • added: member ErrorCode.PARAM_MISSING_TOKEN = 2003
  • added: member ErrorCode.PIPE_MISSING_NAME = 2002
  • added: member ErrorCode.SCHEMA_INVALID_ATTRIBUTE = 8002
  • added: member ErrorCode.SCHEMA_INVALID_ELEMENT = 8001
  • added: member ErrorCode.SYMBOL_EXPORTED_UNDER_DIFFERENT_NAME = 3002
  • added: member ErrorCode.SYMBOL_NOT_EXPORTED = 3001
  • added: member ErrorCode.UNDECORATED_PROVIDER = 2005
  • added: member ErrorCode.VALUE_HAS_WRONG_TYPE = 1010
  • added: member ErrorCode.VALUE_NOT_LITERAL = 1011
  • added: member ErrorCode.WRITE_TO_READ_ONLY_VARIABLE = 8005
  • removed: export { CachedFileSystem } from './src/cached_file_system'
  • added: export { isRooted } from './src/helpers'
  • removed: class CachedFileSystem implements FileSystem
  • removed: constructor CachedFileSystem(delegate: FileSystem)
  • removed: method CachedFileSystem.basename(filePath: string, extension?: string | undefined): PathSegment
  • removed: method CachedFileSystem.copyFile(from: AbsoluteFsPath, to: AbsoluteFsPath): void
  • removed: method CachedFileSystem.dirname<T extends PathString>(file: T): T
  • removed: method CachedFileSystem.ensureDir(path: AbsoluteFsPath): void
  • removed: method CachedFileSystem.exists(path: AbsoluteFsPath): boolean
  • removed: method CachedFileSystem.extname(path: AbsoluteFsPath | PathSegment): string
  • removed: method CachedFileSystem.getDefaultLibLocation(): AbsoluteFsPath
  • removed: method CachedFileSystem.isCaseSensitive(): boolean
  • removed: method CachedFileSystem.isRoot(path: AbsoluteFsPath): boolean
  • removed: method CachedFileSystem.isRooted(path: string): boolean
  • removed: method CachedFileSystem.join<T extends PathString>(basePath: T, ...paths: string[]): T
  • removed: method CachedFileSystem.lstat(path: AbsoluteFsPath): FileStats
  • removed: method CachedFileSystem.mkdir(path: AbsoluteFsPath): void
  • removed: method CachedFileSystem.moveFile(from: AbsoluteFsPath, to: AbsoluteFsPath): void
  • removed: method CachedFileSystem.normalize<T extends PathString>(path: T): T
  • removed: method CachedFileSystem.pwd(): AbsoluteFsPath
  • removed: method CachedFileSystem.readFile(path: AbsoluteFsPath): string
  • removed: method CachedFileSystem.readdir(path: AbsoluteFsPath): PathSegment[]
  • removed: method CachedFileSystem.realpath(filePath: AbsoluteFsPath): AbsoluteFsPath
  • removed: method CachedFileSystem.relative<T extends PathString>(from: T, to: T): PathSegment
  • removed: method CachedFileSystem.resolve(...paths: string[]): AbsoluteFsPath
  • removed: method CachedFileSystem.stat(path: AbsoluteFsPath): FileStats
  • removed: method CachedFileSystem.symlink(target: AbsoluteFsPath, path: AbsoluteFsPath): void
  • removed: method CachedFileSystem.writeFile(path: AbsoluteFsPath, data: string): void
  • added: function isRooted(path: string): boolean
  • removed: method InvalidFileSystem.mkdir(path: AbsoluteFsPath): void
  • changed: method InvalidFileSystem.writeFile(path: AbsoluteFsPath, data: string): void → method InvalidFileSystem.writeFile(path: AbsoluteFsPath, data: string | Buffer, exclusive?: boolean): void
  • added: method InvalidFileSystem.chdir(path: AbsoluteFsPath): void
  • added: method InvalidFileSystem.readFileBuffer(path: AbsoluteFsPath): Buffer
  • added: method InvalidFileSystem.removeDeep(path: AbsoluteFsPath): void
  • added: method InvalidFileSystem.removeFile(path: AbsoluteFsPath): void
  • removed: method NodeJSFileSystem.mkdir(path: AbsoluteFsPath): void
  • changed: method NodeJSFileSystem.writeFile(path: AbsoluteFsPath, data: string): void → method NodeJSFileSystem.writeFile(path: AbsoluteFsPath, data: string | Buffer, exclusive?: boolean): void
  • added: method NodeJSFileSystem.chdir(dir: AbsoluteFsPath): void
  • added: method NodeJSFileSystem.readFileBuffer(path: AbsoluteFsPath): Buffer
  • added: method NodeJSFileSystem.removeDeep(path: AbsoluteFsPath): void
  • added: method NodeJSFileSystem.removeFile(path: AbsoluteFsPath): void
  • removed: method FileSystem.mkdir(path: AbsoluteFsPath): void
  • changed: method FileSystem.writeFile(path: AbsoluteFsPath, data: string): void → method FileSystem.writeFile(path: AbsoluteFsPath, data: string | Buffer, exclusive?: boolean): void
  • added: method FileSystem.chdir(path: AbsoluteFsPath): void
  • added: method FileSystem.readFileBuffer(path: AbsoluteFsPath): Buffer
  • added: method FileSystem.removeDeep(path: AbsoluteFsPath): void
  • added: method FileSystem.removeFile(path: AbsoluteFsPath): void
  • removed: export { AliasGenerator } from './src/alias'
  • removed: export { FileToModuleHost } from './src/emitter'
  • removed: export { FileToModuleStrategy } from './src/emitter'
  • removed: export { ImportMode } from './src/references'
  • added: export { AliasingHost } from './src/alias'
  • added: export { ImportFlags } from './src/emitter'
  • added: export { PrivateExportAliasingHost } from './src/alias'
  • added: export { RelativePathStrategy } from './src/emitter'
  • added: export { UnifiedModulesAliasingHost } from './src/alias'
  • added: export { UnifiedModulesStrategy } from './src/emitter'
  • removed: class AliasGenerator
  • removed: constructor AliasGenerator(fileToModuleHost: FileToModuleHost)
  • removed: method AliasGenerator.aliasSymbolName(decl: ClassDeclaration, context: ts.SourceFile): string
  • removed: method AliasGenerator.aliasTo(decl: ClassDeclaration, via: ts.SourceFile): Expression
  • changed: method AliasStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile, importMode: ImportMode): Expression | null → method AliasStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile, importMode: ImportFlags): Expression | null
  • added: class PrivateExportAliasingHost implements AliasingHost
  • added: class UnifiedModulesAliasingHost implements AliasingHost
  • added: constructor PrivateExportAliasingHost(host: ReflectionHost)
  • added: constructor UnifiedModulesAliasingHost(unifiedModulesHost: UnifiedModulesHost)
  • added: interface AliasingHost
  • added: method AliasingHost.getAliasIn(decl: ClassDeclaration, via: ts.SourceFile, isReExport: boolean): Expression | null
  • added: method AliasingHost.maybeAliasSymbolAs(ref: Reference<ClassDeclaration>, context: ts.SourceFile, ngModuleName: string, isReExport: boolean): string | null
  • added: method PrivateExportAliasingHost.getAliasIn(): null
  • added: method PrivateExportAliasingHost.maybeAliasSymbolAs(ref: Reference<ClassDeclaration>, context: ts.SourceFile, ngModuleName: string): string | null
  • added: method UnifiedModulesAliasingHost.getAliasIn(decl: ClassDeclaration, via: ts.SourceFile, isReExport: boolean): Expression | null
  • added: method UnifiedModulesAliasingHost.maybeAliasSymbolAs(ref: Reference<ClassDeclaration>, context: ts.SourceFile, ngModuleName: string, isReExport: boolean): string | null
  • added: readonly property AliasingHost.aliasExportsInDts: boolean
  • added: readonly property PrivateExportAliasingHost.aliasExportsInDts = true
  • added: readonly property UnifiedModulesAliasingHost.aliasExportsInDts = false
  • removed: class FileToModuleStrategy implements ReferenceEmitStrategy
  • removed: constructor FileToModuleStrategy(checker: ts.TypeChecker, fileToModuleHost: FileToModuleHost)
  • removed: interface FileToModuleHost
  • removed: method FileToModuleHost.fileNameToModuleName(importedFilePath: string, containingFilePath: string): string
  • removed: method FileToModuleStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile): Expression | null
  • removed: protected property AbsoluteModuleStrategy.host: ts.CompilerHost
  • removed: protected property AbsoluteModuleStrategy.options: ts.CompilerOptions
  • changed: constructor AbsoluteModuleStrategy(program: ts.Program, checker: ts.TypeChecker, options: ts.CompilerOptions, host: ts.CompilerHost, reflectionHost: ReflectionHost) → constructor AbsoluteModuleStrategy(program: ts.Program, checker: ts.TypeChecker, moduleResolver: ModuleResolver, reflectionHost: ReflectionHost)
  • changed: constructor LogicalProjectStrategy(checker: ts.TypeChecker, logicalFs: LogicalFileSystem) → constructor LogicalProjectStrategy(reflector: ReflectionHost, logicalFs: LogicalFileSystem)
  • changed: method AbsoluteModuleStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile, importMode: ImportMode): Expression | null → method AbsoluteModuleStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile, importFlags: ImportFlags): Expression | null
  • changed: method LocalIdentifierStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile, importMode: ImportMode): Expression | null → method LocalIdentifierStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile, importFlags: ImportFlags): Expression | null
  • changed: method ReferenceEmitStrategy.emit(ref: Reference, context: ts.SourceFile, importMode: ImportMode): Expression | null → method ReferenceEmitStrategy.emit(ref: Reference, context: ts.SourceFile, importFlags: ImportFlags): Expression | null
  • changed: method ReferenceEmitter.emit(ref: Reference, context: ts.SourceFile, importMode?: ImportMode): Expression → method ReferenceEmitter.emit(ref: Reference, context: ts.SourceFile, importFlags?: ImportFlags): Expression
  • added: class RelativePathStrategy implements ReferenceEmitStrategy
  • added: class UnifiedModulesStrategy implements ReferenceEmitStrategy
  • added: constructor RelativePathStrategy(reflector: ReflectionHost)
  • added: constructor UnifiedModulesStrategy(reflector: ReflectionHost, unifiedModulesHost: UnifiedModulesHost)
  • added: enum ImportFlags
  • added: member ImportFlags.AllowTypeImports = 4
  • added: member ImportFlags.ForceNewImport = 1
  • added: member ImportFlags.NoAliasing = 2
  • added: member ImportFlags.None = 0
  • added: method RelativePathStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile): Expression | null
  • added: method UnifiedModulesStrategy.emit(ref: Reference<ts.Node>, context: ts.SourceFile): Expression | null
  • added: protected property AbsoluteModuleStrategy.moduleResolver: ModuleResolver
  • changed: function findExportedNameOfNode(target: ts.Node, file: ts.SourceFile, checker: ts.TypeChecker): string | null → function findExportedNameOfNode(target: ts.Node, file: ts.SourceFile, reflector: ReflectionHost): string | null
  • removed: enum ImportMode
  • removed: member ImportMode.ForceNewImport = 1
  • removed: member ImportMode.UseExistingImport = 0
  • removed: readonly property Reference.alias: Expression | null
  • removed: readonly property Reference.debugName: string | null
  • removed: readonly property Reference.hasOwningModuleGuess: boolean
  • removed: readonly property Reference.ownedByModuleGuess: string | null
  • added: get Reference.alias(): Expression | null
  • added: get Reference.debugName(): string | null
  • added: get Reference.hasOwningModuleGuess(): boolean
  • added: get Reference.ownedByModuleGuess(): string | null
  • added: method Reference.getIdentityInExpression(expr: ts.Expression): ts.Identifier | null
  • added: method Reference.getOriginForDiagnostics(container: ts.Expression, fallback?: ts.Expression): ts.Expression
  • removed: interface ReferenceResolver
  • removed: method ModuleResolver.resolveModuleName(module: string, containingFile: ts.SourceFile): ts.SourceFile | null
  • removed: method ReferenceResolver.resolve(decl: ts.Declaration, importFromHint: string | null, fromFile: string): Reference<ts.Declaration>
  • changed: constructor ModuleResolver(program: ts.Program, compilerOptions: ts.CompilerOptions, host: ts.CompilerHost) → constructor ModuleResolver(program: ts.Program, compilerOptions: ts.CompilerOptions, host: ts.CompilerHost, moduleResolutionCache: ts.ModuleResolutionCache | null)
  • added: method ModuleResolver.resolveModule(moduleName: string, containingFile: string): ts.SourceFile | null
  • added: interface DependencyTracker<T extends { fileName: string } = ts.SourceFile>
  • added: interface IncrementalBuild<W>
  • added: method DependencyTracker.addDependency(from: T, on: T): void
  • added: method DependencyTracker.addResourceDependency(from: T, on: AbsoluteFsPath): void
  • added: method DependencyTracker.addTransitiveDependency(from: T, on: T): void
  • added: method DependencyTracker.addTransitiveResources(from: T, resourcesOf: T): void
  • added: method IncrementalBuild.priorWorkFor(sf: ts.SourceFile): W[] | null
  • removed: export { IncrementalState } from './src/state'
  • added: export { IncrementalDriver } from './src/state'
  • added: export { NOOP_INCREMENTAL_BUILD } from './src/noop'
  • added: class FileDependencyGraph<T extends { fileName: string } = ts.SourceFile> implements DependencyTracker<T>
  • added: method FileDependencyGraph.addDependency(from: T, on: T): void
  • added: method FileDependencyGraph.addResourceDependency(from: T, resource: AbsoluteFsPath): void
  • added: method FileDependencyGraph.addTransitiveDependency(from: T, on: T): void
  • added: method FileDependencyGraph.addTransitiveResources(from: T, resourcesOf: T): void
  • added: method FileDependencyGraph.isStale(sf: T, changedTsPaths: Set<string>, changedResources: Set<AbsoluteFsPath>): boolean
  • added: method FileDependencyGraph.updateWithPhysicalChanges(previous: FileDependencyGraph<T>, changedTsPaths: Set<string>, deletedTsPaths: Set<string>, changedResources: Set<AbsoluteFsPath>): Set<string>
  • added: const NOOP_INCREMENTAL_BUILD: IncrementalBuild<any>
  • removed: class IncrementalState implements DependencyTracker, MetadataReader, MetadataRegistry, ResourceDependencyRecorder
  • removed: method IncrementalState.getDirectiveMetadata(ref: Reference<ClassDeclaration>): DirectiveMeta | null
  • removed: method IncrementalState.getFileDependencies(file: ts.SourceFile): ts.SourceFile[]
  • removed: method IncrementalState.getNgModuleMetadata(ref: Reference<ClassDeclaration>): NgModuleMeta | null
  • removed: method IncrementalState.getPipeMetadata(ref: Reference<ClassDeclaration>): PipeMeta | null
  • removed: method IncrementalState.recordResourceDependency(file: ts.SourceFile, resourcePath: string): void
  • removed: method IncrementalState.registerDirectiveMetadata(meta: DirectiveMeta): void
  • removed: method IncrementalState.registerNgModuleMetadata(meta: NgModuleMeta): void
  • removed: method IncrementalState.registerPipeMetadata(meta: PipeMeta): void
  • removed: method IncrementalState.safeToSkip(sf: ts.SourceFile): boolean | Promise<boolean>
  • removed: method IncrementalState.trackFileDependency(dep: ts.SourceFile, src: ts.SourceFile): void
  • removed: static method IncrementalState.fresh(): IncrementalState
  • removed: static method IncrementalState.reconcile(previousState: IncrementalState, oldProgram: ts.Program, newProgram: ts.Program, modifiedResourceFiles: Set<string> | null): IncrementalState
  • added: class IncrementalDriver implements IncrementalBuild<ClassRecord>
  • added: method IncrementalDriver.priorWorkFor(sf: ts.SourceFile): ClassRecord[] | null
  • added: method IncrementalDriver.recordSuccessfulAnalysis(traitCompiler: TraitCompiler): void
  • added: method IncrementalDriver.recordSuccessfulEmit(sf: ts.SourceFile): void
  • added: method IncrementalDriver.safeToSkipEmit(sf: ts.SourceFile): boolean
  • added: readonly property IncrementalDriver.depGraph: FileDependencyGraph
  • added: static method IncrementalDriver.fresh(program: ts.Program): IncrementalDriver
  • added: static method IncrementalDriver.reconcile(oldProgram: ts.Program, oldDriver: IncrementalDriver, newProgram: ts.Program, modifiedResourceFiles: Set<string> | null): IncrementalDriver
  • added: export { generateAnalysis } from './src/transform'
  • changed: property ComponentMeta.selector: string → property ComponentMeta.selector: string | null
  • added: export { InjectableClassRegistry } from './src/registry'
  • changed: property DirectiveMeta.selector: string → property DirectiveMeta.selector: string | null
  • added: property DirectiveMeta.coercedInputFields: Set<string>
  • added: property NgModuleMeta.rawDeclarations: ts.Expression | null
  • added: property NgModuleMeta.schemas: SchemaMetadata[]
  • added: class InjectableClassRegistry
  • added: constructor InjectableClassRegistry(host: ReflectionHost)
  • added: method InjectableClassRegistry.isInjectable(declaration: ClassDeclaration): boolean
  • added: method InjectableClassRegistry.registerInjectable(declaration: ClassDeclaration): void
  • changed: function extractDirectiveGuards(node: ClassDeclaration, reflector: ReflectionHost): { ngTemplateGuards: TemplateGuardMeta[]; hasNgTemplateContextGuard: boolean } → function extractDirectiveGuards(node: ClassDeclaration, reflector: ReflectionHost): { ngTemplateGuards: TemplateGuardMeta[]; hasNgTemplateContextGuard: boolean; coercedInputFields: Set<string> }
  • added: function hasInjectableFields(clazz: ClassDeclaration, host: ReflectionHost): boolean
  • added: export * from './src/scanner'
  • added: class ModuleWithProvidersScanner
  • added: constructor ModuleWithProvidersScanner(host: ReflectionHost, evaluator: PartialEvaluator, emitter: ReferenceEmitter)
  • added: interface DtsHandler
  • added: method DtsHandler.addTypeReplacement(node: ts.Declaration, type: Type): void
  • added: method ModuleWithProvidersScanner.scan(sf: ts.SourceFile, dts: DtsHandler): void
  • removed: export { BuiltinFn } from './src/result'
  • removed: export { DependencyTracker } from './src/interface'
  • added: export { KnownFn } from './src/result'
  • changed: class ArrayConcatBuiltinFn extends BuiltinFn → class ArrayConcatBuiltinFn extends KnownFn
  • changed: class ArraySliceBuiltinFn extends BuiltinFn → class ArraySliceBuiltinFn extends KnownFn
  • changed: constructor ArrayConcatBuiltinFn(node: ts.Node, lhs: ResolvedValueArray) → constructor ArrayConcatBuiltinFn(lhs: ResolvedValueArray)
  • changed: constructor ArraySliceBuiltinFn(node: ts.Node, lhs: ResolvedValueArray) → constructor ArraySliceBuiltinFn(lhs: ResolvedValueArray)
  • changed: method ArrayConcatBuiltinFn.evaluate(args: ResolvedValueArray): ResolvedValue → method ArrayConcatBuiltinFn.evaluate(node: ts.CallExpression, args: ResolvedValueArray): ResolvedValue
  • changed: method ArraySliceBuiltinFn.evaluate(args: ResolvedValueArray): ResolvedValue → method ArraySliceBuiltinFn.evaluate(node: ts.CallExpression, args: ResolvedValueArray): ResolvedValue
  • added: class ObjectAssignBuiltinFn extends KnownFn
  • added: method ObjectAssignBuiltinFn.evaluate(node: ts.CallExpression, args: ResolvedValueArray): ResolvedValue
  • removed: member DynamicValueReason.UNKNOWN_EXPRESSION_TYPE = 3
  • removed: method DynamicValue.isFromUnknownExpressionType(this: DynamicValue<R>): this is DynamicValue
  • removed: static method DynamicValue.fromUnknownExpressionType(node: ts.Node): DynamicValue
  • added: member DynamicValueReason.UNSUPPORTED_SYNTAX = 3
  • added: method DynamicValue.isFromUnsupportedSyntax(this: DynamicValue<R>): this is DynamicValue
  • added: static method DynamicValue.fromUnsupportedSyntax(node: ts.Node): DynamicValue
  • removed: interface DependencyTracker
  • removed: method DependencyTracker.trackFileDependency(dep: ts.SourceFile, src: ts.SourceFile): void
  • changed: constructor PartialEvaluator(host: ReflectionHost, checker: ts.TypeChecker, dependencyTracker?: DependencyTracker | undefined) → constructor PartialEvaluator(host: ReflectionHost, checker: ts.TypeChecker, dependencyTracker: DependencyTracker | null)
  • changed: constructor StaticInterpreter(host: ReflectionHost, checker: ts.TypeChecker, dependencyTracker?: DependencyTracker | undefined) → constructor StaticInterpreter(host: ReflectionHost, checker: ts.TypeChecker, dependencyTracker: DependencyTracker | null)
  • added: protected method StaticInterpreter.visitObjectLiteralExpression(node: ts.ObjectLiteralExpression, context: Context): ResolvedValue
  • added: const jsGlobalObjectValue: Map<string, ObjectAssignBuiltinFn>
  • added: function resolveKnownDeclaration(decl: KnownDeclaration): ResolvedValue
  • removed: abstract class BuiltinFn
  • removed: abstract method BuiltinFn.evaluate(args: ResolvedValueArray): ResolvedValue
  • changed: constructor EnumValue(enumRef: Reference<ts.EnumDeclaration>, name: string, resolved: ResolvedValue) → constructor EnumValue(enumRef: Reference<ts.Declaration>, name: string, resolved: ResolvedValue)
  • changed: readonly property EnumValue.enumRef: Reference<ts.EnumDeclaration> → readonly property EnumValue.enumRef: Reference<ts.Declaration>
  • changed: type ResolvedValue = number | boolean | string | null | undefined | Reference | EnumValue | ResolvedValueArray | ResolvedValueMap | BuiltinFn | DynamicValue<unknown> → type ResolvedValue = number | boolean | string | null | undefined | Reference | EnumValue | ResolvedValueArray | ResolvedValueMap | ResolvedModule | KnownFn | DynamicValue<unknown>
  • added: abstract class KnownFn
  • added: abstract method KnownFn.evaluate(node: ts.CallExpression, args: ResolvedValueArray): ResolvedValue
  • added: class ResolvedModule
  • added: constructor ResolvedModule(exports: Map<string, Declaration>, evaluate: (decl: Declaration) => ResolvedValue)
  • added: method ResolvedModule.getExport(name: string): ResolvedValue
  • added: method ResolvedModule.getExports(): ResolvedValueMap
  • removed: function evaluateTsHelperInline(helper: TsHelperFn, node: ts.Node, args: ResolvedValueArray): ResolvedValue
  • added: class AssignHelperFn extends ObjectAssignBuiltinFn
  • added: class SpreadHelperFn extends KnownFn
  • added: method SpreadHelperFn.evaluate(node: ts.Node, args: ResolvedValueArray): ResolvedValueArray
  • removed: class ReferenceGraphAdapter implements ReferencesRegistry
  • removed: constructor ReferenceGraphAdapter(graph: ReferenceGraph)
  • removed: method ReferenceGraphAdapter.add(source: ts.Declaration, ...references: Reference<ts.Declaration>[]): void
  • changed: constructor NgtscProgram(rootNames: ReadonlyArray<string>, options: api.CompilerOptions, host: api.CompilerHost, oldProgram?: NgtscProgram) → constructor NgtscProgram(rootNames: ReadonlyArray<string>, options: NgCompilerOptions, delegateHost: api.CompilerHost, oldProgram?: NgtscProgram)
  • changed: method NgtscProgram.emit(opts?: { emitFlags?: api.EmitFlags; cancellationToken?: ts.CancellationToken; customTransformers?: api.CustomTransformers; emitCallback?: api.TsEmitCallback; mergeEmitResultsCallback?: api.TsMergeEmitResultsCallback }): ts.EmitResult → method NgtscProgram.emit(opts?: { emitFlags?: api.EmitFlags | undefined; cancellationToken?: ts.CancellationToken | undefined; customTransformers?: api.CustomTransformers | undefined; emitCallback?: api.TsEmitCallback | undefined; mergeEmitResultsCallback?: api.TsMergeEmitResultsCallback | undefined } | undefined): ts.EmitResult
  • changed: method NgtscProgram.getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic | api.Diagnostic> → method NgtscProgram.getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): readonly (ts.Diagnostic | api.Diagnostic)[]
  • changed: method NgtscProgram.getNgSemanticDiagnostics(fileName?: string | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic | api.Diagnostic> → method NgtscProgram.getNgSemanticDiagnostics(fileName?: string | undefined, cancellationToken?: ts.CancellationToken | undefined): readonly (ts.Diagnostic | api.Diagnostic)[]
  • changed: method NgtscProgram.getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<api.Diagnostic> → method NgtscProgram.getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken | undefined): readonly api.Diagnostic[]
  • changed: method NgtscProgram.getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic> → method NgtscProgram.getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): readonly ts.Diagnostic[]
  • changed: method NgtscProgram.getTsSemanticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic> → method NgtscProgram.getTsSemanticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): readonly ts.Diagnostic[]
  • changed: method NgtscProgram.getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic> → method NgtscProgram.getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): readonly ts.Diagnostic[]
  • removed: enum TsHelperFn
  • removed: interface Declaration<T extends ts.Declaration = ts.Declaration>
  • removed: interface Decorator
  • removed: member TsHelperFn.Spread = 0
  • removed: property Declaration.node: T
  • removed: property Declaration.viaModule: string | null
  • removed: property Decorator.args: ts.Expression[] | null
  • removed: property Decorator.identifier: DecoratorIdentifier
  • removed: property Decorator.import: Import | null
  • removed: property Decorator.name: string
  • removed: property Decorator.node: ts.Node
  • removed: property FunctionDefinition.helper: TsHelperFn | null
  • removed: type ClassSymbol = ts.Symbol & { valueDeclaration: ClassDeclaration }
  • changed: type NamespacedIdentifier = ts.PropertyAccessExpression & { expression: ts.Identifier } → type NamespacedIdentifier = ts.PropertyAccessExpression & { expression: ts.Identifier; name: ts.Identifier }
  • changed: type TypeValueReference = { local: true; expression: ts.Expression; defaultImportStatement: ts.ImportDeclaration | null } | { local: false; name: string; moduleName: string; valueDeclar… → type TypeValueReference = { local: true; expression: ts.Expression; defaultImportStatement: ts.ImportDeclaration | null } | { local: false; moduleName: string; importedName: string; nes…
  • added: const Decorator: { nodeForError: (decorator: Decorator) => ts.Node }
  • added: const enum SpecialDeclarationKind
  • added: enum KnownDeclaration
  • added: interface BaseDeclaration<T extends ts.Declaration = ts.Declaration>
  • added: interface BaseDecorator
  • added: interface ConcreteDeclaration<T extends ts.Declaration = ts.Declaration> extends BaseDeclaration<T>
  • added: interface ConcreteDecorator extends BaseDecorator
  • added: interface DownleveledEnum
  • added: interface EnumMember
  • added: interface InlineDeclaration extends BaseDeclaration
  • added: interface SyntheticDecorator extends BaseDecorator
  • added: member KnownDeclaration.JsGlobalObject = 0
  • added: member KnownDeclaration.TsHelperAssign = 1
  • added: member KnownDeclaration.TsHelperSpread = 2
  • added: member KnownDeclaration.TsHelperSpreadArrays = 3
  • added: member SpecialDeclarationKind.DownleveledEnum = 0
  • added: method ReflectionHost.getAdjacentNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: method ReflectionHost.getInternalNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: property BaseDeclaration.known: KnownDeclaration | null
  • added: property BaseDeclaration.node: T | null
  • added: property BaseDeclaration.viaModule: string | null
  • added: property BaseDecorator.args: ts.Expression[] | null
  • added: property BaseDecorator.identifier: DecoratorIdentifier | null
  • added: property BaseDecorator.import: Import | null
  • added: property BaseDecorator.name: string
  • added: property BaseDecorator.node: ts.Node | null
  • added: property ConcreteDeclaration.identity: SpecialDeclarationIdentity | null
  • added: property ConcreteDeclaration.node: T
  • added: property ConcreteDecorator.identifier: DecoratorIdentifier
  • added: property ConcreteDecorator.node: ts.Node
  • added: property DownleveledEnum.enumMembers: EnumMember[]
  • added: property DownleveledEnum.kind: SpecialDeclarationKind.DownleveledEnum
  • added: property EnumMember.initializer: ts.Expression
  • added: property EnumMember.name: ts.PropertyName
  • added: property InlineDeclaration.expression: ts.Expression
  • added: property InlineDeclaration.node: null
  • added: property SyntheticDecorator.identifier: null
  • added: property SyntheticDecorator.node: null
  • added: property SyntheticDecorator.synthesizedFor: ts.Node
  • added: type Declaration<T extends ts.Declaration = ts.Declaration> = ConcreteDeclaration<T> | InlineDeclaration
  • added: type Decorator = ConcreteDecorator | SyntheticDecorator
  • added: type SpecialDeclarationIdentity = DownleveledEnum
  • added: method TypeScriptReflectionHost.getAdjacentNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: method TypeScriptReflectionHost.getInternalNameOfClass(clazz: ClassDeclaration): ts.Identifier
  • added: protected method TypeScriptReflectionHost.getDeclarationOfSymbol(symbol: ts.Symbol, originalId: ts.Identifier | null): Declaration | null
  • added: export { HostResourceLoader } from './src/loader'
  • added: class HostResourceLoader implements ResourceLoader
  • added: constructor HostResourceLoader(host: ExtendedTsCompilerHost, options: ts.CompilerOptions)
  • added: method HostResourceLoader.load(resolvedUrl: string): string
  • added: method HostResourceLoader.preload(resolvedUrl: string): Promise<void> | undefined
  • added: method HostResourceLoader.resolve(url: string, fromFile: string): string
  • added: property HostResourceLoader.canPreload: boolean
  • removed: class HostResourceLoader implements ResourceLoader
  • removed: constructor HostResourceLoader(host: CompilerHost, options: ts.CompilerOptions)
  • removed: method HostResourceLoader.load(resolvedUrl: string): string
  • removed: method HostResourceLoader.preload(resolvedUrl: string): Promise<void> | undefined
  • removed: method HostResourceLoader.resolve(url: string, fromFile: string): string
  • removed: property HostResourceLoader.canPreload: boolean
  • added: export { ComponentScopeReader } from './src/component_scope'
  • added: export { CompoundComponentScopeReader } from './src/component_scope'
  • added: export { DeclarationData } from './src/local'
  • added: class CompoundComponentScopeReader implements ComponentScopeReader
  • added: constructor CompoundComponentScopeReader(readers: ComponentScopeReader[])
  • added: interface ComponentScopeReader
  • added: method ComponentScopeReader.getRequiresRemoteScope(clazz: ClassDeclaration): boolean | null
  • added: method ComponentScopeReader.getScopeForComponent(clazz: ClassDeclaration): LocalModuleScope | null | 'error'
  • added: method CompoundComponentScopeReader.getRequiresRemoteScope(clazz: ClassDeclaration): boolean | null
  • added: method CompoundComponentScopeReader.getScopeForComponent(clazz: ClassDeclaration): LocalModuleScope | null | 'error'
  • changed: constructor MetadataDtsModuleScopeResolver(dtsMetaReader: MetadataReader, aliasGenerator: AliasGenerator | null) → constructor MetadataDtsModuleScopeResolver(dtsMetaReader: MetadataReader, aliasingHost: AliasingHost | null)
  • changed: class LocalModuleScopeRegistry implements MetadataRegistry → class LocalModuleScopeRegistry implements MetadataRegistry, ComponentScopeReader
  • changed: constructor LocalModuleScopeRegistry(localReader: MetadataReader, dependencyScopeReader: DtsModuleScopeResolver, refEmitter: ReferenceEmitter, aliasGenerator: AliasGenerator | null) → constructor LocalModuleScopeRegistry(localReader: MetadataReader, dependencyScopeReader: DtsModuleScopeResolver, refEmitter: ReferenceEmitter, aliasingHost: AliasingHost | null)
  • changed: method LocalModuleScopeRegistry.getScopeForComponent(clazz: ClassDeclaration): LocalModuleScope | null → method LocalModuleScopeRegistry.getScopeForComponent(clazz: ClassDeclaration): LocalModuleScope | null | 'error'
  • changed: method LocalModuleScopeRegistry.getScopeOfModule(clazz: ClassDeclaration): LocalModuleScope | null → method LocalModuleScopeRegistry.getScopeOfModule(clazz: ClassDeclaration): LocalModuleScope | 'error' | null
  • added: interface DeclarationData
  • added: method LocalModuleScopeRegistry.getDuplicateDeclarations(node: ClassDeclaration): DeclarationData[] | null
  • added: property DeclarationData.ngModule: ClassDeclaration
  • added: property DeclarationData.rawDeclarations: ts.Expression | null
  • added: property DeclarationData.ref: Reference
  • added: property LocalModuleScope.schemas: SchemaMetadata[]
  • removed: export { GeneratedShimsHostWrapper } from './src/host'
  • removed: export { ShimGenerator } from './src/host'
  • added: export { FactoryTracker } from './src/factory_tracker'
  • added: export { ShimGenerator } from './src/api'
  • added: interface ShimGenerator
  • added: method ShimGenerator.generate(genFileName: AbsoluteFsPath, readFile: (fileName: string) => ts.SourceFile | null): ts.SourceFile | null
  • added: method ShimGenerator.recognize(fileName: AbsoluteFsPath): boolean
  • removed: readonly property FactoryGenerator.factoryFileMap: Map<string, string>
  • added: get FactoryGenerator.factoryFileMap(): Map<AbsoluteFsPath, AbsoluteFsPath>
  • added: get FactoryGenerator.factoryFileNames(): AbsoluteFsPath[]
  • added: class FactoryTracker
  • added: constructor FactoryTracker(generator: FactoryGenerator)
  • added: method FactoryTracker.track(sf: ts.SourceFile, factorySymbolName: string): void
  • added: readonly property FactoryTracker.sourceInfo: Map<string, FactoryInfo>
  • removed: class GeneratedShimsHostWrapper implements ts.CompilerHost
  • removed: constructor GeneratedShimsHostWrapper(delegate: ts.CompilerHost, shimGenerators: ShimGenerator[])
  • removed: interface ShimGenerator
  • removed: method GeneratedShimsHostWrapper.fileExists(fileName: string): boolean
  • removed: method GeneratedShimsHostWrapper.getCanonicalFileName(fileName: string): string
  • removed: method GeneratedShimsHostWrapper.getCurrentDirectory(): string
  • removed: method GeneratedShimsHostWrapper.getDefaultLibFileName(options: ts.CompilerOptions): string
  • removed: method GeneratedShimsHostWrapper.getNewLine(): string
  • removed: method GeneratedShimsHostWrapper.getSourceFile(fileName: string, languageVersion: ts.ScriptTarget, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined): ts.SourceFile | undefined
  • removed: method GeneratedShimsHostWrapper.readFile(fileName: string): string | undefined
  • removed: method GeneratedShimsHostWrapper.useCaseSensitiveFileNames(): boolean
  • removed: method GeneratedShimsHostWrapper.writeFile(fileName: string, data: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles: ReadonlyArray<ts.SourceFile> | undefined): void
  • removed: method ShimGenerator.generate(genFileName: AbsoluteFsPath, readFile: (fileName: string) => ts.SourceFile | null): ts.SourceFile | null
  • removed: method ShimGenerator.recognize(fileName: AbsoluteFsPath): boolean
  • removed: property GeneratedShimsHostWrapper.directoryExists?: (directoryName: string) => boolean
  • removed: property GeneratedShimsHostWrapper.getDirectories?: (path: string) => string[]
  • removed: property GeneratedShimsHostWrapper.resolveModuleNames?: (moduleNames: string[], containingFile: string, reusedNames?: string[], redirectedReference?: ts.ResolvedProjectReference) => (ts.ResolvedModule | undefined)[]
  • removed: property GeneratedShimsHostWrapper.resolveTypeReferenceDirectives?: (names: string[], containingFile: string) => ts.ResolvedTypeReferenceDirective[]
  • changed: method SummaryGenerator.getSummaryFileNames(): string[] → method SummaryGenerator.getSummaryFileNames(): AbsoluteFsPath[]
  • removed: class SyntheticFilesCompilerHost implements PluginCompilerHost
  • removed: constructor SyntheticFilesCompilerHost(rootFiles: string[], delegate: ts.CompilerHost, generatedFiles: (rootFiles: string[]) => { [fileName: string]: (host: ts.CompilerHost) => ts.SourceFile | undefined })
  • removed: method SyntheticFilesCompilerHost.fileExists(filePath: string): boolean
  • removed: method SyntheticFilesCompilerHost.fileNameToModuleId(fileName: string): string
  • removed: method SyntheticFilesCompilerHost.getCanonicalFileName(path: string): string
  • removed: method SyntheticFilesCompilerHost.getCurrentDirectory(): string
  • removed: method SyntheticFilesCompilerHost.getDefaultLibFileName(options: ts.CompilerOptions): string
  • removed: method SyntheticFilesCompilerHost.getNewLine(): string
  • removed: method SyntheticFilesCompilerHost.getSourceFile(fileName: string, languageVersion: ts.ScriptTarget, onError?: (message: string) => void): ts.SourceFile | undefined
  • removed: method SyntheticFilesCompilerHost.readFile(fileName: string): string | undefined
  • removed: method SyntheticFilesCompilerHost.trace(s: string): void
  • removed: method SyntheticFilesCompilerHost.useCaseSensitiveFileNames(): boolean
  • removed: method SyntheticFilesCompilerHost.writeFile(fileName: string, content: string, writeByteOrderMark: boolean, onError: ((message: string) => void) | undefined, sourceFiles: ReadonlyArray<ts.SourceFile> | undefined): void
  • removed: property SyntheticFilesCompilerHost.getDirectories?: (path: string) => string[]
  • removed: property SyntheticFilesCompilerHost.syntheticFiles: Map<string, ts.SourceFile>
  • removed: readonly property SyntheticFilesCompilerHost.inputFiles: string[]
  • removed: export { DtsFileTransformer } from './src/declaration'
  • removed: export { IvyCompilation } from './src/compilation'
  • added: export { AnalyzedTrait } from './src/trait'
  • added: export { ClassRecord } from './src/compilation'
  • added: export { DtsTransformRegistry } from './src/declaration'
  • added: export { ErroredTrait } from './src/trait'
  • added: export { IvyDeclarationDtsTransform } from './src/declaration'
  • added: export { PendingTrait } from './src/trait'
  • added: export { ResolvedTrait } from './src/trait'
  • added: export { ReturnTypeTransform } from './src/declaration'
  • added: export { SkippedTrait } from './src/trait'
  • added: export { Trait } from './src/trait'
  • added: export { TraitCompiler } from './src/compilation'
  • added: export { TraitState } from './src/trait'
  • added: export { aliasTransformFactory } from './src/alias'
  • changed: function aliasTransformFactory(exportStatements: Map<string, Map<string, [string, string]>>): ts.TransformerFactory<ts.Bundle | ts.SourceFile> → function aliasTransformFactory(exportStatements: Map<string, Map<string, [string, string]>>): ts.TransformerFactory<ts.SourceFile>
  • removed: property AnalysisOutput.factorySymbolName?: string
  • removed: property AnalysisOutput.typeCheck?: boolean
  • changed: interface DecoratorHandler<A, M> → interface DecoratorHandler<D, A, R>
  • changed: interface ResolveResult → interface ResolveResult<R>
  • changed: method DecoratorHandler.analyze(node: ClassDeclaration, metadata: M): AnalysisOutput<A> → method DecoratorHandler.analyze(node: ClassDeclaration, metadata: Readonly<D>, handlerFlags?: HandlerFlags): AnalysisOutput<A>
  • changed: method DecoratorHandler.compile(node: ClassDeclaration, analysis: A, constantPool: ConstantPool): CompileResult | CompileResult[] → method DecoratorHandler.compile(node: ClassDeclaration, analysis: Readonly<A>, resolution: Readonly<R>, constantPool: ConstantPool): CompileResult | CompileResult[]
  • changed: method DecoratorHandler.detect(node: ClassDeclaration, decorators: Decorator[] | null): DetectResult<M> | undefined → method DecoratorHandler.detect(node: ClassDeclaration, decorators: Decorator[] | null): DetectResult<D> | undefined
  • changed: method DecoratorHandler.index?(context: IndexingContext, node: ClassDeclaration, metadata: A): void → method DecoratorHandler.index?(context: IndexingContext, node: ClassDeclaration, analysis: Readonly<A>, resolution: Readonly<R>): void
  • changed: method DecoratorHandler.preanalyze?(node: ClassDeclaration, metadata: M): Promise<void> | undefined → method DecoratorHandler.preanalyze?(node: ClassDeclaration, metadata: Readonly<D>): Promise<void> | undefined
  • changed: method DecoratorHandler.resolve?(node: ClassDeclaration, analysis: A): ResolveResult → method DecoratorHandler.resolve?(node: ClassDeclaration, analysis: Readonly<A>): ResolveResult<R>
  • changed: method DecoratorHandler.typeCheck?(ctx: TypeCheckContext, node: ClassDeclaration, metadata: A): void → method DecoratorHandler.typeCheck?(ctx: TypeCheckContext, node: ClassDeclaration, analysis: Readonly<A>, resolution: Readonly<R>): void
  • changed: property AnalysisOutput.analysis?: A → property AnalysisOutput.analysis?: Readonly<A>
  • changed: property DetectResult.metadata: M → property DetectResult.metadata: Readonly<M>
  • added: enum HandlerFlags
  • added: interface DtsTransform
  • added: member HandlerFlags.FULL_INHERITANCE = 1
  • added: member HandlerFlags.NONE = 0
  • added: method DecoratorHandler.register?(node: ClassDeclaration, analysis: A): void
  • added: method DtsTransform.transformClass?(clazz: ts.ClassDeclaration, elements: ReadonlyArray<ts.ClassElement>, imports: ImportManager): ts.ClassDeclaration
  • added: method DtsTransform.transformClassElement?(element: ts.ClassElement, imports: ImportManager): ts.ClassElement
  • added: method DtsTransform.transformFunctionDeclaration?(element: ts.FunctionDeclaration, imports: ImportManager): ts.FunctionDeclaration
  • added: property DetectResult.decorator: Decorator | null
  • added: property ResolveResult.data?: Readonly<R>
  • added: readonly property DecoratorHandler.name: string
  • removed: class IvyCompilation
  • removed: constructor IvyCompilation(handlers: DecoratorHandler<any, any>[], reflector: ReflectionHost, importRewriter: ImportRewriter, incrementalState: IncrementalState, perf: PerfRecorder, sourceToFactorySymbols: Map<string, Set<string>> | null, scopeRegistry: LocalModuleScopeRegistry)
  • removed: method IvyCompilation.analyzeAsync(sf: ts.SourceFile): Promise<void> | undefined
  • removed: method IvyCompilation.analyzeSync(sf: ts.SourceFile): void
  • removed: method IvyCompilation.compileIvyFieldFor(node: ts.Declaration, constantPool: ConstantPool): CompileResult[] | undefined
  • removed: method IvyCompilation.index(context: IndexingContext): void
  • removed: method IvyCompilation.ivyDecoratorsFor(node: ts.Declaration): ts.Decorator[]
  • removed: method IvyCompilation.resolve(): void
  • removed: method IvyCompilation.transformedDtsFor(file: ts.SourceFile, context: ts.TransformationContext): ts.SourceFile
  • removed: method IvyCompilation.typeCheck(context: TypeCheckContext): void
  • removed: readonly property IvyCompilation.diagnostics: ReadonlyArray<ts.Diagnostic>
  • removed: readonly property IvyCompilation.exportStatements: Map<string, Map<string, [string, string]>>
  • added: class TraitCompiler
  • added: constructor TraitCompiler(handlers: DecoratorHandler<unknown, unknown, unknown>[], reflector: ReflectionHost, perf: PerfRecorder, incrementalBuild: IncrementalBuild<ClassRecord>, compileNonExportedClasses: boolean, dtsTransforms: DtsTransformRegistry)
  • added: get TraitCompiler.diagnostics(): ReadonlyArray<ts.Diagnostic>
  • added: get TraitCompiler.exportStatements(): Map<string, Map<string, [string, string]>>
  • added: interface ClassRecord
  • added: method TraitCompiler.analyzeAsync(sf: ts.SourceFile): Promise<void> | undefined
  • added: method TraitCompiler.analyzeSync(sf: ts.SourceFile): void
  • added: method TraitCompiler.compile(clazz: ts.Declaration, constantPool: ConstantPool): CompileResult[] | null
  • added: method TraitCompiler.decoratorsFor(node: ts.Declaration): ts.Decorator[]
  • added: method TraitCompiler.index(ctx: IndexingContext): void
  • added: method TraitCompiler.recordFor(clazz: ClassDeclaration): ClassRecord | null
  • added: method TraitCompiler.recordsFor(sf: ts.SourceFile): ClassRecord[] | null
  • added: method TraitCompiler.resolve(): void
  • added: method TraitCompiler.typeCheck(ctx: TypeCheckContext): void
  • added: property ClassRecord.hasPrimaryHandler: boolean
  • added: property ClassRecord.hasWeakHandlers: boolean
  • added: property ClassRecord.metaDiagnostics: ts.Diagnostic[] | null
  • added: property ClassRecord.node: ClassDeclaration
  • added: property ClassRecord.traits: Trait<unknown, unknown, unknown>[]
  • added: protected method TraitCompiler.analyzeClass(clazz: ClassDeclaration, preanalyzeQueue: Promise<void>[] | null): void
  • added: protected method TraitCompiler.analyzeTrait(clazz: ClassDeclaration, trait: Trait<unknown, unknown, unknown>, flags?: HandlerFlags): void
  • added: protected method TraitCompiler.detectTraits(clazz: ClassDeclaration, decorators: Decorator[] | null): PendingTrait<unknown, unknown, unknown>[] | null
  • added: protected property TraitCompiler.fileToClasses: Map<ts.SourceFile, Set<ClassDeclaration<ts.Declaration>>>
  • removed: class DtsFileTransformer
  • removed: constructor DtsFileTransformer(importRewriter: ImportRewriter, importPrefix?: string)
  • removed: method DtsFileTransformer.recordStaticField(name: string, decls: CompileResult[]): void
  • removed: method DtsFileTransformer.transform(file: ts.SourceFile, context: ts.TransformationContext): ts.SourceFile
  • changed: function declarationTransformFactory(compilation: IvyCompilation): ts.TransformerFactory<ts.Bundle | ts.SourceFile> → function declarationTransformFactory(transformRegistry: DtsTransformRegistry, importRewriter: ImportRewriter, importPrefix?: string): ts.TransformerFactory<ts.SourceFile>
  • added: class DtsTransformRegistry
  • added: class IvyDeclarationDtsTransform implements DtsTransform
  • added: class ReturnTypeTransform implements DtsTransform
  • added: interface IvyDeclarationField
  • added: method DtsTransformRegistry.getAllTransforms(sf: ts.SourceFile): DtsTransform[] | null
  • added: method DtsTransformRegistry.getIvyDeclarationTransform(sf: ts.SourceFile): IvyDeclarationDtsTransform
  • added: method DtsTransformRegistry.getReturnTypeTransform(sf: ts.SourceFile): ReturnTypeTransform
  • added: method IvyDeclarationDtsTransform.addFields(decl: ClassDeclaration, fields: IvyDeclarationField[]): void
  • added: method IvyDeclarationDtsTransform.transformClass(clazz: ts.ClassDeclaration, members: ReadonlyArray<ts.ClassElement>, imports: ImportManager): ts.ClassDeclaration
  • added: method ReturnTypeTransform.addTypeReplacement(declaration: ts.Declaration, type: Type): void
  • added: method ReturnTypeTransform.transformClassElement(element: ts.ClassElement, imports: ImportManager): ts.ClassElement
  • added: method ReturnTypeTransform.transformFunctionDeclaration(element: ts.FunctionDeclaration, imports: ImportManager): ts.FunctionDeclaration
  • added: property IvyDeclarationField.name: string
  • added: property IvyDeclarationField.type: Type
  • added: const Trait: { pending: <D, A, R>(handler: DecoratorHandler<D, A, R>, detected: DetectResult<D>) => PendingTrait<D, A, R> }
  • added: enum TraitState
  • added: interface AnalyzedTrait<D, A, R> extends TraitBase<D, A, R>, TraitWithAnalysis<A>
  • added: interface ErroredTrait<D, A, R> extends TraitBase<D, A, R>
  • added: interface PendingTrait<D, A, R> extends TraitBase<D, A, R>
  • added: interface ResolvedTrait<D, A, R> extends TraitBase<D, A, R>, TraitWithAnalysis<A>
  • added: interface SkippedTrait<D, A, R> extends TraitBase<D, A, R>
  • added: interface TraitBase<D, A, R>
  • added: interface TraitWithAnalysis<A>
  • added: member TraitState.ANALYZED = 2
  • added: member TraitState.ERRORED = 8
  • added: member TraitState.PENDING = 1
  • added: member TraitState.RESOLVED = 4
  • added: member TraitState.SKIPPED = 16
  • added: method AnalyzedTrait.toErrored(errors: ts.Diagnostic[]): ErroredTrait<D, A, R>
  • added: method AnalyzedTrait.toResolved(resolution: R): ResolvedTrait<D, A, R>
  • added: method PendingTrait.toAnalyzed(analysis: A): AnalyzedTrait<D, A, R>
  • added: method PendingTrait.toErrored(errors: ts.Diagnostic[]): ErroredTrait<D, A, R>
  • added: method PendingTrait.toSkipped(): SkippedTrait<D, A, R>
  • added: property AnalyzedTrait.state: TraitState.ANALYZED
  • added: property ErroredTrait.diagnostics: ts.Diagnostic[]
  • added: property ErroredTrait.state: TraitState.ERRORED
  • added: property PendingTrait.state: TraitState.PENDING
  • added: property ResolvedTrait.resolution: Readonly<R>
  • added: property ResolvedTrait.state: TraitState.RESOLVED
  • added: property SkippedTrait.state: TraitState.SKIPPED
  • added: property TraitBase.detected: DetectResult<D>
  • added: property TraitBase.handler: DecoratorHandler<D, A, R>
  • added: property TraitBase.state: TraitState
  • added: property TraitWithAnalysis.analysis: Readonly<A>
  • added: type Trait<D, A, R> = PendingTrait<D, A, R> | SkippedTrait<D, A, R> | AnalyzedTrait<D, A, R> | ResolvedTrait<D, A, R> | ErroredTrait<D, A, R>
  • changed: function ivyTransformFactory(compilation: IvyCompilation, reflector: ReflectionHost, importRewriter: ImportRewriter, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, isClosureCompilerEnabled: boolean): ts.TransformerFactory<ts.SourceFile> → function ivyTransformFactory(compilation: TraitCompiler, reflector: ReflectionHost, importRewriter: ImportRewriter, defaultImportRecorder: DefaultImportRecorder, isCore: boolean, isClosureCompilerEnabled: boolean): ts.TransformerFactory<ts.SourceFile>
  • removed: readonly property Context.withExpressionMode: Context
  • removed: readonly property Context.withStatementMode: Context
  • changed: function translateExpression(expression: Expression, imports: ImportManager, defaultImportRecorder: DefaultImportRecorder): ts.Expression → function translateExpression(expression: Expression, imports: ImportManager, defaultImportRecorder: DefaultImportRecorder, scriptTarget: Exclude<ts.ScriptTarget, ts.ScriptTarget.JSON>): ts.Expression
  • changed: function translateStatement(statement: Statement, imports: ImportManager, defaultImportRecorder: DefaultImportRecorder): ts.Statement → function translateStatement(statement: Statement, imports: ImportManager, defaultImportRecorder: DefaultImportRecorder, scriptTarget: Exclude<ts.ScriptTarget, ts.ScriptTarget.JSON>): ts.Statement
  • changed: method TypeTranslatorVisitor.visitExpressionType(type: ExpressionType, context: Context): ts.TypeReferenceType → method TypeTranslatorVisitor.visitExpressionType(type: ExpressionType, context: Context): ts.TypeNode
  • changed: method TypeTranslatorVisitor.visitExternalExpr(ast: ExternalExpr, context: Context): ts.TypeNode → method TypeTranslatorVisitor.visitExternalExpr(ast: ExternalExpr, context: Context): ts.EntityName | ts.TypeReferenceNode
  • changed: method TypeTranslatorVisitor.visitLiteralExpr(ast: LiteralExpr, context: Context): ts.LiteralExpression → method TypeTranslatorVisitor.visitLiteralExpr(ast: LiteralExpr, context: Context): ts.TypeNode
  • changed: method TypeTranslatorVisitor.visitLiteralMapExpr(ast: LiteralMapExpr, context: Context): ts.ObjectLiteralExpression → method TypeTranslatorVisitor.visitLiteralMapExpr(ast: LiteralMapExpr, context: Context): ts.TypeLiteralNode
  • changed: method TypeTranslatorVisitor.visitReadVarExpr(ast: ReadVarExpr, context: Context): string → method TypeTranslatorVisitor.visitReadVarExpr(ast: ReadVarExpr, context: Context): ts.TypeQueryNode
  • changed: method TypeTranslatorVisitor.visitWrappedNodeExpr(ast: WrappedNodeExpr<any>, context: Context): ts.Identifier → method TypeTranslatorVisitor.visitWrappedNodeExpr(ast: WrappedNodeExpr<any>, context: Context): ts.TypeNode
  • added: get Context.withExpressionMode(): Context
  • added: get Context.withStatementMode(): Context
  • added: method TypeTranslatorVisitor.visitLocalizedString(ast: LocalizedString, context: Context): never
  • removed: method NgTscPlugin.wrap(program: ts.Program, config: {}, host: ts.CompilerHost): ts.Program
  • changed: constructor NgTscPlugin(angularCompilerOptions: unknown) → constructor NgTscPlugin(ngOptions: {})
  • changed: method NgTscPlugin.createTransformers(host: PluginCompilerHost): { afterDeclarations: ts.TransformerFactory<ts.SourceFile | ts.Bundle>[] } → method NgTscPlugin.createTransformers(): ts.CustomTransformers
  • changed: method NgTscPlugin.wrapHost(inputFiles: string[], compilerHost: ts.CompilerHost): SyntheticFilesCompilerHost → method NgTscPlugin.wrapHost(host: ts.CompilerHost & UnifiedModulesHost, inputFiles: readonly string[], options: ts.CompilerOptions): PluginCompilerHost
  • added: get NgTscPlugin.compiler(): NgCompiler
  • added: method NgTscPlugin.getDiagnostics(file?: ts.SourceFile): ts.Diagnostic[]
  • added: method NgTscPlugin.getNextProgram(): ts.Program
  • added: method NgTscPlugin.getOptionDiagnostics(): ts.Diagnostic[]
  • added: method NgTscPlugin.setupCompilation(program: ts.Program, oldProgram?: ts.Program): { ignoreForDiagnostics: Set<ts.SourceFile>; ignoreForEmit: Set<ts.SourceFile> }
  • added: property NgTscPlugin.name: string
  • added: export { TemplateDiagnostic } from './src/diagnostics'
  • added: export { isTemplateDiagnostic } from './src/diagnostics'
  • removed: property TypeCheckingConfig.checkTypeOfBindings: boolean
  • added: interface DirectTemplateSourceMapping
  • added: interface ExternalTemplateSourceMapping
  • added: interface IndirectTemplateSourceMapping
  • added: property DirectTemplateSourceMapping.node: ts.StringLiteral | ts.NoSubstitutionTemplateLiteral
  • added: property DirectTemplateSourceMapping.type: 'direct'
  • added: property ExternalTemplateSourceMapping.componentClass: ClassDeclaration
  • added: property ExternalTemplateSourceMapping.node: ts.Expression
  • added: property ExternalTemplateSourceMapping.template: string
  • added: property ExternalTemplateSourceMapping.templateUrl: string
  • added: property ExternalTemplateSourceMapping.type: 'external'
  • added: property IndirectTemplateSourceMapping.componentClass: ClassDeclaration
  • added: property IndirectTemplateSourceMapping.node: ts.Expression
  • added: property IndirectTemplateSourceMapping.template: string
  • added: property IndirectTemplateSourceMapping.type: 'indirect'
  • added: property TypeCheckBlockMetadata.id: TemplateId
  • added: property TypeCheckBlockMetadata.schemas: SchemaMetadata[]
  • added: property TypeCheckableDirectiveMeta.coercedInputFields: Set<string>
  • added: property TypeCheckingConfig.checkTypeOfAnimationEvents: boolean
  • added: property TypeCheckingConfig.checkTypeOfAttributes: boolean
  • added: property TypeCheckingConfig.checkTypeOfDomBindings: boolean
  • added: property TypeCheckingConfig.checkTypeOfDomEvents: boolean
  • added: property TypeCheckingConfig.checkTypeOfDomReferences: boolean
  • added: property TypeCheckingConfig.checkTypeOfInputBindings: boolean
  • added: property TypeCheckingConfig.checkTypeOfNonDomReferences: boolean
  • added: property TypeCheckingConfig.checkTypeOfOutputEvents: boolean
  • added: property TypeCheckingConfig.strictLiteralTypes: boolean
  • added: property TypeCheckingConfig.strictNullInputBindings: boolean
  • added: property TypeCheckingConfig.useContextGenericType: boolean
  • added: property TypeCtorMetadata.coercedInputFields: Set<string>
  • added: type TemplateId = string & { __brand: 'TemplateId' }
  • added: type TemplateSourceMapping = DirectTemplateSourceMapping | IndirectTemplateSourceMapping | ExternalTemplateSourceMapping
  • changed: constructor TypeCheckContext(config: TypeCheckingConfig, refEmitter: ReferenceEmitter, typeCheckFilePath: AbsoluteFsPath) → constructor TypeCheckContext(config: TypeCheckingConfig, refEmitter: ReferenceEmitter, reflector: ReflectionHost, typeCheckFilePath: AbsoluteFsPath)
  • changed: method TypeCheckContext.addTemplate(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, boundTarget: BoundTarget<TypeCheckableDirectiveMeta>, pipes: Map<string, Reference<ClassDeclaration<ts.ClassDeclaration>>>, file: ParseSourceFile): void → method TypeCheckContext.addTemplate(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, boundTarget: BoundTarget<TypeCheckableDirectiveMeta>, pipes: Map<string, Reference<ClassDeclaration<ts.ClassDeclaration>>>, schemas: SchemaMetadata[], sourceMapping: TemplateSourceMapping, file: ParseSourceFile): void
  • changed: method TypeCheckContext.calculateTemplateDiagnostics(originalProgram: ts.Program, originalHost: ts.CompilerHost, originalOptions: ts.CompilerOptions): { diagnostics: Diagnostic[]; program: ts.Program } → method TypeCheckContext.calculateTemplateDiagnostics(originalProgram: ts.Program, originalHost: ts.CompilerHost, originalOptions: ts.CompilerOptions): { diagnostics: ts.Diagnostic[]; program: ts.Program }
  • removed: function addSourceReferenceName(tcb: ts.FunctionDeclaration, source: ClassDeclaration): void
  • removed: function getSourceReferenceName(source: ClassDeclaration): string
  • removed: function toAbsoluteSpan(span: ParseSpan, sourceSpan: ParseSourceSpan): AbsoluteSpan
  • removed: interface AbsoluteSpan
  • removed: interface Diagnostic
  • removed: interface DiagnosticMessageChain
  • removed: interface SourceLocation
  • removed: property AbsoluteSpan.__brand__: 'AbsoluteSpan'
  • removed: property AbsoluteSpan.end: number
  • removed: property AbsoluteSpan.start: number
  • removed: property Diagnostic.category: ts.DiagnosticCategory
  • removed: property Diagnostic.chain?: DiagnosticMessageChain
  • removed: property Diagnostic.code: number
  • removed: property Diagnostic.messageText: string
  • removed: property Diagnostic.position?: Position
  • removed: property Diagnostic.source: 'angular'
  • removed: property Diagnostic.span?: ParseSourceSpan
  • removed: property DiagnosticMessageChain.messageText: string
  • removed: property DiagnosticMessageChain.next?: DiagnosticMessageChain
  • removed: property DiagnosticMessageChain.position?: Position
  • removed: property SourceLocation.end: number
  • removed: property SourceLocation.sourceReference: string
  • removed: property SourceLocation.start: number
  • changed: function addParseSpanInfo(node: ts.Node, span: AbsoluteSpan | ParseSourceSpan): void → function addParseSpanInfo(node: ts.Node, span: AbsoluteSourceSpan | ParseSourceSpan): void
  • changed: function translateDiagnostic(diagnostic: ts.Diagnostic, resolveParseSource: (sourceLocation: SourceLocation) => ParseSourceSpan | null): Diagnostic | null → function translateDiagnostic(diagnostic: ts.Diagnostic, resolver: TemplateSourceResolver): ts.Diagnostic | null
  • added: function addTemplateId(tcb: ts.FunctionDeclaration, id: TemplateId): void
  • added: function ignoreDiagnostics(node: ts.Node): void
  • added: function isTemplateDiagnostic(diagnostic: ts.Diagnostic): diagnostic is TemplateDiagnostic
  • added: function makeTemplateDiagnostic(mapping: TemplateSourceMapping, span: ParseSourceSpan, category: ts.DiagnosticCategory, code: number, messageText: string | ts.DiagnosticMessageChain, relatedMessage?: { text: string; span: ParseSourceSpan }): TemplateDiagnostic
  • added: interface TemplateDiagnostic extends ts.Diagnostic
  • added: interface TemplateSourceResolver
  • added: method TemplateSourceResolver.getSourceMapping(id: TemplateId): TemplateSourceMapping
  • added: method TemplateSourceResolver.toParseSourceSpan(id: TemplateId, span: AbsoluteSourceSpan): ParseSourceSpan | null
  • added: property TemplateDiagnostic.componentFile: ts.SourceFile
  • added: class RegistryDomSchemaChecker implements DomSchemaChecker
  • added: constructor RegistryDomSchemaChecker(resolver: TemplateSourceResolver)
  • added: get RegistryDomSchemaChecker.diagnostics(): ReadonlyArray<ts.Diagnostic>
  • added: interface DomSchemaChecker
  • added: method DomSchemaChecker.checkElement(id: string, element: TmplAstElement, schemas: SchemaMetadata[]): void
  • added: method DomSchemaChecker.checkProperty(id: string, element: TmplAstElement, name: string, span: ParseSourceSpan, schemas: SchemaMetadata[]): void
  • added: method RegistryDomSchemaChecker.checkElement(id: TemplateId, element: TmplAstElement, schemas: SchemaMetadata[]): void
  • added: method RegistryDomSchemaChecker.checkProperty(id: TemplateId, element: TmplAstElement, name: string, span: ParseSourceSpan, schemas: SchemaMetadata[]): void
  • added: readonly property DomSchemaChecker.diagnostics: ReadonlyArray<ts.Diagnostic>
  • removed: method Environment.referenceCoreType(name: string, typeParamCount?: number): ts.TypeNode
  • changed: constructor Environment(config: TypeCheckingConfig, importManager: ImportManager, refEmitter: ReferenceEmitter, contextFile: ts.SourceFile) → constructor Environment(config: TypeCheckingConfig, importManager: ImportManager, refEmitter: ReferenceEmitter, reflector: ReflectionHost, contextFile: ts.SourceFile)
  • changed: method Environment.referenceType(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>): ts.TypeNode → method Environment.referenceType(ref: Reference): ts.TypeNode
  • added: method Environment.declareOutputHelper(): ts.Expression
  • added: method Environment.referenceExternalType(moduleName: string, name: string, typeParams?: Type[]): ts.TypeNode
  • added: protected property Environment.helperStatements: ts.Statement[]
  • changed: function astToTypescript(ast: AST, maybeResolve: (ast: AST) => (ts.Expression | null), config: TypeCheckingConfig, translateSpan: (span: ParseSpan) => AbsoluteSpan): ts.Expression → function astToTypescript(ast: AST, maybeResolve: (ast: AST) => (ts.Expression | null), config: TypeCheckingConfig): ts.Expression
  • added: const NULL_AS_ANY: ts.AsExpression
  • added: readonly property TypeCheckProgramHost.resolveModuleNames?: ts.CompilerHost['resolveModuleNames']
  • added: class OutOfBandDiagnosticRecorderImpl implements OutOfBandDiagnosticRecorder
  • added: constructor OutOfBandDiagnosticRecorderImpl(resolver: TemplateSourceResolver)
  • added: get OutOfBandDiagnosticRecorderImpl.diagnostics(): ReadonlyArray<ts.Diagnostic>
  • added: interface OutOfBandDiagnosticRecorder
  • added: method OutOfBandDiagnosticRecorder.duplicateTemplateVar(templateId: TemplateId, variable: TmplAstVariable, firstDecl: TmplAstVariable): void
  • added: method OutOfBandDiagnosticRecorder.illegalAssignmentToTemplateVar(templateId: TemplateId, assignment: PropertyWrite, target: TmplAstVariable): void
  • added: method OutOfBandDiagnosticRecorder.missingPipe(templateId: TemplateId, ast: BindingPipe): void
  • added: method OutOfBandDiagnosticRecorder.missingReferenceTarget(templateId: TemplateId, ref: TmplAstReference): void
  • added: method OutOfBandDiagnosticRecorderImpl.duplicateTemplateVar(templateId: TemplateId, variable: TmplAstVariable, firstDecl: TmplAstVariable): void
  • added: method OutOfBandDiagnosticRecorderImpl.illegalAssignmentToTemplateVar(templateId: TemplateId, assignment: PropertyWrite, target: TmplAstVariable): void
  • added: method OutOfBandDiagnosticRecorderImpl.missingPipe(templateId: TemplateId, ast: BindingPipe): void
  • added: method OutOfBandDiagnosticRecorderImpl.missingReferenceTarget(templateId: TemplateId, ref: TmplAstReference): void
  • added: readonly property OutOfBandDiagnosticRecorder.diagnostics: ReadonlyArray<ts.Diagnostic>
  • added: class TemplateSource
  • added: class TemplateSourceManager implements TemplateSourceResolver
  • added: constructor TemplateSource(mapping: TemplateSourceMapping, file: ParseSourceFile)
  • added: method TemplateSource.toParseSourceSpan(start: number, end: number): ParseSourceSpan
  • added: method TemplateSourceManager.captureSource(mapping: TemplateSourceMapping, file: ParseSourceFile): TemplateId
  • added: method TemplateSourceManager.getSourceMapping(id: TemplateId): TemplateSourceMapping
  • added: method TemplateSourceManager.toParseSourceSpan(id: TemplateId, span: AbsoluteSourceSpan): ParseSourceSpan | null
  • added: readonly property TemplateSource.mapping: TemplateSourceMapping
  • added: class ExpressionSemanticVisitor extends RecursiveAstVisitor
  • added: constructor ExpressionSemanticVisitor(templateId: TemplateId, boundTarget: BoundTarget<any>, oob: OutOfBandDiagnosticRecorder)
  • added: method ExpressionSemanticVisitor.visitPropertyWrite(ast: PropertyWrite, context: any): void
  • added: static method ExpressionSemanticVisitor.visit(ast: AST, id: TemplateId, boundTarget: BoundTarget<any>, oob: OutOfBandDiagnosticRecorder): void
  • changed: constructor Context(env: Environment, boundTarget: BoundTarget<TypeCheckableDirectiveMeta>, pipes: Map<string, Reference<ClassDeclaration<ts.ClassDeclaration>>>) → constructor Context(env: Environment, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder, id: TemplateId, boundTarget: BoundTarget<TypeCheckableDirectiveMeta>, pipes: Map<string, Reference<ClassDeclaration<ts.ClassDeclaration>>>, schemas: SchemaMetadata[])
  • changed: function generateTypeCheckBlock(env: Environment, ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, name: ts.Identifier, meta: TypeCheckBlockMetadata): ts.FunctionDeclaration → function generateTypeCheckBlock(env: Environment, ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, name: ts.Identifier, meta: TypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder): ts.FunctionDeclaration
  • changed: method Context.getPipeByName(name: string): ts.Expression → method Context.getPipeByName(name: string): ts.Expression | null
  • added: readonly property Context.domSchemaChecker: DomSchemaChecker
  • added: readonly property Context.id: TemplateId
  • added: readonly property Context.oobRecorder: OutOfBandDiagnosticRecorder
  • added: readonly property Context.schemas: SchemaMetadata[]
  • changed: constructor TypeCheckFile(fileName: string, config: TypeCheckingConfig, refEmitter: ReferenceEmitter) → constructor TypeCheckFile(fileName: string, config: TypeCheckingConfig, refEmitter: ReferenceEmitter, reflector: ReflectionHost)
  • changed: method TypeCheckFile.addTypeCheckBlock(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata): void → method TypeCheckFile.addTypeCheckBlock(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder): void
  • changed: function generateInlineTypeCtor(node: ClassDeclaration<ts.ClassDeclaration>, meta: TypeCtorMetadata, config: TypeCheckingConfig): ts.MethodDeclaration → function generateInlineTypeCtor(node: ClassDeclaration<ts.ClassDeclaration>, meta: TypeCtorMetadata): ts.MethodDeclaration
  • changed: function generateTypeCtorDeclarationFn(node: ClassDeclaration<ts.ClassDeclaration>, meta: TypeCtorMetadata, nodeTypeRef: ts.Identifier | ts.QualifiedName, config: TypeCheckingConfig): ts.Statement → function generateTypeCtorDeclarationFn(node: ClassDeclaration<ts.ClassDeclaration>, meta: TypeCtorMetadata, nodeTypeRef: ts.EntityName, typeParams: ts.TypeParameterDeclaration[] | undefined, reflector: ReflectionHost): ts.Statement
  • changed: function requiresInlineTypeCtor(node: ClassDeclaration<ts.ClassDeclaration>): boolean → function requiresInlineTypeCtor(node: ClassDeclaration<ts.ClassDeclaration>, host: ReflectionHost): boolean
  • added: class TypeEmitter
  • added: constructor TypeEmitter(resolver: TypeReferenceResolver, emitReference: (ref: Reference) => ts.TypeNode)
  • added: function canEmitType(type: ts.TypeNode, resolver: TypeReferenceResolver): boolean
  • added: method TypeEmitter.emitType(type: ts.TypeNode): ts.TypeNode
  • added: type ResolvedTypeReference = Reference | ts.TypeReferenceNode | null
  • added: type TypeReferenceResolver = (type: ts.TypeReferenceNode) => ResolvedTypeReference
  • added: class TypeParameterEmitter
  • added: constructor TypeParameterEmitter(typeParameters: ts.NodeArray<ts.TypeParameterDeclaration> | undefined, reflector: ReflectionHost)
  • added: method TypeParameterEmitter.canEmit(): boolean
  • added: method TypeParameterEmitter.emit(emitReference: (ref: Reference) => ts.TypeNode): ts.TypeParameterDeclaration[] | undefined
  • removed: class NoopResourceDependencyRecorder implements ResourceDependencyRecorder
  • removed: interface ResourceDependencyRecorder
  • removed: method NoopResourceDependencyRecorder.recordResourceDependency(): void
  • removed: method ResourceDependencyRecorder.recordResourceDependency(file: ts.SourceFile, resourcePath: string): void
  • changed: function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: ts.CompilerOptions, compilerHost: ts.CompilerHost): ts.ResolvedModule | undefined → function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: ts.CompilerOptions, compilerHost: ts.CompilerHost, moduleResolutionCache: ts.ModuleResolutionCache | null): ts.ResolvedModule | undefined
  • added: function isTypeDeclaration(node: ts.Node): node is ts.EnumDeclaration | ts.TypeAliasDeclaration | ts.InterfaceDeclaration
  • added: function isValueDeclaration(node: ts.Node): node is ts.ClassDeclaration | ts.FunctionDeclaration | ts.VariableDeclaration
  • added: type SubsetOfKeys<T, K extends keyof T> = K
  • changed: function flattenDiagnosticMessageChain(chain: api.DiagnosticMessageChain, host?: ts.FormatDiagnosticsHost): string → function flattenDiagnosticMessageChain(chain: api.DiagnosticMessageChain, host?: ts.FormatDiagnosticsHost, indent?: number): string
  • added: function defaultGatherDiagnostics(program: api.Program): Diagnostics
  • added: const GLOBAL_DEFS_FOR_TERSER_WITH_AOT: { ngJitMode: boolean; ngDevMode: boolean; ngI18nClosureMode: boolean }
  • removed: method CompilerHost.fileNameToModuleName?(importedFilePath: string, containingFilePath: string): string
  • removed: method CompilerHost.getModifiedResourceFiles?(): Set<string> | undefined
  • removed: method CompilerHost.readResource?(fileName: string): Promise<string> | string
  • removed: method CompilerHost.resourceNameToFileName?(resourceName: string, containingFilePath: string): string | null
  • removed: property CompilerOptions._useHostForImportGeneration?: boolean
  • removed: property CompilerOptions.allowEmptyCodegenFiles?: boolean
  • removed: property CompilerOptions.annotateForClosureCompiler?: boolean
  • removed: property CompilerOptions.disableTypeScriptVersionCheck?: boolean
  • removed: property CompilerOptions.enableIvy?: boolean | 'ngtsc' | 'tsc'
  • removed: property CompilerOptions.flatModuleId?: string
  • removed: property CompilerOptions.flatModuleOutFile?: string
  • removed: property CompilerOptions.fullTemplateTypeCheck?: boolean
  • removed: property CompilerOptions.i18nInLocale?: string
  • removed: property CompilerOptions.i18nUseExternalIds?: boolean
  • removed: property CompilerOptions.preserveWhitespaces?: boolean
  • removed: property CompilerOptions.strictInjectionParameters?: boolean
  • changed: interface CompilerHost extends ts.CompilerHost → interface CompilerHost extends ts.CompilerHost, ExtendedTsCompilerHost
  • changed: interface CompilerOptions extends ts.CompilerOptions → interface CompilerOptions extends NgCompilerOptions, ts.CompilerOptions
  • changed: property DiagnosticMessageChain.next?: DiagnosticMessageChain → property DiagnosticMessageChain.next?: DiagnosticMessageChain[]
  • removed: function nocollapseHack(contents: string): string
  • changed: function updateSourceFile(sourceFile: ts.SourceFile, module: PartialModule, context: ts.TransformationContext): [ts.SourceFile, Map<ts.Node, Node>] → function updateSourceFile(sourceFile: ts.SourceFile, module: PartialModule, annotateForClosureCompiler: boolean): [ts.SourceFile, Map<ts.Node, Node>]
  • added: constructor NodeEmitterVisitor(annotateForClosureCompiler: boolean)
  • added: constructor TypeScriptNodeEmitter(annotateForClosureCompiler: boolean)
  • added: method NodeEmitterVisitor.visitLocalizedString(expr: LocalizedString, context: any): void
  • changed: function getAngularEmitterTransformFactory(generatedFiles: Map<string, GeneratedFile>, program: ts.Program): () => (sourceFile: ts.SourceFile) => ts.SourceFile → function getAngularEmitterTransformFactory(generatedFiles: Map<string, GeneratedFile>, program: ts.Program, annotateForClosureCompiler: boolean): () => (sourceFile: ts.SourceFile) => ts.SourceFile
  • removed: function checkVersion(version: string, minVersion: string, maxVersion: string, disableVersionCheck: boolean | undefined): void
  • changed: function getAngularClassTransformerFactory(modules: PartialModule[]): TransformerFactory → function getAngularClassTransformerFactory(modules: PartialModule[], annotateForClosureCompiler: boolean): TransformerFactory
  • removed: class TscPassThroughProgram implements api.Program
  • removed: constructor TscPassThroughProgram(rootNames: ReadonlyArray<string>, options: api.CompilerOptions, host: api.CompilerHost, oldProgram?: api.Program)
  • removed: method TscPassThroughProgram.emit(opts?: { emitFlags?: api.EmitFlags; cancellationToken?: ts.CancellationToken; customTransformers?: api.CustomTransformers; emitCallback?: api.TsEmitCallback; mergeEmitResultsCallback?: api.TsMergeEmitResultsCallback }): ts.EmitResult
  • removed: method TscPassThroughProgram.getEmittedGeneratedFiles(): Map<string, GeneratedFile>
  • removed: method TscPassThroughProgram.getEmittedSourceFiles(): Map<string, ts.SourceFile>
  • removed: method TscPassThroughProgram.getLibrarySummaries(): Map<string, api.LibrarySummary>
  • removed: method TscPassThroughProgram.getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<api.Diagnostic>
  • removed: method TscPassThroughProgram.getNgSemanticDiagnostics(fileName?: string | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<api.Diagnostic>
  • removed: method TscPassThroughProgram.getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<api.Diagnostic>
  • removed: method TscPassThroughProgram.getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic>
  • removed: method TscPassThroughProgram.getTsProgram(): ts.Program
  • removed: method TscPassThroughProgram.getTsSemanticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic>
  • removed: method TscPassThroughProgram.getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile | undefined, cancellationToken?: ts.CancellationToken | undefined): ReadonlyArray<ts.Diagnostic>
  • removed: method TscPassThroughProgram.listLazyRoutes(entryRoute?: string | undefined): api.LazyRoute[]
  • removed: method TscPassThroughProgram.loadNgStructureAsync(): Promise<void>
  • added: function checkVersion(version: string, minVersion: string, maxVersion: string): void
  • added: function restoreTypeScriptVersionForTesting(): void
  • added: function setTypeScriptVersionForTesting(version: string): void
  • added: function verifySupportedTypeScriptVersion(): void