@angular/compiler-cli 15.0.0-next.3 → 15.0.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/bundles/{chunk-RCXOJZDO.js → chunk-2HPI44CB.js} +5 -5
  2. package/bundles/{chunk-RCXOJZDO.js.map → chunk-2HPI44CB.js.map} +0 -0
  3. package/bundles/{chunk-JTAGML7U.js → chunk-2RROWOZG.js} +71 -71
  4. package/bundles/{chunk-JTAGML7U.js.map → chunk-2RROWOZG.js.map} +0 -0
  5. package/bundles/{chunk-DM4TYSFG.js → chunk-7YHMCUJT.js} +2 -2
  6. package/bundles/{chunk-DM4TYSFG.js.map → chunk-7YHMCUJT.js.map} +0 -0
  7. package/bundles/{chunk-56O2PTWU.js → chunk-CYVTLM4Z.js} +7 -7
  8. package/bundles/{chunk-56O2PTWU.js.map → chunk-CYVTLM4Z.js.map} +0 -0
  9. package/bundles/{chunk-5FZBUSFV.js → chunk-E7NQQTT7.js} +3 -3
  10. package/bundles/{chunk-5FZBUSFV.js.map → chunk-E7NQQTT7.js.map} +0 -0
  11. package/bundles/{chunk-ERNK3SQG.js → chunk-FHVSPC32.js} +31 -31
  12. package/bundles/{chunk-ERNK3SQG.js.map → chunk-FHVSPC32.js.map} +0 -0
  13. package/bundles/{chunk-ICPLY7FO.js → chunk-FM6NPN5V.js} +4 -4
  14. package/bundles/{chunk-ICPLY7FO.js.map → chunk-FM6NPN5V.js.map} +0 -0
  15. package/bundles/{chunk-V7FBNIO3.js → chunk-LBWAABMF.js} +40 -40
  16. package/bundles/{chunk-V7FBNIO3.js.map → chunk-LBWAABMF.js.map} +0 -0
  17. package/bundles/{chunk-C7SYDZNO.js → chunk-OZM4WUIW.js} +5 -5
  18. package/bundles/{chunk-C7SYDZNO.js.map → chunk-OZM4WUIW.js.map} +0 -0
  19. package/bundles/{chunk-HMWNYAAE.js → chunk-R3C7RFJ4.js} +2 -2
  20. package/bundles/{chunk-HMWNYAAE.js.map → chunk-R3C7RFJ4.js.map} +0 -0
  21. package/bundles/{chunk-FPKAMI6D.js → chunk-TF2TR2WS.js} +26 -26
  22. package/bundles/{chunk-FPKAMI6D.js.map → chunk-TF2TR2WS.js.map} +0 -0
  23. package/bundles/{chunk-4NRCP3Y6.js → chunk-TOKOIIBI.js} +7 -7
  24. package/bundles/{chunk-4NRCP3Y6.js.map → chunk-TOKOIIBI.js.map} +0 -0
  25. package/bundles/{chunk-JN4TT3OU.js → chunk-UZLFREET.js} +7 -7
  26. package/bundles/{chunk-JN4TT3OU.js.map → chunk-UZLFREET.js.map} +0 -0
  27. package/bundles/{chunk-A5S5H2MN.js → chunk-VSAO3EZ7.js} +74 -71
  28. package/bundles/chunk-VSAO3EZ7.js.map +6 -0
  29. package/bundles/{chunk-MOE5WKIA.js → chunk-XDX5RDY5.js} +7 -7
  30. package/bundles/{chunk-MOE5WKIA.js.map → chunk-XDX5RDY5.js.map} +0 -0
  31. package/bundles/{chunk-TC3DKEFP.js → chunk-YEQI6VDV.js} +156 -125
  32. package/bundles/chunk-YEQI6VDV.js.map +6 -0
  33. package/bundles/index.js +13 -13
  34. package/bundles/linker/babel/index.js +13 -13
  35. package/bundles/linker/index.js +5 -5
  36. package/bundles/ngcc/index.js +13 -13
  37. package/bundles/ngcc/main-ngcc.js +14 -14
  38. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +14 -14
  39. package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +4 -4
  40. package/bundles/private/bazel.js +1 -1
  41. package/bundles/private/localize.js +3 -3
  42. package/bundles/private/migrations.js +6 -6
  43. package/bundles/private/tooling.js +3 -3
  44. package/bundles/src/bin/ng_xi18n.js +11 -11
  45. package/bundles/src/bin/ngc.js +9 -9
  46. package/bundles_metadata.json +1 -1
  47. package/ngcc/src/packages/build_marker.d.ts +1 -1
  48. package/package.json +2 -2
  49. package/src/ngtsc/core/src/host.d.ts +1 -0
  50. package/src/ngtsc/metadata/src/api.d.ts +6 -0
  51. package/src/ngtsc/metadata/src/registry.d.ts +3 -2
  52. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -0
  53. package/src/ngtsc/typecheck/api/checker.d.ts +7 -6
  54. package/src/ngtsc/typecheck/api/scope.d.ts +14 -4
  55. package/src/ngtsc/typecheck/api/symbols.d.ts +2 -2
  56. package/src/ngtsc/typecheck/src/checker.d.ts +8 -6
  57. package/bundles/chunk-A5S5H2MN.js.map +0 -6
  58. package/bundles/chunk-TC3DKEFP.js.map +0 -6
