@angular/build 22.2.0-next.5 → 22.2.0-next.6

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 (138) hide show
  1. package/package.json +7 -6
  2. package/src/builders/application/build-action.js +47 -39
  3. package/src/builders/application/build-action.js.map +1 -1
  4. package/src/builders/application/execute-build.js +1 -1
  5. package/src/builders/application/execute-build.js.map +1 -1
  6. package/src/builders/application/execute-post-bundle.js +2 -5
  7. package/src/builders/application/execute-post-bundle.js.map +1 -1
  8. package/src/builders/application/i18n.js +6 -8
  9. package/src/builders/application/i18n.js.map +1 -1
  10. package/src/builders/application/index.js +2 -2
  11. package/src/builders/application/index.js.map +1 -1
  12. package/src/builders/application/results.d.ts +3 -2
  13. package/src/builders/dev-server/vite/index.js +4 -7
  14. package/src/builders/dev-server/vite/index.js.map +1 -1
  15. package/src/builders/dev-server/vite/server.js +1 -1
  16. package/src/builders/dev-server/vite/server.js.map +1 -1
  17. package/src/builders/dev-server/vite/utils.d.ts +1 -1
  18. package/src/builders/dev-server/vite/utils.js +9 -4
  19. package/src/builders/dev-server/vite/utils.js.map +1 -1
  20. package/src/builders/extract-i18n/application-extraction.js +6 -5
  21. package/src/builders/extract-i18n/application-extraction.js.map +1 -1
  22. package/src/builders/karma/application_builder.js +1 -1
  23. package/src/builders/karma/application_builder.js.map +1 -1
  24. package/src/builders/karma/assets-middleware.d.ts +2 -2
  25. package/src/builders/karma/assets-middleware.js +5 -2
  26. package/src/builders/karma/assets-middleware.js.map +1 -1
  27. package/src/builders/karma/progress-reporter.js +7 -5
  28. package/src/builders/karma/progress-reporter.js.map +1 -1
  29. package/src/builders/karma/utils.d.ts +2 -1
  30. package/src/builders/karma/utils.js +2 -2
  31. package/src/builders/karma/utils.js.map +1 -1
  32. package/src/builders/unit-test/builder.js +1 -1
  33. package/src/builders/unit-test/options.d.ts +1 -0
  34. package/src/builders/unit-test/options.js +2 -1
  35. package/src/builders/unit-test/options.js.map +1 -1
  36. package/src/builders/unit-test/runners/vitest/build-options.js +5 -6
  37. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
  38. package/src/builders/unit-test/runners/vitest/executor.js +4 -4
  39. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
  40. package/src/builders/unit-test/schema.d.ts +7 -0
  41. package/src/builders/unit-test/schema.js.map +1 -1
  42. package/src/builders/unit-test/schema.json +5 -0
  43. package/src/private.d.ts +1 -1
  44. package/src/private.js +4 -3
  45. package/src/private.js.map +1 -1
  46. package/src/tools/angular/compilation/angular-compilation.d.ts +3 -8
  47. package/src/tools/angular/compilation/angular-compilation.js +2 -88
  48. package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
  49. package/src/tools/angular/compilation/aot-compilation.d.ts +5 -5
  50. package/src/tools/angular/compilation/aot-compilation.js +9 -13
  51. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  52. package/src/tools/angular/compilation/compiler-options.d.ts +24 -0
  53. package/src/tools/angular/compilation/compiler-options.js +135 -0
  54. package/src/tools/angular/compilation/compiler-options.js.map +1 -0
  55. package/src/tools/angular/compilation/index.d.ts +1 -1
  56. package/src/tools/angular/compilation/index.js +1 -3
  57. package/src/tools/angular/compilation/index.js.map +1 -1
  58. package/src/tools/angular/compilation/jit-compilation.d.ts +5 -5
  59. package/src/tools/angular/compilation/jit-compilation.js +8 -15
  60. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  61. package/src/tools/angular/compilation/parallel-compilation.d.ts +2 -7
  62. package/src/tools/angular/compilation/parallel-compilation.js +3 -29
  63. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  64. package/src/tools/angular/compilation/parallel-worker.d.ts +2 -2
  65. package/src/tools/angular/compilation/parallel-worker.js +3 -12
  66. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  67. package/src/tools/angular/compilation/typescript-compilation.d.ts +24 -0
  68. package/src/tools/angular/compilation/typescript-compilation.js +107 -0
  69. package/src/tools/angular/compilation/typescript-compilation.js.map +1 -0
  70. package/src/tools/esbuild/angular/compilation-state.d.ts +23 -3
  71. package/src/tools/esbuild/angular/compilation-state.js +51 -13
  72. package/src/tools/esbuild/angular/compilation-state.js.map +1 -1
  73. package/src/tools/esbuild/angular/compiler-plugin.js +36 -101
  74. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  75. package/src/tools/esbuild/bundler-execution-result.d.ts +1 -0
  76. package/src/tools/esbuild/bundler-execution-result.js +2 -2
  77. package/src/tools/esbuild/bundler-execution-result.js.map +1 -1
  78. package/src/tools/esbuild/i18n-inliner-worker.d.ts +47 -55
  79. package/src/tools/esbuild/i18n-inliner-worker.js +67 -98
  80. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
  81. package/src/tools/esbuild/i18n-inliner.d.ts +9 -10
  82. package/src/tools/esbuild/i18n-inliner.js +215 -120
  83. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  84. package/src/tools/esbuild/i18n-translation-encoder.d.ts +2 -1
  85. package/src/tools/esbuild/i18n-translation-encoder.js.map +1 -1
  86. package/src/tools/esbuild/i18n-translation-reader.d.ts +4 -3
  87. package/src/tools/esbuild/i18n-translation-reader.js.map +1 -1
  88. package/src/tools/esbuild/javascript-transformer-worker.js +8 -4
  89. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
  90. package/src/tools/esbuild/javascript-transformer.js +53 -1
  91. package/src/tools/esbuild/javascript-transformer.js.map +1 -1
  92. package/src/tools/esbuild/sqlite-cache-store.d.ts +8 -0
  93. package/src/tools/esbuild/sqlite-cache-store.js +19 -7
  94. package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
  95. package/src/tools/esbuild/stylesheets/sass-language.js +19 -14
  96. package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
  97. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +1 -1
  98. package/src/tools/esbuild/utils.d.ts +1 -1
  99. package/src/tools/esbuild/utils.js.map +1 -1
  100. package/src/tools/oxc/oxc-transform.js +75 -117
  101. package/src/tools/oxc/oxc-transform.js.map +1 -1
  102. package/src/tools/oxc/traversal.d.ts +32 -0
  103. package/src/tools/oxc/traversal.js +299 -0
  104. package/src/tools/oxc/traversal.js.map +1 -0
  105. package/src/tools/sass/rebasing-importer.d.ts +8 -14
  106. package/src/tools/sass/rebasing-importer.js +18 -24
  107. package/src/tools/sass/rebasing-importer.js.map +1 -1
  108. package/src/tools/sass/sass-service.d.ts +11 -38
  109. package/src/tools/sass/sass-service.js +124 -187
  110. package/src/tools/sass/sass-service.js.map +1 -1
  111. package/src/utils/environment-options.d.ts +12 -0
  112. package/src/utils/environment-options.js +20 -12
  113. package/src/utils/environment-options.js.map +1 -1
  114. package/src/utils/i18n-options.d.ts +2 -1
  115. package/src/utils/i18n-options.js.map +1 -1
  116. package/src/utils/normalize-cache.d.ts +11 -1
  117. package/src/utils/normalize-cache.js +6 -3
  118. package/src/utils/normalize-cache.js.map +1 -1
  119. package/src/utils/purge-cache.js +24 -13
  120. package/src/utils/purge-cache.js.map +1 -1
  121. package/src/utils/server-rendering/prerender.d.ts +2 -1
  122. package/src/utils/server-rendering/prerender.js +31 -18
  123. package/src/utils/server-rendering/prerender.js.map +1 -1
  124. package/src/utils/server-rendering/render-worker.d.ts +6 -4
  125. package/src/utils/server-rendering/render-worker.js +3 -1
  126. package/src/utils/server-rendering/render-worker.js.map +1 -1
  127. package/src/utils/test-files.d.ts +2 -2
  128. package/src/utils/test-files.js +3 -3
  129. package/src/utils/test-files.js.map +1 -1
  130. package/src/tools/angular/compilation/noop-compilation.d.ts +0 -15
  131. package/src/tools/angular/compilation/noop-compilation.js +0 -27
  132. package/src/tools/angular/compilation/noop-compilation.js.map +0 -1
  133. package/src/tools/sass/worker.d.ts +0 -63
  134. package/src/tools/sass/worker.js +0 -202
  135. package/src/tools/sass/worker.js.map +0 -1
  136. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.d.ts +0 -0
  137. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js +0 -0
  138. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js.map +0 -0
