@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
@@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.I18nInliner = void 0;
14
14
  const node_assert_1 = __importDefault(require("node:assert"));
15
+ const node_module_1 = require("node:module");
15
16
  const node_path_1 = require("node:path");
16
17
  const node_v8_1 = require("node:v8");
17
18
  const hash_1 = require("../../utils/hash");
@@ -19,16 +20,29 @@ const worker_pool_1 = require("../../utils/worker-pool");
19
20
  const bundler_files_1 = require("./bundler-files");
20
21
  const cache_1 = require("./cache");
21
22
  const i18n_translation_encoder_1 = require("./i18n-translation-encoder");
23
+ // TODO: Convert to import.meta usage during ESM transition
24
+ const localRequire = (0, node_module_1.createRequire)(__filename);
25
+ const INLINER_WORKER_PATH = localRequire.resolve('./i18n-inliner-worker');
22
26
  /**
23
27
  * A keyword used to indicate if a JavaScript file may require inlining of translations.
24
28
  * This keyword is used to avoid processing files that would not otherwise need i18n processing.
25
29
  */
26
30
  const LOCALIZE_KEYWORD = '$localize';
27
31
  /**
28
- * The maximum number of locales to process concurrently in a single sliding window.
29
- * This caps peak worker memory while maintaining multi-locale batching throughput.
32
+ * The baseline number of locales to process concurrently in a single sliding window.
33
+ * This caps peak worker memory on low-core machines while maintaining multi-locale batching throughput.
30
34
  */
31
35
  const DEFAULT_LOCALE_WINDOW_SIZE = 8;
36
+ /**
37
+ * Minimum byte size threshold for a file to be eligible for multi-batch sharding.
38
+ * Files below this threshold (< 100 KB) are processed in a single batch to minimize IPC overhead.
39
+ */
40
+ const SMALL_FILE_FLOOR_BYTES = 100 * 1024;
41
+ /**
42
+ * Ratio of the maximum file size in a window to consider a file "dominant".
43
+ * Files within 70% of the largest file are sharded across all workers for maximum concurrency.
44
+ */
45
+ const DOMINANT_FILE_RATIO = 0.7;
32
46
  /**
33
47
  * Serializes the translation messages for a locale for transfer to an inliner Worker.
34
48
  *
@@ -37,13 +51,35 @@ const DEFAULT_LOCALE_WINDOW_SIZE = 8;
37
51
  * SharedArrayBuffer is unavailable.
38
52
  *
39
53
  * @param translation The translation messages for a locale, if the locale has any.
54
+ * @param translationIntegrity Optional content hash of the translation file for cache lookup.
55
+ * @param translationCache Optional Cache instance for binary translation buffers.
40
56
  * @returns A SharedArrayBuffer or Blob containing the serialized messages, or undefined if none.
41
57
  */
