@angular/build 22.2.0-next.4 → 22.2.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/package.json +10 -10
  2. package/src/builders/application/i18n.js +15 -3
  3. package/src/builders/application/i18n.js.map +1 -1
  4. package/src/builders/application/setup-bundling.js +3 -1
  5. package/src/builders/application/setup-bundling.js.map +1 -1
  6. package/src/tools/angular/compilation/parallel-compilation.js +43 -19
  7. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  8. package/src/tools/angular/compilation/parallel-worker.js +86 -61
  9. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  10. package/src/tools/angular/linker/oxc-linker.d.ts +13 -17
  11. package/src/tools/angular/linker/oxc-linker.js +27 -89
  12. package/src/tools/angular/linker/oxc-linker.js.map +1 -1
  13. package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
  14. package/src/tools/esbuild/angular/component-stylesheets.js +42 -15
  15. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
  16. package/src/tools/esbuild/application-code-bundle.js +5 -9
  17. package/src/tools/esbuild/application-code-bundle.js.map +1 -1
  18. package/src/tools/esbuild/bundler-context.d.ts +4 -4
  19. package/src/tools/esbuild/bundler-context.js +93 -27
  20. package/src/tools/esbuild/bundler-context.js.map +1 -1
  21. package/src/tools/esbuild/cache.d.ts +10 -0
  22. package/src/tools/esbuild/cache.js +18 -0
  23. package/src/tools/esbuild/cache.js.map +1 -1
  24. package/src/tools/esbuild/i18n-inliner-worker.d.ts +59 -6
  25. package/src/tools/esbuild/i18n-inliner-worker.js +96 -28
  26. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
  27. package/src/tools/esbuild/i18n-inliner.d.ts +37 -5
  28. package/src/tools/esbuild/i18n-inliner.js +209 -90
  29. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  30. package/src/tools/esbuild/i18n-locale-plugin.d.ts +32 -0
  31. package/src/tools/esbuild/i18n-locale-plugin.js +112 -103
  32. package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
  33. package/src/tools/esbuild/i18n-translation-encoder.d.ts +20 -0
  34. package/src/tools/esbuild/i18n-translation-encoder.js +92 -0
  35. package/src/tools/esbuild/i18n-translation-encoder.js.map +1 -0
  36. package/src/tools/esbuild/i18n-translation-reader.d.ts +40 -0
  37. package/src/tools/esbuild/i18n-translation-reader.js +164 -0
  38. package/src/tools/esbuild/i18n-translation-reader.js.map +1 -0
  39. package/src/tools/esbuild/javascript-transformer-worker.js +36 -46
  40. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
  41. package/src/tools/esbuild/load-result-cache.d.ts +1 -0
  42. package/src/tools/esbuild/load-result-cache.js +24 -11
  43. package/src/tools/esbuild/load-result-cache.js.map +1 -1
  44. package/src/tools/oxc/oxc-transform.d.ts +3 -0
  45. package/src/tools/oxc/oxc-transform.js +53 -32
  46. package/src/tools/oxc/oxc-transform.js.map +1 -1
  47. package/src/utils/normalize-cache.js +1 -1
  48. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +1 -1
  49. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +12 -9
  50. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -1
  51. package/src/utils/server-rendering/esm-in-memory-loader/utils.d.ts +8 -0
  52. package/src/utils/server-rendering/esm-in-memory-loader/utils.js +30 -0
  53. package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -1
  54. package/src/utils/server-rendering/prerender.js +70 -30
  55. package/src/utils/server-rendering/prerender.js.map +1 -1
  56. package/src/utils/server-rendering/render-worker.d.ts +7 -4
  57. package/src/utils/server-rendering/render-worker.js +29 -7
  58. package/src/utils/server-rendering/render-worker.js.map +1 -1