@@ -46,13 +46,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.JitCompilation = void 0;
47
47
  const node_assert_1 = __importDefault(require("node:assert"));
48
48
  const typescript_1 = __importDefault(require("typescript"));
49
- const path_1 = require("../../../utils/path");
50
49
  const profiling_1 = require("../../esbuild/profiling");
51
50
  const angular_host_1 = require("../angular-host");
52
51
  const jit_resource_transformer_1 = require("../transformers/jit-resource-transformer");
53
52
  const lazy_routes_transformer_1 = require("../transformers/lazy-routes-transformer");
54
53
  const web_worker_transformer_1 = require("../transformers/web-worker-transformer");
55
54
  const angular_compilation_1 = require("./angular-compilation");
55
+ const compiler_options_1 = require("./compiler-options");
56
+ const typescript_compilation_1 = require("./typescript-compilation");
56
57
  class JitCompilationState {
57
58
  compilerHost;
58
59
  typeScriptProgram;
@@ -67,34 +68,31 @@ class JitCompilationState {
67
68
  this.webWorkerTransform = webWorkerTransform;
68
69
  }
69
70
  }
70
- class JitCompilation extends angular_compilation_1.AngularCompilation {
71
+ class JitCompilation extends typescript_compilation_1.TypeScriptCompilation {
71
72
  browserOnlyBuild;
72
73
  #state;
73
- #sourceFiles = new Map();
74
74
  constructor(browserOnlyBuild) {
75
75
  super();
76
76
  this.browserOnlyBuild = browserOnlyBuild;
77
77
  }
78
- async initialize(tsconfig, hostOptions, compilerOptionsTransformer) {
78
+ async initialize(tsconfig, hostOptions, compilerOptionOverrides) {
79
79
  // Dynamically load the Angular compiler CLI package
80
80
  const { constructorParametersDownlevelTransform } = await Promise.resolve().then(() => __importStar(require('@angular/compiler-cli/private/tooling')));
81
81
  // Load the compiler configuration and transform as needed
82
82
  const { options: originalCompilerOptions, rootNames, errors: configurationDiagnostics, } = await this.loadConfiguration(tsconfig);
83
- const compilerOptions = compilerOptionsTransformer?.(originalCompilerOptions) ?? originalCompilerOptions;
83
+ const { compilerOptions, warnings } = (0, compiler_options_1.transformCompilerOptions)(typescript_1.default, originalCompilerOptions, compilerOptionOverrides, tsconfig);
84
84
  if (hostOptions.modifiedFiles) {
85
- for (const modifiedFile of hostOptions.modifiedFiles) {
86
- this.#sourceFiles.delete((0, path_1.toPosixPath)(modifiedFile));
87
- }
85
+ this.invalidateFiles(hostOptions.modifiedFiles);
88
86
  }
89
87
  // Create Angular compiler host
90
- const host = (0, angular_host_1.createAngularCompilerHost)(typescript_1.default, compilerOptions, hostOptions, undefined, this.#sourceFiles);
88
+ const host = (0, angular_host_1.createAngularCompilerHost)(typescript_1.default, compilerOptions, hostOptions, undefined, this.sourceFiles);
91
89
  // Create the TypeScript Program
92
90
  const typeScriptProgram = (0, profiling_1.profileSync)('TS_CREATE_PROGRAM', () => typescript_1.default.createEmitAndSemanticDiagnosticsBuilderProgram(rootNames, compilerOptions, host, this.#state?.typeScriptProgram ?? typescript_1.default.readBuilderProgram(compilerOptions, host), configurationDiagnostics));
93
91
  this.#state = new JitCompilationState(host, typeScriptProgram, constructorParametersDownlevelTransform(typeScriptProgram.getProgram()), (0, jit_resource_transformer_1.createJitResourceTransformer)(() => typeScriptProgram.getProgram().getTypeChecker()), (0, web_worker_transformer_1.createWorkerTransformer)(hostOptions.processWebWorker.bind(hostOptions)));
94
92
  const referencedFiles = typeScriptProgram
95
93
  .getSourceFiles()
96
94
  .map((sourceFile) => sourceFile.fileName);
97
- return { compilerOptions, referencedFiles };
95
+ return { compilerOptions, referencedFiles, warnings };
98
96
  }
99
97
  *collectDiagnostics(modes) {
100
98
  (0, node_assert_1.default)(this.#state, 'Compilation must be initialized prior to collecting diagnostics.');
@@ -143,11 +141,6 @@ class JitCompilation extends angular_compilation_1.AngularCompilation {
143
141
  }
144
142
  return emittedFiles;
145
143
  }
146
- async update(files) {
147
- for (const file of files) {
148
- this.#sourceFiles.delete((0, path_1.toPosixPath)(file));
149
- }
150
- }
151
144
  }
152
145
  exports.JitCompilation = JitCompilation;
153
146
  //# sourceMappingURL=jit-compilation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jit-compilation.js","sourceRoot":"","sources":["jit-compilation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jit-compilation.js","sourceRoot":"","sources":["jit-compilation.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import type { CompilerOptions } from '@angular/compiler-cli';
9
8
  import type { PartialMessage } from 'esbuild';
10
9
  import type { AngularHostOptions } from '../angular-host';
11
10
  import { AngularCompilation, AngularCompilationResult, DiagnosticModes, EmitFileResult } from './angular-compilation';
11
+ import type { CompilerOptionOverrides } from './compiler-options';
12
12
  /**
13
13
  * An Angular compilation which uses a Node.js Worker thread to load and execute
14
14
  * the TypeScript and Angular compilers. This allows for longer synchronous actions
@@ -22,12 +22,7 @@ export declare class ParallelCompilation extends AngularCompilation {
22
22
  private readonly jit;
23
23
  private readonly browserOnlyBuild;
24
24
  constructor(jit: boolean, browserOnlyBuild: boolean);
25
- initialize(tsconfig: string, hostOptions: AngularHostOptions, compilerOptionsTransformer?: (compilerOptions: CompilerOptions) => CompilerOptions): Promise<AngularCompilationResult>;
26
- /**
27
- * This is not needed with this compilation type since the worker will already send a response
28
- * with the serializable esbuild compatible diagnostics.
29
- */
30
- protected collectDiagnostics(): never;
25
+ initialize(tsconfig: string, hostOptions: AngularHostOptions, compilerOptionOverrides?: CompilerOptionOverrides): Promise<AngularCompilationResult>;
31
26
  diagnoseFiles(modes?: DiagnosticModes): Promise<{
32
27
  errors?: PartialMessage[];
33
28
  warnings?: PartialMessage[];
@@ -38,7 +38,7 @@ class ParallelCompilation extends angular_compilation_1.AngularCompilation {
38
38
  filename: localRequire.resolve('./parallel-worker'),
39
39
  });
40
40
  }
41
- async initialize(tsconfig, hostOptions, compilerOptionsTransformer) {
41
+ async initialize(tsconfig, hostOptions, compilerOptionOverrides) {
42
42
  const stylesheetChannel = new node_worker_threads_1.MessageChannel();
43
43
  // The request identifier is required because Angular can issue multiple concurrent requests
44
44
  stylesheetChannel.port1.on('message', ({ requestId, data, containingFile, stylesheetFile, order, className }) => {
@@ -66,23 +66,6 @@ class ParallelCompilation extends angular_compilation_1.AngularCompilation {
66
66
  Atomics.notify(webWorkerSignal, 0);
67
67
  }
68
68
  });
69
- // The compiler options transformation is a synchronous operation and uses shared memory combined
70
- // with the Atomics API to block execution here until a response is received.
71
- const optionsChannel = new node_worker_threads_1.MessageChannel();
72
- const optionsSignal = new Int32Array(new SharedArrayBuffer(4));
73
- optionsChannel.port1.on('message', (compilerOptions) => {
74
- try {
75
- const transformedOptions = compilerOptionsTransformer?.(compilerOptions) ?? compilerOptions;
76
- optionsChannel.port1.postMessage({ transformedOptions });
77
- }
78
- catch (error) {
79
- optionsChannel.port1.postMessage({ error });
80
- }
81
- finally {
82
- Atomics.store(optionsSignal, 0, 1);
83
- Atomics.notify(optionsSignal, 0);
84
- }
85
- });
86
69
  let success = false;
87
70
  try {
88
71
  // Execute the initialize function in the worker thread
@@ -91,34 +74,25 @@ class ParallelCompilation extends angular_compilation_1.AngularCompilation {
91
74
  tsconfig,
92
75
  jit: this.jit,
93
76
  browserOnlyBuild: this.browserOnlyBuild,
77
+ compilerOptionOverrides,
94
78
  stylesheetPort: stylesheetChannel.port2,
95
- optionsPort: optionsChannel.port2,
96
- optionsSignal,
97
79
  webWorkerPort: webWorkerChannel.port2,
98
80
  webWorkerSignal,
99
81
  }, {
100
82
  name: 'initialize',
101
- transferList: [stylesheetChannel.port2, optionsChannel.port2, webWorkerChannel.port2],
83
+ transferList: [stylesheetChannel.port2, webWorkerChannel.port2],
102
84
  });
103
85
  success = true;
104
86
  return result;
105
87
  }
106
88
  finally {
107
89
  stylesheetChannel.port1.close();
108
- optionsChannel.port1.close();
109
90
  if (!success) {
110
91
  this.#webWorkerChannel?.port1.close();
111
92
  this.#webWorkerChannel = undefined;
112
93
  }
113
94
  }
114
95
  }
115
- /**
116
- * This is not needed with this compilation type since the worker will already send a response
117
- * with the serializable esbuild compatible diagnostics.
118
- */
119
- collectDiagnostics() {
120
- throw new Error('Not implemented in ParallelCompilation.');
121
- }
122
96
  async diagnoseFiles(modes = angular_compilation_1.DiagnosticModes.All) {
123
97
  const { timings, ...result } = await this.#worker.run(modes, { name: 'diagnose' });
124
98
  if (timings) {
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-compilation.js","sourceRoot":"","sources":["parallel-compilation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallel-compilation.js","sourceRoot":"","sources":["parallel-compilation.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,14 @@
8
8
  import type { PartialMessage } from 'esbuild';
9
9
  import { type MessagePort } from 'node:worker_threads';
10
10
  import type { AngularCompilationResult, DiagnosticModes } from './angular-compilation';
11
+ import type { CompilerOptionOverrides } from './compiler-options';
11
12
  export interface InitRequest {
12
13
  jit: boolean;
13
14
  browserOnlyBuild: boolean;
14
15
  tsconfig: string;
15
16
  fileReplacements?: Record<string, string>;
17
+ compilerOptionOverrides?: CompilerOptionOverrides;
16
18
  stylesheetPort: MessagePort;
17
- optionsPort: MessagePort;
18
- optionsSignal: Int32Array;
19
19
  webWorkerPort: MessagePort;
20
20
  webWorkerSignal: Int32Array;
21
21
  }
@@ -48,7 +48,7 @@ async function initialize(request) {
48
48
  }
49
49
  }
50
50
  });
51
- const { compilerOptions, referencedFiles, externalStylesheets, templateUpdates, componentResourcesDependencies, } = await compilation.initialize(request.tsconfig, {
51
+ const { compilerOptions, referencedFiles, externalStylesheets, templateUpdates, componentResourcesDependencies, warnings, } = await compilation.initialize(request.tsconfig, {
52
52
  fileReplacements: request.fileReplacements,
53
53
  modifiedFiles: currentModifiedFiles,
54
54
  transformStylesheet(data, containingFile, stylesheetFile, order, className) {
@@ -74,21 +74,13 @@ async function initialize(request) {
74
74
  }
75
75
  return result?.workerCodeFile ?? workerFile;
76
76
  },
77
- }, (compilerOptions) => {
78
- Atomics.store(request.optionsSignal, 0, 0);
79
- request.optionsPort.postMessage(compilerOptions);
80
- Atomics.wait(request.optionsSignal, 0, 0);
81
- const result = (0, node_worker_threads_1.receiveMessageOnPort)(request.optionsPort)?.message;
82
- if (result?.error) {
83
- throw result.error;
84
- }
85
- return result?.transformedOptions ?? compilerOptions;
86
- });
77
+ }, request.compilerOptionOverrides);
87
78
  success = true;
88
79
  return {
89
80
  externalStylesheets,
90
81
  templateUpdates,
91
82
  referencedFiles,
83
+ warnings,
92
84
  // TODO: Expand? `allowJs`, `isolatedModules`, `sourceMap`, `inlineSourceMap` are the only fields needed currently.
93
85
  compilerOptions: {
94
86
  allowJs: compilerOptions.allowJs,
@@ -102,7 +94,6 @@ async function initialize(request) {
102
94
  }
103
95
  finally {
104
96
  request.stylesheetPort.close();
105
- request.optionsPort.close();
106
97
  if (!success) {
107
98
  activeWebWorkerPort?.close();
108
99
  activeWebWorkerPort = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-worker.js","sourceRoot":"","sources":["parallel-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallel-worker.js","sourceRoot":"","sources":["parallel-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type * as ng from '@angular/compiler-cli';
9
+ import type { PartialMessage } from 'esbuild';
10
+ import ts from 'typescript';
11
+ import { AngularCompilation, DiagnosticModes } from './angular-compilation';
12
+ export declare abstract class TypeScriptCompilation extends AngularCompilation {
13
+ #private;
14
+ static loadCompilerCli(): Promise<typeof ng>;
15
+ protected loadConfiguration(tsconfig: string): Promise<ng.ParsedConfiguration>;
16
+ protected readonly sourceFiles: Map<string, ts.SourceFile>;
17
+ protected invalidateFiles(files: Iterable<string>): void;
18
+ update(files: Set<string>): Promise<void>;
19
+ protected abstract collectDiagnostics(modes: DiagnosticModes): Iterable<ts.Diagnostic> | Promise<Iterable<ts.Diagnostic>>;
20
+ diagnoseFiles(modes?: DiagnosticModes): Promise<{
21
+ errors?: PartialMessage[];
22
+ warnings?: PartialMessage[];
23
+ }>;
24
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.TypeScriptCompilation = void 0;
47
+ const typescript_1 = __importDefault(require("typescript"));
48
+ const path_1 = require("../../../utils/path");
49
+ const profiling_1 = require("../../esbuild/profiling");
50
+ const angular_compilation_1 = require("./angular-compilation");
51
+ const diagnostics_1 = require("./diagnostics");
52
+ class TypeScriptCompilation extends angular_compilation_1.AngularCompilation {
53
+ static #angularCompilerCliModule;
54
+ static async loadCompilerCli() {
55
+ TypeScriptCompilation.#angularCompilerCliModule ??= await Promise.resolve().then(() => __importStar(require('@angular/compiler-cli')));
56
+ return TypeScriptCompilation.#angularCompilerCliModule;
57
+ }
58
+ async loadConfiguration(tsconfig) {
59
+ const { readConfiguration } = await TypeScriptCompilation.loadCompilerCli();
60
+ return (0, profiling_1.profileSync)('NG_READ_CONFIG', () => readConfiguration(tsconfig, {
61
+ // Angular specific configuration defaults and overrides to ensure a functioning compilation.
62
+ suppressOutputPathCheck: true,
63
+ outDir: undefined,
64
+ sourceMap: false,
65
+ declaration: false,
66
+ declarationMap: false,
67
+ allowEmptyCodegenFiles: false,
68
+ annotationsAs: 'decorators',
69
+ enableResourceInlining: false,
70
+ supportTestBed: false,
71
+ supportJitMode: false,
72
+ // Disable removing of comments as TS is quite aggressive with these and can
73
+ // remove important annotations, such as /* @__PURE__ */ and comments like /* vite-ignore */.
74
+ removeComments: false,
75
+ }));
76
+ }
77
+ sourceFiles = new Map();
78
+ invalidateFiles(files) {
79
+ for (const file of files) {
80
+ this.sourceFiles.delete((0, path_1.toPosixPath)(file));
81
+ }
82
+ }
83
+ async update(files) {
84
+ this.invalidateFiles(files);
85
+ }
86
+ async diagnoseFiles(modes = angular_compilation_1.DiagnosticModes.All) {
87
+ if (modes === angular_compilation_1.DiagnosticModes.None) {
88
+ return {};
89
+ }
90
+ const result = {};
91
+ await (0, profiling_1.profileAsync)('NG_DIAGNOSTICS_TOTAL', async () => {
92
+ const diagnostics = await this.collectDiagnostics(modes);
93
+ for (const diagnostic of diagnostics) {
94
+ const message = (0, diagnostics_1.convertTypeScriptDiagnostic)(typescript_1.default, diagnostic);
95
+ if (diagnostic.category === typescript_1.default.DiagnosticCategory.Error) {
96
+ (result.errors ??= []).push(message);
97
+ }
98
+ else {
99
+ (result.warnings ??= []).push(message);
100
+ }
101
+ }
102
+ });
103
+ return result;
104
+ }
105
+ }
106
+ exports.TypeScriptCompilation = TypeScriptCompilation;
107
+ //# sourceMappingURL=typescript-compilation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-compilation.js","sourceRoot":"","sources":["typescript-compilation.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,4DAA4B;AAC5B,8CAAkD;AAClD,uDAAoE;AACpE,+DAA4E;AAC5E,+CAA4D;AAE5D,MAAsB,qBAAsB,SAAQ,wCAAkB;IACpE,MAAM,CAAC,yBAAyB,CAAa;IAE7C,MAAM,CAAC,KAAK,CAAC,eAAe;QAC1B,qBAAqB,CAAC,yBAAyB,KAAK,wDAAa,uBAAuB,GAAC,CAAC;QAE1F,OAAO,qBAAqB,CAAC,yBAAyB,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAChD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,qBAAqB,CAAC,eAAe,EAAE,CAAC;QAE5E,OAAO,IAAA,uBAAW,EAAC,gBAAgB,EAAE,GAAG,EAAE,CACxC,iBAAiB,CAAC,QAAQ,EAAE;YAC1B,6FAA6F;YAC7F,uBAAuB,EAAE,IAAI;YAC7B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,KAAK;YACrB,sBAAsB,EAAE,KAAK;YAC7B,aAAa,EAAE,YAAY;YAC3B,sBAAsB,EAAE,KAAK;YAC7B,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;YACrB,4EAA4E;YAC5E,6FAA6F;YAC7F,cAAc,EAAE,KAAK;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;IAEkB,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,eAAe,CAAC,KAAuB;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,KAAkB;QACtC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAMQ,KAAK,CAAC,aAAa,CAC1B,KAAK,GAAG,qCAAe,CAAC,GAAG;QAE3B,IAAI,KAAK,KAAK,qCAAe,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAA+D,EAAE,CAAC;QAE9E,MAAM,IAAA,wBAAY,EAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAEzD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAA,yCAA2B,EAAC,oBAAE,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,UAAU,CAAC,QAAQ,KAAK,oBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBACxD,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxED,sDAwEC"}
@@ -5,14 +5,34 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import { type AngularCompilation } from '../../angular/compilation';
9
- export declare class AngularCompilationContext {
8
+ import type { CompilerOptions } from '@angular/compiler-cli';
9
+ import type { AngularCompilation } from '../../angular/compilation';
10
+ export declare abstract class AngularCompilationContext {
11
+ abstract readonly compilation?: AngularCompilation;
12
+ abstract isPrimary(): this is PrimaryCompilationContext;
13
+ abstract readonly waitUntilReady: Promise<boolean>;
14
+ abstract getCompilerOptions(): Promise<CompilerOptions>;
15
+ abstract dispose(): Promise<void>;
16
+ createSecondaryContext(): AngularCompilationContext;
17
+ }
18
+ export declare class PrimaryCompilationContext extends AngularCompilationContext {
10
19
  #private;
11
20
  constructor(compilation: AngularCompilation);
21
+ isPrimary(): this is PrimaryCompilationContext;
12
22
  get compilation(): AngularCompilation;
13
23
  get waitUntilReady(): Promise<boolean>;
24
+ getCompilerOptions(): Promise<CompilerOptions>;
25
+ setCompilerOptions(options: CompilerOptions): void;
14
26
  markAsReady(hasErrors: boolean): void;
15
27
  markAsInProgress(): void;
16
28
  dispose(): Promise<void>;
17
- createSecondaryContext(): AngularCompilationContext;
29
+ }
30
+ export declare class SecondaryCompilationContext extends AngularCompilationContext {
31
+ private readonly primaryContext?;
32
+ constructor(primaryContext?: AngularCompilationContext | undefined);
33
+ isPrimary(): this is PrimaryCompilationContext;
34
+ get compilation(): undefined;
35
+ get waitUntilReady(): Promise<boolean>;
36
+ getCompilerOptions(): Promise<CompilerOptions>;
37
+ dispose(): Promise<void>;
18
38
  }
@@ -7,17 +7,29 @@
7
7
  * found in the LICENSE file at https://angular.dev/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.AngularCompilationContext = void 0;
11
- const compilation_1 = require("../../angular/compilation");
10
+ exports.SecondaryCompilationContext = exports.PrimaryCompilationContext = exports.AngularCompilationContext = void 0;
12
11
  class AngularCompilationContext {
12
+ createSecondaryContext() {
13
+ return new SecondaryCompilationContext(this);
14
+ }
15
+ }
16
+ exports.AngularCompilationContext = AngularCompilationContext;
17
+ class PrimaryCompilationContext extends AngularCompilationContext {
13
18
  #compilation;
14
19
  #pendingCompilation = true;
15
20
  #resolveCompilationReady;
16
21
  #compilationReadyPromise;
17
22
  #hasErrors = true;
23
+ #compilerOptions;
24
+ #resolveCompilerOptions;
25
+ #compilerOptionsPromise;
18
26
  constructor(compilation) {
27
+ super();
19
28
  this.#compilation = compilation;
20
29
  }
30
+ isPrimary() {
31
+ return true;
32
+ }
21
33
  get compilation() {
22
34
  return this.#compilation;
23
35
  }
@@ -30,14 +42,39 @@ class AngularCompilationContext {
30
42
  });
31
43
  return this.#compilationReadyPromise;
32
44
  }
45
+ getCompilerOptions() {
46
+ if (this.#compilerOptions) {
47
+ return Promise.resolve(this.#compilerOptions);
48
+ }
49
+ if (!this.#pendingCompilation) {
50
+ return Promise.resolve({});
51
+ }
52
+ this.#compilerOptionsPromise ??= new Promise((resolve) => {
53
+ this.#resolveCompilerOptions = resolve;
54
+ });
55
+ return this.#compilerOptionsPromise;
56
+ }
57
+ setCompilerOptions(options) {
58
+ this.#compilerOptions = options;
59
+ this.#resolveCompilerOptions?.(options);
60
+ this.#resolveCompilerOptions = undefined;
61
+ this.#compilerOptionsPromise = undefined;
62
+ }
33
63
  markAsReady(hasErrors) {
34
64
  this.#hasErrors = hasErrors;
35
65
  this.#resolveCompilationReady?.(hasErrors);
66
+ this.#resolveCompilationReady = undefined;
36
67
  this.#compilationReadyPromise = undefined;
37
68
  this.#pendingCompilation = false;
69
+ if (this.#resolveCompilerOptions) {
70
+ this.#resolveCompilerOptions(this.#compilerOptions ?? {});
71
+ this.#resolveCompilerOptions = undefined;
72
+ this.#compilerOptionsPromise = undefined;
73
+ }
38
74
  }
39
75
  markAsInProgress() {
40
76
  this.#pendingCompilation = true;
77
+ this.#compilerOptions = undefined;
41
78
  }
42
79
  #disposal;
43
80
  dispose() {
@@ -53,28 +90,29 @@ class AngularCompilationContext {
53
90
  // Suppress closure errors to avoid unhandled rejections during teardown.
54
91
  }
55
92
  }
56
- createSecondaryContext() {
57
- return new SecondaryCompilationContext(this);
58
- }
59
93
  }
60
- exports.AngularCompilationContext = AngularCompilationContext;
94
+ exports.PrimaryCompilationContext = PrimaryCompilationContext;
61
95
  class SecondaryCompilationContext extends AngularCompilationContext {
62
96
  primaryContext;
63
97
  constructor(primaryContext) {
64
- super(new compilation_1.NoopCompilation());
98
+ super();
65
99
  this.primaryContext = primaryContext;
66
100
  }
67
- get waitUntilReady() {
68
- return this.primaryContext.waitUntilReady;
101
+ isPrimary() {
102
+ return false;
69
103
  }
70
- markAsReady(hasErrors) {
71
- // No-op: secondary contexts do not control compilation state
104
+ get compilation() {
105
+ return undefined;
72
106
  }
73
- markAsInProgress() {
74
- // No-op: secondary contexts do not control compilation state
107
+ get waitUntilReady() {
108
+ return this.primaryContext?.waitUntilReady ?? Promise.resolve(false);
109
+ }
110
+ getCompilerOptions() {
111
+ return this.primaryContext?.getCompilerOptions() ?? Promise.resolve({});
75
112
  }
76
113
  async dispose() {
77
114
  // No-op for secondary context to avoid disposing the primary compilation worker
78
115
  }
79
116
  }
117
+ exports.SecondaryCompilationContext = SecondaryCompilationContext;
80
118
  //# sourceMappingURL=compilation-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compilation-state.js","sourceRoot":"","sources":["compilation-state.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2DAAqF;AAErF,MAAa,yBAAyB;IACpC,YAAY,CAAqB;IACjC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,wBAAwB,CAAyC;IACjE,wBAAwB,CAA+B;IACvD,UAAU,GAAG,IAAI,CAAC;IAElB,YAAY,WAA+B;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,wBAAwB,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,SAAkB;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,SAAS,CAA4B;IAErC,OAAO;QACL,4EAA4E;QAC5E,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AAzDD,8DAyDC;AAED,MAAM,2BAA4B,SAAQ,yBAAyB;IAC7C;IAApB,YAAoB,cAAyC;QAC3D,KAAK,CAAC,IAAI,6BAAe,EAAE,CAAC,CAAC;QADX,mBAAc,GAAd,cAAc,CAA2B;IAE7D,CAAC;IAED,IAAa,cAAc;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,CAAC;IAEQ,WAAW,CAAC,SAAkB;QACrC,6DAA6D;IAC/D,CAAC;IAEQ,gBAAgB;QACvB,6DAA6D;IAC/D,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,gFAAgF;IAClF,CAAC;CACF"}
1
+ {"version":3,"file":"compilation-state.js","sourceRoot":"","sources":["compilation-state.ts"],"names":[],"mappings":"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"}