@@ -9,7 +9,7 @@
9
9
  import { AbsoluteFsPath } from '../../../src/ngtsc/file_system';
10
10
  import { PackageJsonUpdater } from '../writing/package_json_updater';
11
11
  import { EntryPointPackageJson, PackageJsonFormatProperties } from './entry_point';
12
- export declare const NGCC_VERSION = "15.0.0-next.3";
12
+ export declare const NGCC_VERSION = "15.0.0-next.5";
13
13
  /**
14
14
  * Returns true if there is a format in this entry-point that was compiled with an outdated version
15
15
  * of ngcc.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler-cli",
3
- "version": "15.0.0-next.3",
3
+ "version": "15.0.0-next.5",
4
4
  "description": "Angular - the compiler CLI for Node.js",
5
5
  "typings": "index.d.ts",
6
6
  "bin": {
@@ -65,7 +65,7 @@
65
65
  "yargs": "^17.2.1"
66
66
  },
67
67
  "peerDependencies": {
68
- "@angular/compiler": "15.0.0-next.3",
68
+ "@angular/compiler": "15.0.0-next.5",
69
69
  "typescript": ">=4.6.2 <4.9"
70
70
  },
71
71
  "repository": {
@@ -49,6 +49,7 @@ export declare class DelegatingCompilerHost implements Omit<RequiredDelegations<
49
49
  useCaseSensitiveFileNames: () => boolean;
50
50
  writeFile: ts.WriteFileCallback;
51
51
  getModuleResolutionCache: (() => ts.ModuleResolutionCache | undefined) | undefined;
52
+ hasInvalidatedResolutions: (() => string) | ((fileName: string) => string) | ((fileName: string) => boolean) | ((fileName: string) => string | undefined) | ((s: string) => void) | ((directoryName: string) => boolean) | ((path: string) => string) | ((path: string) => string[]) | ((moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions, containingSourceFile?: ts.SourceFile | undefined) => (ts.ResolvedModule | undefined)[]) | (() => boolean) | (() => Set<string> | undefined) | ((fileName: string) => string | Promise<string>) | ((resourceName: string, containingFilePath: string, fallbackResolve?: ((url: string, fromFile: string) => string | null) | undefined) => string | null) | ((data: string, context: import("@angular/compiler-cli/src/ngtsc/core/api/index").ResourceHostContext) => Promise<import("@angular/compiler-cli/src/ngtsc/core/api/index").TransformResourceResult | null>) | ((importedFilePath: string, containingFilePath: string) => string) | ((fileName: string, path: ts.Path, languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined) => ts.SourceFile | undefined) | (() => ts.CancellationToken) | ((options: ts.CompilerOptions) => string) | (() => string) | ts.WriteFileCallback | (() => string) | ((rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number | undefined) => string[]) | (() => ts.ModuleResolutionCache | undefined) | ((typeReferenceDirectiveNames: string[] | readonly ts.FileReference[], containingFile: string, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions, containingFileMode?: ts.ModuleKind.CommonJS | ts.ModuleKind.ESNext | undefined) => (ts.ResolvedTypeReferenceDirective | undefined)[]) | ((name: string) => string | undefined) | ((data: string) => string) | ((fileName: string) => ts.ParsedCommandLine | undefined) | ((fileName: string, languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined) => ts.SourceFile | undefined) | undefined;
52
53
  }
53
54
  /**
54
55
  * A wrapper around `ts.CompilerHost` (plus any extension methods from `ExtendedTsCompilerHost`).
@@ -215,6 +215,12 @@ export interface MetadataReader {
215
215
  getNgModuleMetadata(node: Reference<ClassDeclaration>): NgModuleMeta | null;
216
216
  getPipeMetadata(node: Reference<ClassDeclaration>): PipeMeta | null;
217
217
  }
218
+ /**
219
+ * A MetadataReader which also allows access to the set of all known directive classes.
220
+ */
221
+ export interface MetadataReaderWithIndex extends MetadataReader {
222
+ getKnownDirectives(): Iterable<ClassDeclaration>;
223
+ }
218
224
  /**
219
225
  * Registers new metadata for directives, pipes, and modules.
220
226
  */