@@ -28,7 +28,7 @@ function isEsBuildFailure(value) {
28
28
  class BundlerContext {
29
29
  workspaceRoot;
30
30
  incremental;
31
- alwaysUseContext;
31
+ useContext;
32
32
  initialFilter;
33
33
  #esbuildContext;
34
34
  #esbuildOptions;
@@ -39,11 +39,12 @@ class BundlerContext {
39
39
  #shouldCacheResult;
40
40
  #loadCache;
41
41
  watchFiles = new Set();
42
- constructor(workspaceRoot, incremental, options, alwaysUseContext = false, initialFilter) {
42
+ constructor(workspaceRoot, incremental, options, useContext = incremental, initialFilter, sharedLoadCache) {
43
43
  this.workspaceRoot = workspaceRoot;
44
44
  this.incremental = incremental;
45
- this.alwaysUseContext = alwaysUseContext;
45
+ this.useContext = useContext;
46
46
  this.initialFilter = initialFilter;
47
+ this.#loadCache = sharedLoadCache;
47
48
  // To cache the results an option factory is needed to capture the full set of dependencies
48
49
  this.#shouldCacheResult = incremental && typeof options === 'function';
49
50
  this.#optionsFactory = (...args) => {
@@ -151,7 +152,7 @@ class BundlerContext {
151
152
  async #performBundle() {
152
153
  // Create esbuild options if not present
153
154
  if (this.#esbuildOptions === undefined) {
154
- if (this.incremental) {
155
+ if (this.incremental && !this.#loadCache) {
155
156
  this.#loadCache = new load_result_cache_1.MemoryLoadResultCache();
156
157
  }
157
158
  this.#esbuildOptions = this.#optionsFactory(this.#loadCache);
@@ -165,7 +166,7 @@ class BundlerContext {
165
166
  // Rebuild using the existing incremental build context
166
167
  result = await this.#esbuildContext.rebuild();
167
168
  }
168
- else if (this.incremental || this.alwaysUseContext) {
169
+ else if (this.useContext) {
169
170
  // Create a build context and perform the build.
170
171
  // Context creation does not perform a build.
171
172
  const esbuildContext = await (0, esbuild_1.context)(this.#esbuildOptions);
@@ -191,41 +192,45 @@ class BundlerContext {
191
192
  // Build failures will throw an exception which contains errors/warnings
192
193
  if (isEsBuildFailure(failure)) {
193
194
  this.#addErrorsToWatch(failure);
195
+ this.#addLoadCacheFilesToWatch();
194
196
  return failure;
195
197
  }
196
198
  else {
197
199
  throw failure;
198
200
  }
199
201
  }
200
- finally {
201
- if (this.incremental) {
202
- // When incremental always add any files from the load result cache
203
- if (this.#loadCache) {
204
- for (const file of this.#loadCache.watchFiles) {
205
- if (!isInternalAngularFile(file)) {
206
- // watch files are fully resolved paths
207
- this.watchFiles.add(file);
208
- }
209
- }
210
- }
211
- }
212
- }
213
202
  // Update files that should be watched.
214
203
  // While this should technically not be linked to incremental mode, incremental is only
215
204
  // currently enabled with watch mode where watch files are needed.
216
205
  if (this.incremental) {
217
206
  // Add input files except virtual angular files which do not exist on disk
218
207
  for (const input of Object.keys(result.metafile.inputs)) {
219
- if (isInternalAngularFile(input) || isInternalBundlerFile(input)) {
220
- continue;
208
+ const isInternal = isInternalAngularFile(input) || isInternalBundlerFile(input);
209
+ // Input file paths are always relative to the workspace root unless already absolute
210
+ const normalizedAbsoluteInput = (0, node_path_1.isAbsolute)(input)
211
+ ? (0, node_path_1.normalize)(input)
212
+ : (0, node_path_1.join)(this.workspaceRoot, input);
213
+ if (!isInternal) {
214
+ this.watchFiles.add(normalizedAbsoluteInput);
215
+ }
216
+ if (this.#loadCache) {
217
+ const cachedLoad = await (this.#loadCache.get(input) ??
218
+ this.#loadCache.get(input.replace(';', ':')) ??
219
+ this.#loadCache.get('file:' + normalizedAbsoluteInput));
220
+ if (cachedLoad?.watchFiles) {
221
+ for (const file of cachedLoad.watchFiles) {
222
+ if (!isInternalAngularFile(file)) {
223
+ this.watchFiles.add((0, node_path_1.isAbsolute)(file) ? (0, node_path_1.normalize)(file) : (0, node_path_1.join)(this.workspaceRoot, file));
224
+ }
225
+ }
226
+ }
221
227
  }
222
- // Input file paths are always relative to the workspace root
223
- this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, input));
224
228
  }
225
229
  }
226
230
  // Return if the build encountered any errors
227
231
  if (result.errors.length) {
228
232
  this.#addErrorsToWatch(result);
233
+ this.#addLoadCacheFilesToWatch();
229
234
  return {
230
235
  errors: result.errors,
231
236
  warnings: result.warnings,
@@ -344,12 +349,21 @@ class BundlerContext {
344
349
  for (const error of result.errors) {
345
350
  let file = error.location?.file;
346
351
  if (file && !isInternalAngularFile(file)) {
347
- this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, file));
352
+ this.watchFiles.add((0, node_path_1.isAbsolute)(file) ? (0, node_path_1.normalize)(file) : (0, node_path_1.join)(this.workspaceRoot, file));
348
353
  }
349
354
  for (const note of error.notes) {
350
355
  file = note.location?.file;
351
356
  if (file && !isInternalAngularFile(file)) {
352
- this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, file));
357
+ this.watchFiles.add((0, node_path_1.isAbsolute)(file) ? (0, node_path_1.normalize)(file) : (0, node_path_1.join)(this.workspaceRoot, file));
358
+ }
359
+ }
360
+ }
361
+ }
362
+ #addLoadCacheFilesToWatch() {
363
+ if (this.incremental && this.#loadCache) {
364
+ for (const file of this.#loadCache.watchFiles) {
365
+ if (!isInternalAngularFile(file)) {
366
+ this.watchFiles.add((0, node_path_1.isAbsolute)(file) ? (0, node_path_1.normalize)(file) : (0, node_path_1.join)(this.workspaceRoot, file));
353
367
  }
354
368
  }
355
369
  }
@@ -365,13 +379,65 @@ class BundlerContext {
365
379
  if (!this.incremental) {
366
380
  return false;
367
381
  }
382
+ let candidateFiles;
383
+ if (files instanceof Set) {
384
+ let isCandidateReady = true;
385
+ for (const file of files) {
386
+ if (file !== (0, node_path_1.normalize)(file) ||
387
+ (!(0, node_path_1.isAbsolute)(file) && !files.has((0, node_path_1.normalize)((0, node_path_1.join)(this.workspaceRoot, file))))) {
388
+ isCandidateReady = false;
389
+ break;
390
+ }
391
+ }
392
+ if (isCandidateReady) {
393
+ candidateFiles = files;
394
+ }
395
+ else {
396
+ const normalizedFiles = new Set();
397
+ for (const file of files) {
398
+ const normalized = (0, node_path_1.normalize)(file);
399
+ normalizedFiles.add(normalized);
400
+ if (!(0, node_path_1.isAbsolute)(normalized)) {
401
+ normalizedFiles.add((0, node_path_1.normalize)((0, node_path_1.join)(this.workspaceRoot, normalized)));
402
+ }
403
+ }
404
+ candidateFiles = normalizedFiles;
405
+ }
406
+ }
407
+ else {
408
+ const normalizedFiles = new Set();
409
+ for (const file of files) {
410
+ const normalized = (0, node_path_1.normalize)(file);
411
+ normalizedFiles.add(normalized);
412
+ if (!(0, node_path_1.isAbsolute)(normalized)) {
413
+ normalizedFiles.add((0, node_path_1.normalize)((0, node_path_1.join)(this.workspaceRoot, normalized)));
414
+ }
415
+ }
416
+ candidateFiles = normalizedFiles;
417
+ }
368
418
  let invalid = false;
369
- for (const file of files) {
419
+ for (const file of candidateFiles) {
370
420
  if (this.#loadCache?.invalidate(file)) {
371
421
  invalid = true;
372
- continue;
373
422
  }
374
- invalid ||= this.watchFiles.has(file);
423
+ }
424
+ if (!invalid) {
425
+ if (this.watchFiles.size < candidateFiles.size) {
426
+ for (const file of this.watchFiles) {
427
+ if (candidateFiles.has(file)) {
428
+ invalid = true;
429
+ break;
430
+ }
431
+ }
432
+ }
433
+ else {
434
+ for (const file of candidateFiles) {
435
+ if (this.watchFiles.has(file)) {
436
+ invalid = true;
437
+ break;
438
+ }
439
+ }
440
+ }
375
441
  }
376
442
  if (invalid) {
377
443
  this.#esbuildResult = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"bundler-context.js","sourceRoot":"","sources":["bundler-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler-context.js","sourceRoot":"","sources":["bundler-context.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,10 @@ export declare class Cache<V, S extends CacheStore<V> = CacheStore<V>> {
75
75
  * @param value A value to put in the cache.
76
76
  */
77
77
  put(key: string, value: V): Promise<void>;
78
+ /**
79
+ * Clears internal state for a specific namespaced key (requests, write counts, and pending gets).
80
+ */
81
+ protected deleteInternal(namespacedKey: string): void;
78
82
  /**
79
83
  * Clears the base class internal state (requests, write counts, and pending gets).
80
84
  */
@@ -85,6 +89,12 @@ export declare class Cache<V, S extends CacheStore<V> = CacheStore<V>> {
85
89
  */
86
90
  export declare class MemoryCache<V> extends Cache<V, Map<string, V>> {
87
91
  constructor();
92
+ /**
93
+ * Removes the specified key from the cache instance.
94
+ * @param key The key to remove.
95
+ * @returns True if an element in the Map existed and has been removed, or false if the element does not exist.
96
+ */
97
+ delete(key: string): boolean;
88
98
  /**
89
99
  * Removes all entries from the cache instance.
90
100
  */
@@ -173,6 +173,14 @@ class Cache {
173
173
  this.#incrementWrite(namespacedKey);
174
174
  await this.store.set(namespacedKey, value);
175
175
  }
176
+ /**
177
+ * Clears internal state for a specific namespaced key (requests, write counts, and pending gets).
178
+ */
179
+ deleteInternal(namespacedKey) {
180
+ this.#requests.delete(namespacedKey);
181
+ this.#writeCounts.delete(namespacedKey);
182
+ this.#pendingGets.delete(namespacedKey);
183
+ }
176
184
  /**
177
185
  * Clears the base class internal state (requests, write counts, and pending gets).
178
186
  */
@@ -190,6 +198,16 @@ class MemoryCache extends Cache {
190
198
  constructor() {
191
199
  super(new Map());
192
200
  }
201
+ /**
202
+ * Removes the specified key from the cache instance.
203
+ * @param key The key to remove.
204
+ * @returns True if an element in the Map existed and has been removed, or false if the element does not exist.
205
+ */
206
+ delete(key) {
207
+ const namespacedKey = this.withNamespace(key);
208
+ this.deleteInternal(namespacedKey);
209
+ return this.store.delete(namespacedKey);
210
+ }
193
211
  /**
194
212
  * Removes all entries from the cache instance.
195
213
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["cache.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuQH,gEAsDC;AA3TD;;;GAGG;AAEH,yEAA8E;AAC9E,6CAAkD;AAuClD;;;;GAIG;AACH,MAAa,KAAK;IASK;IACV;IATX,kFAAkF;IACzE,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACnD,kFAAkF;IACzE,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,4FAA4F;IACnF,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,YACqB,KAAQ,EAClB,SAAkB;QADR,UAAK,GAAL,KAAK,CAAG;QAClB,cAAS,GAAT,SAAS,CAAS;IAC1B,CAAC;IAEJ,eAAe,CAAC,GAAW;QACzB,0FAA0F;QAC1F,qFAAqF;QACrF,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,aAAa,CAAC,GAAW;QACjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,OAA6B;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE9C,qFAAqF;QACrF,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAElE,wFAAwF;YACxF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAElD,+EAA+E;YAC/E,iFAAiF;YACjF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,gFAAgF;YAChF,iDAAiD;YACjD,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAClD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,mFAAmF;YACnF,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAC7C,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACjB,+EAA+E;gBAC/E,2EAA2E;gBAC3E,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,aAAa,EAAE,CAAC;oBACxD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;oBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,oDAAoD;gBACpD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,aAAa,EAAE,CAAC;oBACxD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAEjD,OAAO,aAAa,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,uFAAuF;YACvF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,aAAqB;QAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,aAAa;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AA5JD,sBA4JC;AAED;;GAEG;AACH,MAAa,WAAe,SAAQ,KAAwB;IAC1D;QACE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAW;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF;AAxCD,kCAwCC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,0BAA0B,CAC9C,aAAqB;IAErB,IAAI,iDAA2B,KAAK,QAAQ,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;YAElE,OAAO,IAAI,gBAAgB,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;YAEnB,MAAM,IAAI,KAAK,CACb,kDAAkD,GAAG,iBAAiB,GAAG,CAAC,OAAO,EAAE,EACnF,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,iDAA2B,KAAK,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;YAE9D,OAAO,IAAI,cAAc,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;YAEnB,MAAM,IAAI,KAAK,CACb,kDAAkD,GAAG,eAAe,GAAG,CAAC,OAAO,EAAE,EACjF,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;QAE9D,OAAO,IAAI,cAAc,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;YAElE,OAAO,IAAI,gBAAgB,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC;YACzB,IAAA,qBAAa,EAAC,WAAW,CAAC,CAAC;YAE3B,MAAM,IAAI,KAAK,CACb,kDAAkD;gBAChD,eAAe,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnD,iBAAiB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EACvD,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -20,10 +20,10 @@ interface InlineFileRequest {
20
20
  locale: string;
21
21
  /**
22
22
  * The serialized translation messages for the locale that should be used during the inlining
23
- * process of the file. A Blob is used so that the messages are shared with the Worker by
24
- * reference instead of being copied into it for every request.
23
+ * process of the file. A SharedArrayBuffer or Blob is used so that the messages are shared with
24
+ * the Worker by reference instead of being copied into it for every request.
25
25
  */
26
- translation?: Blob;
26
+ translation?: Blob | SharedArrayBuffer;
27
27
  }
28
28
  /**
29
29
  * The options passed to the inliner for each code request
@@ -43,10 +43,56 @@ interface InlineCodeRequest {
43
43
  locale: string;
44
44
  /**
45
45
  * The serialized translation messages for the locale that should be used during the inlining
46
- * process of the file. A Blob is used so that the messages are shared with the Worker by
47
- * reference instead of being copied into it for every request.
46
+ * process of the file. A SharedArrayBuffer or Blob is used so that the messages are shared with
47
+ * the Worker by reference instead of being copied into it for every request.
48
48
  */
49
- translation?: Blob;
49
+ translation?: Blob | SharedArrayBuffer;
50
+ }
51
+ /**
52
+ * The options passed to the inliner for a batch file request
53
+ */
54
+ interface InlineFileBatchRequest {
55
+ /**
56
+ * The filename that should be processed. The data for the file is provided to the Worker
57
+ * during Worker initialization.
58
+ */
59
+ filename: string;
60
+ /**
61
+ * The locale specifiers or locale objects that should be used during the inlining process of the file.
62
+ */
63
+ locales: (string | {
64
+ locale: string;
65
+ translation?: Blob | SharedArrayBuffer;
66
+ })[];
67
+ /**
68
+ * Whether the file data should be treated as ephemeral and not cached long-term in the Worker.
69
+ * Typically true when all remaining locales for the file are processed in a single batch.
70
+ */
71
+ ephemeral?: boolean;
72
+ /**
73
+ * The list of active locales in the current inlining window. Any cached translation dictionaries
74
+ * not present in this list will be evicted from the Worker's memory cache.
75
+ */
76
+ activeLocales?: string[];
77
+ }
78
+ /**
79
+ * The result for a single locale within a batch file request.
80
+ */
81
+ interface InlineLocaleResult {
82
+ locale: string;
83
+ code: string;
84
+ map?: string;
85
+ messages: {
86
+ type: 'error' | 'warning';
87
+ message: string;
88
+ }[];
89
+ }
90
+ /**
91
+ * The response returned from a batch file request.
92
+ */
93
+ interface InlineFileBatchResult {
94
+ file: string;
95
+ results: InlineLocaleResult[];
50
96
  }
51
97
  /**
52
98
  * Inlines the provided locale and translation into a JavaScript file that contains `$localize` usage.
@@ -64,6 +110,13 @@ export default function inlineFile(request: InlineFileRequest): Promise<{
64
110
  message: string;
65
111
  }[];
66
112
  }>;
113
+ /**
114
+ * Inlines multiple locales and translations into a JavaScript file that contains `$localize` usage.
115
+ *
116
+ * @param request An InlineFileBatchRequest object representing the options for inlining.
117
+ * @returns An object containing the inlined results for each requested locale.
118
+ */
119
+ export declare function inlineFileBatch(request: InlineFileBatchRequest): Promise<InlineFileBatchResult>;
67
120
  /**
68
121
  * Inlines the provided locale and translation into JavaScript code that contains `$localize` usage.
69
122
  * This function is a secondary entry primarily for use with component HMR update modules.
@@ -44,6 +44,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.default = inlineFile;
47
+ exports.inlineFileBatch = inlineFileBatch;
47
48
  exports.inlineCode = inlineCode;
48
49
  const remapping_1 = __importDefault(require("@ampproject/remapping"));
49
50
  const magic_string_1 = require("magic-string");
@@ -51,8 +52,10 @@ const node_assert_1 = __importDefault(require("node:assert"));
51
52
  const node_v8_1 = require("node:v8");
52
53
  const node_worker_threads_1 = require("node:worker_threads");
53
54
  const oxc_parser_1 = require("oxc-parser");
55
+ const i18n_locale_plugin_1 = require("./i18n-locale-plugin");
56
+ const i18n_translation_reader_1 = require("./i18n-translation-reader");
54
57
  // Extract the application files and common options used for inline requests from the Worker context
55
- const { files, missingTranslation } = (node_worker_threads_1.workerData || {});
58
+ const { files, missingTranslation, translations } = (node_worker_threads_1.workerData || {});
56
59
  /**
57
60
  * Cache of file data promises keyed by filename.
58
61
  */
@@ -62,41 +65,61 @@ const fileDataCache = new Map();
62
65
  */
63
66
  const deserializedTranslations = new Map();
64
67
  /**
65
- * Retrieves the cached file data for a filename, loading and extracting it on the first request.
68
+ * Retrieves the file data for a filename, loading and extracting localization metadata.
69
+ * If `cache` is true, the result is cached in `fileDataCache` across requests in this Worker.
70
+ * If `cache` is false (ephemeral), the result is not retained in `fileDataCache`, allowing it
71
+ * to be garbage-collected once the batch request finishes.
66
72
  *
67
73
  * @param filename The name of the file to load.
68
- * @returns The cached code and localization metadata.
74
+ * @param cache Whether to cache the loaded file data in the Worker's long-term cache.
75
+ * @returns The cached or newly extracted code and localization metadata.
69
76
  */
70
- function getFileData(filename) {
71
- let fileDataPromise = fileDataCache.get(filename);
72
- if (!fileDataPromise) {
73
- fileDataPromise = (async () => {
74
- const data = files.get(filename);
75
- (0, node_assert_1.default)(data !== undefined, `Invalid inline request for file '${filename}'.`);
76
- const code = await data.text();
77
- const metadata = extractLocalizeMetadata(filename, code);
78
- return { code, metadata };
79
- })();
77
+ function loadFileData(filename, cache = true) {
78
+ const existing = fileDataCache.get(filename);
79
+ if (existing) {
80
+ return existing;
81
+ }
82
+ const fileDataPromise = (async () => {
83
+ const data = files.get(filename);
84
+ (0, node_assert_1.default)(data !== undefined, `Invalid inline request for file '${filename}'.`);
85
+ const code = await data.text();
86
+ const metadata = extractLocalizeMetadata(filename, code);
87
+ return { code, metadata };
88
+ })();
89
+ if (cache) {
90
+ fileDataPromise.catch(() => {
91
+ fileDataCache.delete(filename);
92
+ });
80
93
  fileDataCache.set(filename, fileDataPromise);
81
94
  }
82
95
  return fileDataPromise;
83
96
  }
84
97
  /**
85
- * Deserializes the translation messages for an inline request, reusing the result for any
98
+ * Deserializes or wraps the translation messages for a locale, reusing the result for any
86
99
  * subsequent request that targets the same locale.
87
- * @param request An inline request containing the locale and its serialized messages.
100
+ * @param locale The locale identifier.
101
+ * @param translation Optional serialized translation messages (SharedArrayBuffer or Blob).
88
102
  * @returns The translation messages, or undefined if the locale has no translations.
89
103
  */
90
- function loadTranslation(request) {
91
- const { locale, translation } = request;
92
- if (!translation) {
104
+ function loadTranslation(locale, translation) {
105
+ const translationData = translation ?? translations?.get(locale);
106
+ if (!translationData) {
93
107
  return undefined;
94
108
  }
95
109
  let messagesPromise = deserializedTranslations.get(locale);
96
110
  if (!messagesPromise) {
97
- messagesPromise = translation
98
- .arrayBuffer()
99
- .then((buffer) => (0, node_v8_1.deserialize)(new Uint8Array(buffer)));
111
+ if (translationData instanceof Blob) {
112
+ messagesPromise = translationData
113
+ .arrayBuffer()
114
+ .then((buffer) => (0, node_v8_1.deserialize)(new Uint8Array(buffer)))
115
+ .catch((error) => {
116
+ deserializedTranslations.delete(locale);
117
+ throw error;
118
+ });
119
+ }
120
+ else {
121
+ messagesPromise = Promise.resolve((0, i18n_translation_reader_1.createSharedTranslationProxy)(translationData));
122
+ }
100
123
  deserializedTranslations.set(locale, messagesPromise);
101
124
  }
102
125
  return messagesPromise;
@@ -109,14 +132,12 @@ function loadTranslation(request) {
109
132
  * @returns An object containing the inlined file and optional map content.
110
133
  */
111
134
  async function inlineFile(request) {
112
- const { code, metadata } = await getFileData(request.filename);
135
+ const { code, metadata } = await loadFileData(request.filename, true);
113
136
  // Sourcemaps are parsed on demand per request rather than cached long-term to prevent
114
137
  // monotonic memory growth as a worker processes multiple files across the build.
115
- // When multi-locale batching is implemented, the sourcemap can be parsed once per batch and released
116
- // upon batch completion.
117
138
  const rawMap = await files.get(request.filename + '.map')?.text();
118
139
  const map = rawMap ? JSON.parse(rawMap) : undefined;
119
- const result = await inlineLocalize(code, map, metadata, request.locale, await loadTranslation(request), request.filename);
140
+ const result = await inlineLocalize(code, map, metadata, request.locale, await loadTranslation(request.locale, request.translation), request.filename);
120
141
  return {
121
142
  file: request.filename,
122
143
  code: result.code,
@@ -124,6 +145,42 @@ async function inlineFile(request) {
124
145
  messages: result.diagnostics.messages,
125
146
  };
126
147
  }
148
+ /**
149
+ * Inlines multiple locales and translations into a JavaScript file that contains `$localize` usage.
150
+ *
151
+ * @param request An InlineFileBatchRequest object representing the options for inlining.
152
+ * @returns An object containing the inlined results for each requested locale.
153
+ */
154
+ async function inlineFileBatch(request) {
155
+ if (request.activeLocales) {
156
+ const activeSet = new Set(request.activeLocales);
157
+ for (const locale of deserializedTranslations.keys()) {
158
+ if (!activeSet.has(locale)) {
159
+ deserializedTranslations.delete(locale);
160
+ }
161
+ }
162
+ }
163
+ const { code, metadata } = await loadFileData(request.filename, !request.ephemeral);
164
+ // Parse the sourcemap once for the entire batch.
165
+ // It will naturally be garbage-collected after this batch action returns.
166
+ const rawMap = await files.get(request.filename + '.map')?.text();
167
+ const map = rawMap ? JSON.parse(rawMap) : undefined;
168
+ const results = await Promise.all(request.locales.map(async (entry) => {
169
+ const locale = typeof entry === 'string' ? entry : entry.locale;
170
+ const translation = typeof entry === 'string' ? undefined : entry.translation;
171
+ const result = await inlineLocalize(code, map, metadata, locale, await loadTranslation(locale, translation), request.filename);
172
+ return {
173
+ locale,
174
+ code: result.code,
175
+ map: result.map,
176
+ messages: result.diagnostics.messages,
177
+ };
178
+ }));
179
+ return {
180
+ file: request.filename,
181
+ results,
182
+ };
183
+ }
127
184
  /**
128
185
  * Inlines the provided locale and translation into JavaScript code that contains `$localize` usage.
129
186
  * This function is a secondary entry primarily for use with component HMR update modules.
@@ -133,7 +190,7 @@ async function inlineFile(request) {
133
190
  */
134
191
  async function inlineCode(request) {
135
192
  const metadata = extractLocalizeMetadata(request.filename, request.code);
136
- const result = await inlineLocalize(request.code, undefined, metadata, request.locale, await loadTranslation(request), request.filename);
193
+ const result = await inlineLocalize(request.code, undefined, metadata, request.locale, await loadTranslation(request.locale, request.translation), request.filename);
137
194
  return {
138
195
  output: result.code,
139
196
  messages: result.diagnostics.messages,
@@ -274,8 +331,19 @@ async function inlineLocalize(code, map, metadata, locale, translation, filename
274
331
  diagnostics.error(message);
275
332
  }
276
333
  }
277
- for (const site of metadata.localeInsertSites) {
278
- magicString.overwrite(site.start, site.end, JSON.stringify(locale));
334
+ if (metadata.localeInsertSites.length > 0) {
335
+ const localeData = await (0, i18n_locale_plugin_1.loadLocaleData)(locale);
336
+ if (localeData.error) {
337
+ diagnostics.error(localeData.error);
338
+ }
339
+ else if (localeData.warning) {
340
+ diagnostics.warn(localeData.warning);
341
+ }
342
+ let injected = false;
343
+ for (const site of metadata.localeInsertSites) {
344
+ magicString.overwrite(site.start, site.end, JSON.stringify(locale) + (localeData.code && !injected ? `;\n${localeData.code}\n;` : ''));
345
+ injected = true;
346
+ }
279
347
  }
280
348
  for (const callSite of metadata.callSites) {
281
349
  const [translatedParts, translatedSubstitutions] = translate(diagnostics, translation || {}, callSite.messageParts, callSite.expressions.map((_, index) => index), translation === undefined ? 'ignore' : missingTranslation);