42
- function serializeTranslation(translation) {
58
+ async function serializeTranslation(translation, translationIntegrity, translationCache) {
43
59
  if (!translation) {
44
60
  return undefined;
45
61
  }
46
62
  if (typeof SharedArrayBuffer !== 'undefined') {
63
+ if (translationIntegrity && translationCache) {
64
+ // Look up or generate binary translation data in the persistent cache.
65
+ // A Uint8Array view is stored in the cache store to allow binary persistence.
66
+ const binaryData = await translationCache.getOrCreate(translationIntegrity, () => {
67
+ return new Uint8Array((0, i18n_translation_encoder_1.encodeTranslationToBuffer)(translation));
68
+ });
69
+ // On a cache miss, getOrCreate returns the newly created Uint8Array backed by the
70
+ // original SharedArrayBuffer. Return it directly to avoid an unnecessary allocation and copy.
71
+ if (binaryData.buffer instanceof SharedArrayBuffer &&
72
+ binaryData.byteOffset === 0 &&
73
+ binaryData.byteLength === binaryData.buffer.byteLength) {
74
+ return binaryData.buffer;
75
+ }
76
+ // On a warm cache hit, the restored data is backed by a standard ArrayBuffer from disk.
77
+ // Copy it into a SharedArrayBuffer so worker threads can access it via zero-copy shared memory.
78
+ const buffer = new SharedArrayBuffer(binaryData.byteLength);
79
+ new Uint8Array(buffer).set(binaryData);
80
+ return buffer;
81
+ }
82
+ // When persistent caching is not configured, encode directly into a SharedArrayBuffer.
47
83
  return (0, i18n_translation_encoder_1.encodeTranslationToBuffer)(translation);
48
84
  }
49
85
  return new Blob([(0, node_v8_1.serialize)(translation)]);
@@ -59,16 +95,22 @@ class I18nInliner {
59
95
  #cacheInitFailed = false;
60
96
  #workerPool;
61
97
  #cacheStore;
62
- #cache;
63
- #localizeFiles;
64
- #unmodifiedFiles;
98
+ #transformedFileCache;
99
+ #translationCache;
100
+ #generation = 0;
65
101
  constructor(options, maxThreads) {
66
102
  this.options = options;
67
- this.#unmodifiedFiles = [];
68
- const { outputFiles, shouldOptimize, missingTranslation, translations } = options;
69
- const files = new Map();
103
+ this.#workerPool = new worker_pool_1.WorkerPool({
104
+ maxThreads,
105
+ });
106
+ }
107
+ #partitionFiles(files) {
108
+ const filenames = [];
109
+ const localizeFiles = new Map();
110
+ const localizeMaps = new Map();
111
+ const unmodifiedFiles = [];
70
112
  const pendingMaps = [];
71
- for (const file of outputFiles) {
113
+ for (const file of files) {
72
114
  if (file.type === bundler_files_1.BuildOutputFileType.Root || file.type === bundler_files_1.BuildOutputFileType.ServerRoot) {
73
115
  // Skip also the server entry-point.
74
116
  // Skip stats and similar files.
@@ -82,7 +124,8 @@ class I18nInliner {
82
124
  : Buffer.from(file.contents.buffer, file.contents.byteOffset, file.contents.byteLength);
83
125
  const hasLocalize = contentBuffer.includes(LOCALIZE_KEYWORD);
84
126
  if (hasLocalize) {
85
- files.set(file.path, file);
127
+ localizeFiles.set(file.path, file);
128
+ filenames.push(file.path);
86
129
  continue;
87
130
  }
88
131
  }
@@ -92,33 +135,19 @@ class I18nInliner {
92
135
  pendingMaps.push(file);
93
136
  continue;
94
137
  }
95
- this.#unmodifiedFiles.push(file);
138
+ unmodifiedFiles.push(file);
96
139
  }
97
140
  // Check if any pending map files should be processed by checking if the parent JS file is present
98
141
  for (const file of pendingMaps) {
99
- if (files.has(file.path.slice(0, -4))) {
100
- files.set(file.path, file);
142
+ const jsPath = file.path.slice(0, -4);
143
+ if (localizeFiles.has(jsPath)) {
144
+ localizeMaps.set(jsPath, file);
101
145
  }
102
146
  else {
103
- this.#unmodifiedFiles.push(file);
147
+ unmodifiedFiles.push(file);
104
148
  }
105
149
  }
106
- this.#localizeFiles = files;
107
- this.#workerPool = new worker_pool_1.WorkerPool({
108
- filename: require.resolve('./i18n-inliner-worker'),
109
- maxThreads,
110
- // Extract options to ensure only the named options are serialized and sent to the worker
111
- workerData: {
112
- missingTranslation,
113
- shouldOptimize,
114
- translations,
115
- // A Blob is an immutable data structure that allows sharing the data between workers
116
- // without copying until the data is actually used within a Worker. This is useful here
117
- // since each file may not actually be processed in each Worker and the Blob avoids
118
- // unneeded repeat copying of potentially large JavaScript files.
119
- files: new Map(Array.from(files, ([name, file]) => [name, new Blob([file.contents])])),
120
- },
121
- });
150
+ return { filenames, localizeFiles, localizeMaps, unmodifiedFiles };
122
151
  }
123
152
  /**
124
153
  * Performs inlining of translations across multiple locales in parallel.
@@ -126,98 +155,95 @@ class I18nInliner {
126
155
  * An adaptive 2D task-partitioning algorithm distributes (files x locales) work units
127
156
  * across all worker threads while caching AST metadata and sourcemaps in worker memory.
128
157
  *
158
+ * @param files The build output files to transform.
129
159
  * @param locales The locales and translations to inline.
130
160
  * @returns A map of locale names to their inlined output files and diagnostics.
131
161
  */
132
- async inlineAll(locales) {
162
+ async inlineAll(files, locales) {
133
163
  await this.initCache();
134
- const { shouldOptimize, missingTranslation, localizeVersion } = this.options;
164
+ const generation = ++this.#generation;
165
+ const { missingTranslation, localizeVersion } = this.options;
135
166
  const localeList = Array.from(locales);
136
167
  if (localeList.length === 0) {
137
168
  return new Map();
138
169
  }
170
+ const { filenames, localizeFiles, localizeMaps, unmodifiedFiles } = this.#partitionFiles(files);
139
171
  const fileResultsByLocale = new Map();
140
172
  for (const { locale } of localeList) {
173
+ (0, node_assert_1.default)(!fileResultsByLocale.has(locale), 'Duplicate locale provided to inliner: ' + locale);
141
174
  fileResultsByLocale.set(locale, new Map());
142
175
  }
143
- const filenames = Array.from(this.#localizeFiles.keys()).filter((name) => !name.endsWith('.map'));
144
- // Process locales in sliding windows to cap peak worker memory
145
- for (let i = 0; i < localeList.length; i += DEFAULT_LOCALE_WINDOW_SIZE) {
146
- const windowLocales = localeList.slice(i, i + DEFAULT_LOCALE_WINDOW_SIZE);
176
+ // Process locales in sliding windows to cap peak worker memory.
177
+ // Ensure the window has at least enough locales to saturate all available workers on high-core machines.
178
+ const windowSize = Math.max(DEFAULT_LOCALE_WINDOW_SIZE, this.#workerPool.maxThreads || 1);
179
+ for (let i = 0; i < localeList.length; i += windowSize) {
180
+ const windowLocales = localeList.slice(i, i + windowSize);
147
181
  const activeLocales = windowLocales.map((item) => item.locale);
148
- const isLastWindow = i + DEFAULT_LOCALE_WINDOW_SIZE >= localeList.length;
182
+ const isLastWindow = i + windowSize >= localeList.length;
149
183
  // Pre-calculate cache key bases and serialized Blobs for each locale in this window
150
184
  const localeCacheBases = new Map();
151
185
  const localeBlobs = new Map();
152
- for (const { locale, translation, translationIntegrity } of windowLocales) {
153
- localeBlobs.set(locale, serializeTranslation(translation));
186
+ await Promise.all(windowLocales.map(async ({ locale, translation, translationIntegrity }) => {
187
+ const serialized = await serializeTranslation(translation, translationIntegrity, this.#translationCache);
188
+ localeBlobs.set(locale, serialized);
154
189
  if (this.#cacheStore) {
155
190
  localeCacheBases.set(locale, (0, hash_1.calculateHash)(JSON.stringify({
156
191
  locale,
157
192
  translation: translationIntegrity || translation,
158
193
  missingTranslation,
159
- shouldOptimize,
160
194
  localizeVersion,
161
195
  })));
162
196
  }
163
- }
164
- const cacheChecks = [];
165
- for (const filename of filenames) {
166
- const file = this.#localizeFiles.get(filename);
167
- (0, node_assert_1.default)(file !== undefined, 'Localize file must exist: ' + filename);
168
- for (const { locale } of windowLocales) {
169
- let cacheKey;
170
- let cachedResultPromise = Promise.resolve(null);
171
- if (this.#cache) {
197
+ }));
198
+ const uncachedByFile = new Map();
199
+ if (this.#transformedFileCache) {
200
+ const cache = this.#transformedFileCache;
201
+ const cacheChecks = [];
202
+ for (const filename of filenames) {
203
+ const file = localizeFiles.get(filename);
204
+ (0, node_assert_1.default)(file !== undefined, 'Localize file must exist: ' + filename);
205
+ const fileEntriesPromises = windowLocales.map(async ({ locale }) => {
172
206
  const fileCacheKeyBase = localeCacheBases.get(locale);
173
207
  (0, node_assert_1.default)(fileCacheKeyBase !== undefined, 'Cache base must exist for locale: ' + locale);
174
208
  const hasher = (0, hash_1.createContentHash)();
175
209
  hasher.update(file.hash);
176
210
  hasher.update(filename);
177
211
  hasher.update(fileCacheKeyBase);
178
- cacheKey = hasher.digest();
179
- cachedResultPromise = this.#cache
180
- .get(cacheKey)
181
- .then((val) => val ?? null)
182
- .catch(() => null);
183
- }
184
- cacheChecks.push({
185
- filename,
186
- locale,
187
- cacheKey,
188
- cachedResult: cachedResultPromise,
212
+ const cacheKey = hasher.digest();
213
+ try {
214
+ const result = await cache.get(cacheKey);
215
+ if (result) {
216
+ fileResultsByLocale.get(locale)?.set(filename, result);
217
+ return;
218
+ }
219
+ }
220
+ catch { }
221
+ return {
222
+ locale,
223
+ cacheKey,
224
+ translation: localeBlobs.get(locale),
225
+ };
189
226
  });
227
+ cacheChecks.push(Promise.all(fileEntriesPromises).then((entries) => {
228
+ const filtered = entries.filter((e) => e !== undefined);
229
+ if (filtered.length > 0) {
230
+ uncachedByFile.set(filename, filtered);
231
+ }
232
+ }));
190
233
  }
234
+ await Promise.all(cacheChecks);
191
235
  }
192
- // Await all cache checks for this window
193
- const resolvedChecks = await Promise.all(cacheChecks.map(async (item) => ({
194
- ...item,
195
- result: await item.cachedResult,
196
- })));
197
- // Group uncached items by filename for this window
198
- const uncachedByFile = new Map();
199
- for (const item of resolvedChecks) {
200
- if (item.result) {
201
- // Cache hit: store directly in locale file results
202
- fileResultsByLocale.get(item.locale)?.set(item.filename, item.result);
203
- }
204
- else {
205
- // Cache miss: needs worker processing
206
- let fileEntries = uncachedByFile.get(item.filename);
207
- if (!fileEntries) {
208
- fileEntries = [];
209
- uncachedByFile.set(item.filename, fileEntries);
210
- }
211
- fileEntries.push({
212
- locale: item.locale,
213
- cacheKey: item.cacheKey,
214
- translation: localeBlobs.get(item.locale),
215
- });
236
+ else {
237
+ for (const filename of filenames) {
238
+ uncachedByFile.set(filename, windowLocales.map(({ locale }) => ({
239
+ locale,
240
+ translation: localeBlobs.get(locale),
241
+ })));
216
242
  }
217
243
  }
218
244
  // Adaptive 2D Sharding for uncached tasks in this window
219
245
  if (uncachedByFile.size > 0) {
220
- await this.#processUncachedBatches(uncachedByFile, windowLocales.length, fileResultsByLocale, activeLocales, isLastWindow);
246
+ await this.#processUncachedBatches(localizeFiles, localizeMaps, uncachedByFile, fileResultsByLocale, activeLocales, isLastWindow, generation);
221
247
  }
222
248
  }
223
249
  // Assemble final results in deterministic order per locale
@@ -229,16 +255,26 @@ class I18nInliner {
229
255
  const warnings = [];
230
256
  if (fileResults) {
231
257
  for (const filename of filenames) {
258
+ const originalFile = localizeFiles.get(filename);
259
+ (0, node_assert_1.default)(originalFile !== undefined, 'Localize file must exist: ' + filename);
232
260
  const fileResult = fileResults.get(filename);
233
261
  if (!fileResult) {
234
262
  continue;
235
263
  }
236
- const type = this.#localizeFiles.get(filename)?.type;
237
- (0, node_assert_1.default)(type !== undefined, 'localized file should always have a type: ' + filename);
238
- outputFiles.push((0, bundler_files_1.createOutputFile)(filename, fileResult.code, type));
239
- if (fileResult.map) {
264
+ const type = originalFile.type;
265
+ if (fileResult.code != undefined) {
266
+ outputFiles.push((0, bundler_files_1.createOutputFile)(filename, fileResult.code, type));
267
+ }
268
+ else {
269
+ outputFiles.push(originalFile.clone());
270
+ }
271
+ const originalMap = localizeMaps.get(filename);
272
+ if (fileResult.map !== undefined) {
240
273
  outputFiles.push((0, bundler_files_1.createOutputFile)(filename + '.map', fileResult.map, type));
241
274
  }
275
+ else if (originalMap !== undefined) {
276
+ outputFiles.push(originalMap.clone());
277
+ }
242
278
  for (const message of fileResult.messages) {
243
279
  if (message.type === 'error') {
244
280
  errors.push(message.message);
@@ -250,7 +286,7 @@ class I18nInliner {
250
286
  }
251
287
  }
252
288
  // Include cloned unmodified files for every locale
253
- outputFiles.push(...this.#unmodifiedFiles.map((file) => file.clone()));
289
+ outputFiles.push(...unmodifiedFiles.map((file) => file.clone()));
254
290
  resultsByLocale.set(locale, {
255
291
  outputFiles,
256
292
  errors,
@@ -259,62 +295,119 @@ class I18nInliner {
259
295
  }
260
296
  return resultsByLocale;
261
297
  }
262
- async #processUncachedBatches(uncachedByFile, localeCount, fileResultsByLocale, activeLocales, isLastWindow = true) {
298
+ async #processUncachedBatches(localizeFiles, localizeMaps, uncachedByFile, fileResultsByLocale, activeLocales, isLastWindow = true, generation) {
263
299
  const workerCount = this.#workerPool.maxThreads || 1;
264
- const targetTaskCount = Math.max(uncachedByFile.size, workerCount * 2);
265
- const localesPerBatch = Math.max(1, Math.ceil(localeCount / (targetTaskCount / (uncachedByFile.size || 1))));
300
+ // Extract file data and identify the heaviest file size in a single pass
301
+ let maxFileSize = 0;
302
+ const sortedFiles = Array.from(uncachedByFile, ([filename, entries]) => {
303
+ const codeFile = localizeFiles.get(filename);
304
+ (0, node_assert_1.default)(codeFile !== undefined, 'Localize file must exist: ' + filename);
305
+ const fileSize = codeFile.contents.byteLength;
306
+ if (fileSize > maxFileSize) {
307
+ maxFileSize = fileSize;
308
+ }
309
+ return { filename, entries, codeFile, fileSize };
310
+ });
311
+ // Sort files descending by byte size (Longest Processing Time First / LPT).
312
+ // Heavy files (e.g. main.js) are queued first to saturate all worker threads immediately,
313
+ // while small files act as gap fillers near the window barrier to prevent tail stragglers.
314
+ sortedFiles.sort((a, b) => b.fileSize - a.fileSize);
266
315
  const workerTasks = [];
267
- for (const [filename, entries] of uncachedByFile) {
316
+ for (const { filename, entries, codeFile, fileSize } of sortedFiles) {
317
+ const mapFile = localizeMaps.get(filename);
318
+ const codeBlob = new Blob([codeFile.contents]);
319
+ const mapBlob = mapFile ? new Blob([mapFile.contents]) : undefined;
320
+ let localesPerBatch;
321
+ if (uncachedByFile.size === 1) {
322
+ // Single file in window: shard across all workers to avoid idle threads
323
+ localesPerBatch = Math.max(1, Math.ceil(entries.length / workerCount));
324
+ }
325
+ else if (fileSize < SMALL_FILE_FLOOR_BYTES) {
326
+ // Small chunks (< 100 KB): process all locales in 1 batch to eliminate IPC overhead
327
+ localesPerBatch = entries.length;
328
+ }
329
+ else if (fileSize >= maxFileSize * DOMINANT_FILE_RATIO) {
330
+ // Dominant file(s): shard across all workers for maximum multi-core parallelism
331
+ localesPerBatch = Math.max(1, Math.ceil(entries.length / workerCount));
332
+ }
333
+ else {
334
+ // Intermediate files: moderate sharding
335
+ localesPerBatch = Math.max(1, Math.ceil(entries.length / 2));
336
+ }
268
337
  const ephemeral = isLastWindow && entries.length <= localesPerBatch;
269
338
  for (let i = 0; i < entries.length; i += localesPerBatch) {
270
339
  const batchEntries = entries.slice(i, i + localesPerBatch);
271
340
  const task = (async () => {
272
- const batchResult = (await this.#workerPool.run({
341
+ const batchResult = await this.#runWorkerTask('inlineFileBatch', {
273
342
  filename,
274
- locales: batchEntries.map((e) => ({
275
- locale: e.locale,
276
- translation: e.translation,
277
- })),
343
+ code: codeBlob,
344
+ map: mapBlob,
345
+ locales: new Map(batchEntries.map((e) => [e.locale, e.translation])),
346
+ missingTranslation: this.options.missingTranslation,
278
347
  ephemeral,
279
348
  activeLocales,
280
- }, { name: 'inlineFileBatch' }));
281
- const cachePromises = [];
282
- for (const res of batchResult.results) {
283
- const matchingEntry = batchEntries.find((e) => e.locale === res.locale);
284
- const cacheKey = matchingEntry?.cacheKey;
285
- if (this.#cache && cacheKey) {
286
- cachePromises.push(this.#cache.put(cacheKey, {
349
+ generation,
350
+ });
351
+ if (batchResult.unmodified) {
352
+ const unmodifiedResult = {
353
+ file: filename,
354
+ messages: batchResult.messages,
355
+ };
356
+ const cachePromises = [];
357
+ for (const { locale, cacheKey } of batchEntries) {
358
+ fileResultsByLocale.get(locale)?.set(filename, unmodifiedResult);
359
+ if (this.#transformedFileCache && cacheKey) {
360
+ cachePromises.push(this.#transformedFileCache.put(cacheKey, unmodifiedResult));
361
+ }
362
+ }
363
+ await Promise.allSettled(cachePromises);
364
+ }
365
+ else {
366
+ const cachePromises = [];
367
+ for (const res of batchResult.results) {
368
+ const matchingEntry = batchEntries.find((e) => e.locale === res.locale);
369
+ const cacheKey = matchingEntry?.cacheKey;
370
+ const fileResult = {
287
371
  file: filename,
288
372
  code: res.code,
289
373
  map: res.map,
290
374
  messages: res.messages,
291
- }));
375
+ };
376
+ if (this.#transformedFileCache && cacheKey) {
377
+ cachePromises.push(this.#transformedFileCache.put(cacheKey, fileResult));
378
+ }
379
+ fileResultsByLocale.get(res.locale)?.set(filename, fileResult);
292
380
  }
293
- fileResultsByLocale.get(res.locale)?.set(filename, res);
381
+ await Promise.allSettled(cachePromises);
294
382
  }
295
- await Promise.allSettled(cachePromises);
296
383
  })();
297
384
  workerTasks.push(task);
298
385
  }
299
386
  }
300
387
  await Promise.all(workerTasks);
301
388
  }
389
+ #runWorkerTask(name, request) {
390
+ return this.#workerPool.run(request, {
391
+ filename: INLINER_WORKER_PATH,
392
+ name,
393
+ });
394
+ }
302
395
  /**
303
- * Performs inlining of translations for the provided locale and translations. The files that
304
- * are processed originate from the files passed to the class constructor and filter by presence
305
- * of the localize function keyword.
396
+ * Performs inlining of translations for the provided locale and translations.
397
+ *
398
+ * @param files The build output files to transform.
306
399
  * @param locale The string representing the locale to inline.
307
400
  * @param translation The translation messages to use when inlining.
308
401
  * @param translationIntegrity An optional integrity value for the translation messages to use for caching.
309
402
  * @returns A promise that resolves to an array of OutputFiles representing a translated result.
310
403
  */
311
- async inlineForLocale(locale, translation, translationIntegrity) {
312
- const results = await this.inlineAll([{ locale, translation, translationIntegrity }]);
404
+ async inlineForLocale(files, locale, translation, translationIntegrity) {
405
+ const results = await this.inlineAll(files, [{ locale, translation, translationIntegrity }]);
313
406
  const result = results.get(locale);
314
407
  (0, node_assert_1.default)(result !== undefined, `Result for locale '${locale}' should be present.`);
315
408
  return result;
316
409
  }
317
- async inlineTemplateUpdate(locale, translation, templateCode, templateId) {
410
+ async inlineTemplateUpdate(locale, translation, templateCode, templateId, translationIntegrity) {
318
411
  const hasLocalize = templateCode.includes(LOCALIZE_KEYWORD);
319
412
  if (!hasLocalize) {
320
413
  return {
@@ -323,12 +416,13 @@ class I18nInliner {
323
416
  warnings: [],
324
417
  };
325
418
  }
326
- const { output, messages } = await this.#workerPool.run({
419
+ const { output, messages } = await this.#runWorkerTask('inlineCode', {
327
420
  code: templateCode,
328
421
  filename: templateId,
329
422
  locale,
330
- translation: serializeTranslation(translation),
331
- }, { name: 'inlineCode' });
423
+ missingTranslation: this.options.missingTranslation,
424
+ translation: await serializeTranslation(translation, translationIntegrity, this.#translationCache),
425
+ });
332
426
  const errors = [];
333
427
  const warnings = [];
334
428
  for (const message of messages) {
@@ -374,7 +468,8 @@ class I18nInliner {
374
468
  (0, cache_1.createPersistentCacheStore)((0, node_path_1.join)(persistentCachePath, 'angular-i18n')),
375
469
  ]);
376
470
  this.#cacheStore = cacheStore;
377
- this.#cache = cacheStore.createCache('transforms');
471
+ this.#transformedFileCache = cacheStore.createCache('transforms');
472
+ this.#translationCache = cacheStore.createCache('translations');
378
473
  }
379
474
  catch {
380
475
  this.#cacheInitFailed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
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 { ɵParsedTranslation } from '@angular/localize';
8
9
  /**
9
10
  * Magic header identifier for i18n SharedArrayBuffer translation tables ('I18N').
10
11
  */
@@ -17,4 +18,4 @@ export declare const I18N_MAGIC_ID = 1227962446;
17
18
  * @param translation The translation dictionary object.
18
19
  * @returns A SharedArrayBuffer containing the binary encoded translation catalog.
19
20
  */
20
- export declare function encodeTranslationToBuffer(translation: Record<string, unknown>): SharedArrayBuffer;
21
+ export declare function encodeTranslationToBuffer<T = ɵParsedTranslation>(translation: Record<string, T>): SharedArrayBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-translation-encoder.js","sourceRoot":"","sources":["i18n-translation-encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-translation-encoder.js","sourceRoot":"","sources":["i18n-translation-encoder.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,12 @@
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 { ɵParsedTranslation } from '@angular/localize';
8
9
  /**
9
10
  * A zero-copy reader that queries translation messages directly from a SharedArrayBuffer
10
11
  * using binary search over a sorted key index.
11
12
  */
12
- export declare class SharedTranslationDictionary {
13
+ export declare class SharedTranslationDictionary<T = ɵParsedTranslation> {
13
14
  private readonly entryCount;
14
15
  private readonly uint32Index;
15
16
  private readonly uint8Pool;
@@ -24,7 +25,7 @@ export declare class SharedTranslationDictionary {
24
25
  * @param targetKey The message key ID to search for.
25
26
  * @returns The parsed translation message, or undefined if not found.
26
27
  */
27
- get(targetKey: string): unknown | undefined;
28
+ get(targetKey: string): T | undefined;
28
29
  }
29
30
  /**
30
31
  * Creates a JavaScript object Proxy wrapping a SharedTranslationDictionary so it can be passed
@@ -37,4 +38,4 @@ export declare class SharedTranslationDictionary {
37
38
  * @param buffer The SharedArrayBuffer containing binary encoded translation catalog.
38
39
  * @returns A Proxy object that intercepts property reads and queries the SharedTranslationDictionary.
39
40
  */
40
- export declare function createSharedTranslationProxy(buffer: SharedArrayBuffer): Record<string, unknown>;
41
+ export declare function createSharedTranslationProxy<T = ɵParsedTranslation>(buffer: SharedArrayBuffer): Record<string, T>;