@@ -8,12 +8,12 @@
8
8
  /// <amd-module name="@angular/compiler-cli/src/ngtsc/metadata/src/registry" />
9
9
  import { Reference } from '../../imports';
10
10
  import { ClassDeclaration, ReflectionHost } from '../../reflection';
11
- import { DirectiveMeta, MetadataReader, MetadataRegistry, NgModuleMeta, PipeMeta } from './api';
11
+ import { DirectiveMeta, MetadataReaderWithIndex, MetadataRegistry, NgModuleMeta, PipeMeta } from './api';
12
12
  /**
13
13
  * A registry of directive, pipe, and module metadata for types defined in the current compilation
14
14
  * unit, which supports both reading and registering.
15
15
  */
16
- export declare class LocalMetadataRegistry implements MetadataRegistry, MetadataReader {
16
+ export declare class LocalMetadataRegistry implements MetadataRegistry, MetadataReaderWithIndex {
17
17
  private directives;
18
18
  private ngModules;
19
19
  private pipes;
@@ -23,6 +23,7 @@ export declare class LocalMetadataRegistry implements MetadataRegistry, Metadata
23
23
  registerDirectiveMetadata(meta: DirectiveMeta): void;
24
24
  registerNgModuleMetadata(meta: NgModuleMeta): void;
25
25
  registerPipeMetadata(meta: PipeMeta): void;
26
+ getKnownDirectives(): Iterable<ClassDeclaration>;
26
27
  }
27
28
  /**
28
29
  * A `MetadataRegistry` which registers metadata with multiple delegate `MetadataRegistry`
@@ -41,6 +41,7 @@ export declare class DelegatingCompilerHost implements Omit<RequiredDelegations<
41
41
  trace: ((s: string) => void) | undefined;
42
42
  useCaseSensitiveFileNames: () => boolean;
43
43
  getModuleResolutionCache: (() => ts.ModuleResolutionCache | undefined) | undefined;
44
+ hasInvalidatedResolutions: ((fileName: string, path: ts.Path, languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined) => ts.SourceFile | undefined) | (() => ts.CancellationToken) | ((options: ts.CompilerOptions) => string) | (() => string) | (() => string) | ((fileName: string) => string) | (() => boolean) | (() => string) | ((rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number | undefined) => string[]) | ((moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions, containingSourceFile?: ts.SourceFile | undefined) => (ts.ResolvedModule | undefined)[]) | (() => ts.ModuleResolutionCache | undefined) | ((typeReferenceDirectiveNames: string[] | readonly ts.FileReference[], containingFile: string, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions, containingFileMode?: ts.ModuleKind.CommonJS | ts.ModuleKind.ESNext | undefined) => (ts.ResolvedTypeReferenceDirective | undefined)[]) | ((name: string) => string | undefined) | ((data: string) => string) | ((fileName: string) => ts.ParsedCommandLine | undefined) | ((fileName: string) => string | undefined) | ((s: string) => void) | ((directoryName: string) => boolean) | ((path: string) => string) | ((path: string) => string[]) | ((fileName: string, languageVersionOrOptions: ts.ScriptTarget | ts.CreateSourceFileOptions, onError?: ((message: string) => void) | undefined, shouldCreateNewSourceFile?: boolean | undefined) => ts.SourceFile | undefined) | ((fileName: string) => boolean) | ts.WriteFileCallback | undefined;
44
45
  }
45
46
  /**
46
47
  * Updates a `ts.Program` instance with a new one that incorporates specific changes, using the
@@ -12,7 +12,7 @@ import { AbsoluteFsPath } from '../../../../src/ngtsc/file_system';
12
12
  import { ErrorCode } from '../../diagnostics';
13
13
  import { FullTemplateMapping, NgTemplateDiagnostic, TypeCheckableDirectiveMeta } from './api';
14
14
  import { GlobalCompletion } from './completion';
15
- import { DirectiveInScope, PipeInScope } from './scope';
15
+ import { PotentialDirective, PotentialPipe } from './scope';
16
16
  import { ElementSymbol, Symbol, TcbLocation, TemplateSymbol } from './symbols';
17
17
  /**
18
18
  * Interface to the Angular Template Type Checker to extract diagnostics and intelligence from the
@@ -109,19 +109,20 @@ export interface TemplateTypeChecker {
109
109
  */
110
110
  getLiteralCompletionLocation(strNode: LiteralPrimitive | TmplAstTextAttribute, component: ts.ClassDeclaration): TcbLocation | null;
111
111
  /**
112
- * Get basic metadata on the directives which are in scope for the given component.
112
+ * Get basic metadata on the directives which are in scope or can be imported for the given
113
+ * component.
113
114
  */
114
- getDirectivesInScope(component: ts.ClassDeclaration): DirectiveInScope[] | null;
115
+ getPotentialTemplateDirectives(component: ts.ClassDeclaration): PotentialDirective[];
115
116
  /**
116
117
  * Get basic metadata on the pipes which are in scope for the given component.
117
118
  */
118
- getPipesInScope(component: ts.ClassDeclaration): PipeInScope[] | null;
119
+ getPipesInScope(component: ts.ClassDeclaration): PotentialPipe[] | null;
119
120
  /**
120
- * Retrieve a `Map` of potential template element tags, to either the `DirectiveInScope` that
121
+ * Retrieve a `Map` of potential template element tags, to either the `PotentialDirective` that
121
122
  * declares them (if the tag is from a directive/component), or `null` if the tag originates from
122
123
  * the DOM schema.
123
124
  */
124
- getPotentialElementTags(component: ts.ClassDeclaration): Map<string, DirectiveInScope | null>;
125
+ getPotentialElementTags(component: ts.ClassDeclaration): Map<string, PotentialDirective | null>;
125
126
  /**
126
127
  * Get the primary decorator for an Angular class (such as @Component). This does not work for
127
128
  * `@Injectable`.
@@ -7,12 +7,14 @@
7
7
  */
8
8
  /// <amd-module name="@angular/compiler-cli/src/ngtsc/typecheck/api/scope" />
9
9
  import ts from 'typescript';
10
+ import { Reference } from '../../imports';
10
11
  import { ClassDeclaration } from '../../reflection';
11
12
  import { SymbolWithValueDeclaration } from '../../util/src/typescript';
12
13
  /**
13
- * Metadata on a directive which is available in the scope of a template.
14
+ * Metadata on a directive which is available in a template.
14
15
  */
15
- export interface DirectiveInScope {
16
+ export interface PotentialDirective {
17
+ ref: Reference<ClassDeclaration>;
16
18
  /**
17
19
  * The `ts.Symbol` for the directive class.
18
20
  */
@@ -33,11 +35,15 @@ export interface DirectiveInScope {
33
35
  * `true` if this directive is a structural directive.
34
36
  */
35
37
  isStructural: boolean;
38
+ /**
39
+ * Whether or not this directive is in scope.
40
+ */
41
+ isInScope: boolean;
36
42
  }
37
43
  /**
38
- * Metadata for a pipe which is available in the scope of a template.
44
+ * Metadata for a pipe which is available in a template.
39
45
  */
40
- export interface PipeInScope {
46
+ export interface PotentialPipe {
41
47
  /**
42
48
  * The `ts.Symbol` for the pipe class.
43
49
  */
@@ -46,4 +52,8 @@ export interface PipeInScope {
46
52
  * Name of the pipe.
47
53
  */
48
54
  name: string;
55
+ /**
56
+ * Whether or not this pipe is in scope.
57
+ */
58
+ isInScope: boolean;
49
59
  }
@@ -10,7 +10,7 @@ import { TmplAstElement, TmplAstReference, TmplAstTemplate, TmplAstVariable } fr
10
10
  import ts from 'typescript';
11
11
  import { AbsoluteFsPath } from '../../file_system';
12
12
  import { SymbolWithValueDeclaration } from '../../util/src/typescript';
13
- import { DirectiveInScope } from './scope';
13
+ import { PotentialDirective } from './scope';
14
14
  export declare enum SymbolKind {
15
15
  Input = 0,
16
16
  Output = 1,
@@ -214,7 +214,7 @@ export interface TemplateSymbol {
214
214
  * A representation of a directive/component whose selector matches a node in a component
215
215
  * template.
216
216
  */
217
- export interface DirectiveSymbol extends DirectiveInScope {
217
+ export interface DirectiveSymbol extends PotentialDirective {
218
218
  kind: SymbolKind.Directive;
219
219
  /** The `ts.Type` for the class declaration. */
220
220
  tsType: ts.Type;
@@ -12,12 +12,12 @@ import { ErrorCode } from '../../diagnostics';
12
12
  import { AbsoluteFsPath } from '../../file_system';
13
13
  import { ReferenceEmitter } from '../../imports';
14
14
  import { IncrementalBuild } from '../../incremental/api';
15
- import { MetadataReader } from '../../metadata';
15
+ import { MetadataReader, MetadataReaderWithIndex } from '../../metadata';
16
16
  import { PerfRecorder } from '../../perf';
17
17
  import { ProgramDriver } from '../../program_driver';
18
18
  import { ReflectionHost } from '../../reflection';
19
19
  import { ComponentScopeReader, TypeCheckScopeRegistry } from '../../scope';
20
- import { DirectiveInScope, ElementSymbol, FullTemplateMapping, GlobalCompletion, NgTemplateDiagnostic, OptimizeFor, PipeInScope, ProgramTypeCheckAdapter, TcbLocation, TemplateSymbol, TemplateTypeChecker, TypeCheckableDirectiveMeta, TypeCheckingConfig } from '../api';
20
+ import { ElementSymbol, FullTemplateMapping, GlobalCompletion, NgTemplateDiagnostic, OptimizeFor, PotentialDirective, PotentialPipe, ProgramTypeCheckAdapter, TcbLocation, TemplateSymbol, TemplateTypeChecker, TypeCheckableDirectiveMeta, TypeCheckingConfig } from '../api';
21
21
  import { ShimTypeCheckingData } from './context';
22
22
  import { TemplateSourceManager } from './source';
23
23
  /**
@@ -35,6 +35,7 @@ export declare class TemplateTypeCheckerImpl implements TemplateTypeChecker {
35
35
  private compilerHost;
36
36
  private priorBuild;
37
37
  private readonly metaReader;
38
+ private readonly localMetaReader;
38
39
  private readonly componentScopeReader;
39
40
  private readonly typeCheckScopeRegistry;
40
41
  private readonly perf;
@@ -73,7 +74,7 @@ export declare class TemplateTypeCheckerImpl implements TemplateTypeChecker {
73
74
  */
74
75
  private elementTagCache;
75
76
  private isComplete;
76
- constructor(originalProgram: ts.Program, programDriver: ProgramDriver, typeCheckAdapter: ProgramTypeCheckAdapter, config: TypeCheckingConfig, refEmitter: ReferenceEmitter, reflector: ReflectionHost, compilerHost: Pick<ts.CompilerHost, 'getCanonicalFileName'>, priorBuild: IncrementalBuild<unknown, FileTypeCheckingData>, metaReader: MetadataReader, componentScopeReader: ComponentScopeReader, typeCheckScopeRegistry: TypeCheckScopeRegistry, perf: PerfRecorder);
77
+ constructor(originalProgram: ts.Program, programDriver: ProgramDriver, typeCheckAdapter: ProgramTypeCheckAdapter, config: TypeCheckingConfig, refEmitter: ReferenceEmitter, reflector: ReflectionHost, compilerHost: Pick<ts.CompilerHost, 'getCanonicalFileName'>, priorBuild: IncrementalBuild<unknown, FileTypeCheckingData>, metaReader: MetadataReader, localMetaReader: MetadataReaderWithIndex, componentScopeReader: ComponentScopeReader, typeCheckScopeRegistry: TypeCheckScopeRegistry, perf: PerfRecorder);
77
78
  getTemplate(component: ts.ClassDeclaration): TmplAstNode[] | null;
78
79
  private getLatestComponentState;
79
80
  isTrackedTypeCheckFile(filePath: AbsoluteFsPath): boolean;
@@ -116,10 +117,10 @@ export declare class TemplateTypeCheckerImpl implements TemplateTypeChecker {
116
117
  getSymbolOfNode(node: TmplAstTemplate, component: ts.ClassDeclaration): TemplateSymbol | null;
117
118
  getSymbolOfNode(node: TmplAstElement, component: ts.ClassDeclaration): ElementSymbol | null;
118
119
  private getOrCreateSymbolBuilder;
119
- getDirectivesInScope(component: ts.ClassDeclaration): DirectiveInScope[] | null;
120
- getPipesInScope(component: ts.ClassDeclaration): PipeInScope[] | null;
120
+ getPotentialTemplateDirectives(component: ts.ClassDeclaration): PotentialDirective[];
121
+ getPipesInScope(component: ts.ClassDeclaration): PotentialPipe[] | null;
121
122
  getDirectiveMetadata(dir: ts.ClassDeclaration): TypeCheckableDirectiveMeta | null;
122
- getPotentialElementTags(component: ts.ClassDeclaration): Map<string, DirectiveInScope | null>;
123
+ getPotentialElementTags(component: ts.ClassDeclaration): Map<string, PotentialDirective | null>;
123
124
  getPotentialDomBindings(tagName: string): {
124
125
  attribute: string;
125
126
  property: string;
@@ -128,6 +129,7 @@ export declare class TemplateTypeCheckerImpl implements TemplateTypeChecker {
128
129
  getPrimaryAngularDecorator(target: ts.ClassDeclaration): ts.Decorator | null;
129
130
  getOwningNgModule(component: ts.ClassDeclaration): ts.ClassDeclaration | null;
130
131
  private getScopeData;
132
+ private scopeDataOfDirectiveMeta;
131
133
  }
132
134
  /**
133
135
  * Data for template type-checking related to a specific input file in the user's program (which