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.
In plain terms
- Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
- Their commits are listed with this comparison.
Must act 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).
API changes
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