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

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 (178) hide show
  1. package/package.json +14 -13
  2. package/src/builders/application/build-action.js +48 -39
  3. package/src/builders/application/build-action.js.map +1 -1
  4. package/src/builders/application/chunk-optimizer.js +4 -1
  5. package/src/builders/application/chunk-optimizer.js.map +1 -1
  6. package/src/builders/application/execute-build.js +1 -1
  7. package/src/builders/application/execute-build.js.map +1 -1
  8. package/src/builders/application/execute-post-bundle.js +4 -7
  9. package/src/builders/application/execute-post-bundle.js.map +1 -1
  10. package/src/builders/application/i18n.js +8 -9
  11. package/src/builders/application/i18n.js.map +1 -1
  12. package/src/builders/application/index.js +2 -2
  13. package/src/builders/application/index.js.map +1 -1
  14. package/src/builders/application/options.js +5 -2
  15. package/src/builders/application/options.js.map +1 -1
  16. package/src/builders/application/results.d.ts +3 -2
  17. package/src/builders/application/schema.d.ts +2 -1
  18. package/src/builders/application/schema.js.map +1 -1
  19. package/src/builders/application/schema.json +1 -2
  20. package/src/builders/dev-server/options.d.ts +4 -1
  21. package/src/builders/dev-server/options.js +1 -0
  22. package/src/builders/dev-server/options.js.map +1 -1
  23. package/src/builders/dev-server/vite/index.js +4 -7
  24. package/src/builders/dev-server/vite/index.js.map +1 -1
  25. package/src/builders/dev-server/vite/server.js +2 -2
  26. package/src/builders/dev-server/vite/server.js.map +1 -1
  27. package/src/builders/dev-server/vite/utils.d.ts +1 -1
  28. package/src/builders/dev-server/vite/utils.js +9 -4
  29. package/src/builders/dev-server/vite/utils.js.map +1 -1
  30. package/src/builders/extract-i18n/application-extraction.js +6 -5
  31. package/src/builders/extract-i18n/application-extraction.js.map +1 -1
  32. package/src/builders/karma/application_builder.js +1 -1
  33. package/src/builders/karma/application_builder.js.map +1 -1
  34. package/src/builders/karma/assets-middleware.d.ts +2 -2
  35. package/src/builders/karma/assets-middleware.js +5 -2
  36. package/src/builders/karma/assets-middleware.js.map +1 -1
  37. package/src/builders/karma/progress-reporter.js +7 -5
  38. package/src/builders/karma/progress-reporter.js.map +1 -1
  39. package/src/builders/karma/utils.d.ts +2 -1
  40. package/src/builders/karma/utils.js +2 -2
  41. package/src/builders/karma/utils.js.map +1 -1
  42. package/src/builders/unit-test/builder.js +1 -1
  43. package/src/builders/unit-test/options.d.ts +1 -0
  44. package/src/builders/unit-test/options.js +2 -1
  45. package/src/builders/unit-test/options.js.map +1 -1
  46. package/src/builders/unit-test/runners/vitest/build-options.js +5 -6
  47. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
  48. package/src/builders/unit-test/runners/vitest/executor.js +4 -4
  49. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
  50. package/src/builders/unit-test/runners/vitest/plugins.d.ts +3 -4
  51. package/src/builders/unit-test/runners/vitest/plugins.js +2 -0
  52. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
  53. package/src/builders/unit-test/schema.d.ts +10 -2
  54. package/src/builders/unit-test/schema.js.map +1 -1
  55. package/src/builders/unit-test/schema.json +7 -1
  56. package/src/private.d.ts +1 -2
  57. package/src/private.js +4 -5
  58. package/src/private.js.map +1 -1
  59. package/src/tools/angular/compilation/angular-compilation.d.ts +3 -8
  60. package/src/tools/angular/compilation/angular-compilation.js +2 -88
  61. package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
  62. package/src/tools/angular/compilation/aot-compilation.d.ts +5 -5
  63. package/src/tools/angular/compilation/aot-compilation.js +8 -14
  64. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  65. package/src/tools/angular/compilation/compiler-options.d.ts +24 -0
  66. package/src/tools/angular/compilation/compiler-options.js +135 -0
  67. package/src/tools/angular/compilation/compiler-options.js.map +1 -0
  68. package/src/tools/angular/compilation/index.d.ts +1 -1
  69. package/src/tools/angular/compilation/index.js +1 -3
  70. package/src/tools/angular/compilation/index.js.map +1 -1
  71. package/src/tools/angular/compilation/jit-compilation.d.ts +5 -5
  72. package/src/tools/angular/compilation/jit-compilation.js +7 -16
  73. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  74. package/src/tools/angular/compilation/parallel-compilation.d.ts +2 -7
  75. package/src/tools/angular/compilation/parallel-compilation.js +3 -29
  76. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  77. package/src/tools/angular/compilation/parallel-worker.d.ts +2 -2
  78. package/src/tools/angular/compilation/parallel-worker.js +3 -12
  79. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  80. package/src/tools/angular/compilation/typescript-compilation.d.ts +31 -0
  81. package/src/tools/angular/compilation/typescript-compilation.js +115 -0
  82. package/src/tools/angular/compilation/typescript-compilation.js.map +1 -0
  83. package/src/tools/esbuild/angular/compilation-state.d.ts +23 -3
  84. package/src/tools/esbuild/angular/compilation-state.js +51 -13
  85. package/src/tools/esbuild/angular/compilation-state.js.map +1 -1
  86. package/src/tools/esbuild/angular/compiler-plugin.js +76 -114
  87. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  88. package/src/tools/esbuild/bundler-execution-result.d.ts +1 -0
  89. package/src/tools/esbuild/bundler-execution-result.js +2 -2
  90. package/src/tools/esbuild/bundler-execution-result.js.map +1 -1
  91. package/src/tools/esbuild/cache.d.ts +17 -10
  92. package/src/tools/esbuild/cache.js +60 -47
  93. package/src/tools/esbuild/cache.js.map +1 -1
  94. package/src/tools/esbuild/i18n-inliner-worker.d.ts +47 -55
  95. package/src/tools/esbuild/i18n-inliner-worker.js +67 -98
  96. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
  97. package/src/tools/esbuild/i18n-inliner.d.ts +15 -11
  98. package/src/tools/esbuild/i18n-inliner.js +227 -122
  99. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  100. package/src/tools/esbuild/i18n-translation-encoder.d.ts +2 -1
  101. package/src/tools/esbuild/i18n-translation-encoder.js.map +1 -1
  102. package/src/tools/esbuild/i18n-translation-reader.d.ts +4 -3
  103. package/src/tools/esbuild/i18n-translation-reader.js.map +1 -1
  104. package/src/tools/esbuild/index-html-generator.js +1 -1
  105. package/src/tools/esbuild/index-html-generator.js.map +1 -1
  106. package/src/tools/esbuild/javascript-transformer-worker.js +8 -4
  107. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
  108. package/src/tools/esbuild/javascript-transformer.d.ts +18 -6
  109. package/src/tools/esbuild/javascript-transformer.js +104 -41
  110. package/src/tools/esbuild/javascript-transformer.js.map +1 -1
  111. package/src/tools/esbuild/lmdb-cache-store.js +1 -1
  112. package/src/tools/esbuild/lmdb-cache-store.js.map +1 -1
  113. package/src/tools/esbuild/persistent-load-result-cache.js +9 -31
  114. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
  115. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +109 -0
  116. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -1
  117. package/src/tools/esbuild/sqlite-cache-store.d.ts +9 -1
  118. package/src/tools/esbuild/sqlite-cache-store.js +249 -63
  119. package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
  120. package/src/tools/esbuild/stylesheets/sass-language.d.ts +1 -0
  121. package/src/tools/esbuild/stylesheets/sass-language.js +68 -42
  122. package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
  123. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +1 -1
  124. package/src/tools/esbuild/utils.d.ts +1 -1
  125. package/src/tools/esbuild/utils.js.map +1 -1
  126. package/src/tools/esbuild/watcher.js +26 -3
  127. package/src/tools/esbuild/watcher.js.map +1 -1
  128. package/src/tools/oxc/oxc-transform.js +76 -118
  129. package/src/tools/oxc/oxc-transform.js.map +1 -1
  130. package/src/tools/oxc/traversal.d.ts +32 -0
  131. package/src/tools/oxc/traversal.js +299 -0
  132. package/src/tools/oxc/traversal.js.map +1 -0
  133. package/src/tools/sass/rebasing-importer.d.ts +8 -14
  134. package/src/tools/sass/rebasing-importer.js +18 -24
  135. package/src/tools/sass/rebasing-importer.js.map +1 -1
  136. package/src/tools/sass/sass-service.d.ts +15 -38
  137. package/src/tools/sass/sass-service.js +132 -187
  138. package/src/tools/sass/sass-service.js.map +1 -1
  139. package/src/utils/environment-options.d.ts +12 -0
  140. package/src/utils/environment-options.js +20 -12
  141. package/src/utils/environment-options.js.map +1 -1
  142. package/src/utils/i18n-options.d.ts +2 -1
  143. package/src/utils/i18n-options.js.map +1 -1
  144. package/src/utils/index-file/index-html-generator.d.ts +1 -1
  145. package/src/utils/index-file/index-html-generator.js +9 -13
  146. package/src/utils/index-file/index-html-generator.js.map +1 -1
  147. package/src/utils/index-file/inline-critical-css.d.ts +16 -18
  148. package/src/utils/index-file/inline-critical-css.js +44 -189
  149. package/src/utils/index-file/inline-critical-css.js.map +1 -1
  150. package/src/utils/index-file/nonce.d.ts +2 -0
  151. package/src/utils/index-file/nonce.js +1 -0
  152. package/src/utils/index-file/nonce.js.map +1 -1
  153. package/src/utils/normalize-cache.d.ts +11 -1
  154. package/src/utils/normalize-cache.js +6 -3
  155. package/src/utils/normalize-cache.js.map +1 -1
  156. package/src/utils/purge-cache.js +24 -13
  157. package/src/utils/purge-cache.js.map +1 -1
  158. package/src/utils/server-rendering/manifest.d.ts +2 -2
  159. package/src/utils/server-rendering/manifest.js +53 -4
  160. package/src/utils/server-rendering/manifest.js.map +1 -1
  161. package/src/utils/server-rendering/prerender.d.ts +2 -1
  162. package/src/utils/server-rendering/prerender.js +31 -18
  163. package/src/utils/server-rendering/prerender.js.map +1 -1
  164. package/src/utils/server-rendering/render-worker.d.ts +6 -4
  165. package/src/utils/server-rendering/render-worker.js +3 -1
  166. package/src/utils/server-rendering/render-worker.js.map +1 -1
  167. package/src/utils/test-files.d.ts +2 -2
  168. package/src/utils/test-files.js +3 -3
  169. package/src/utils/test-files.js.map +1 -1
  170. package/src/tools/angular/compilation/noop-compilation.d.ts +0 -15
  171. package/src/tools/angular/compilation/noop-compilation.js +0 -27
  172. package/src/tools/angular/compilation/noop-compilation.js.map +0 -1
  173. package/src/tools/sass/worker.d.ts +0 -63
  174. package/src/tools/sass/worker.js +0 -202
  175. package/src/tools/sass/worker.js.map +0 -1
  176. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.d.ts +0 -0
  177. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js +0 -0
  178. /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js.map +0 -0
@@ -43,19 +43,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
43
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.default = inlineFile;
47
46
  exports.inlineFileBatch = inlineFileBatch;
48
47
  exports.inlineCode = inlineCode;
49
48
  const remapping_1 = __importDefault(require("@ampproject/remapping"));
50
49
  const magic_string_1 = require("magic-string");
51
- const node_assert_1 = __importDefault(require("node:assert"));
52
50
  const node_v8_1 = require("node:v8");
53
- const node_worker_threads_1 = require("node:worker_threads");
54
51
  const oxc_parser_1 = require("oxc-parser");
52
+ const traversal_1 = require("../oxc/traversal");
55
53
  const i18n_locale_plugin_1 = require("./i18n-locale-plugin");
56
54
  const i18n_translation_reader_1 = require("./i18n-translation-reader");
57
- // Extract the application files and common options used for inline requests from the Worker context
58
- const { files, missingTranslation, translations } = (node_worker_threads_1.workerData || {});
59
55
  /**
60
56
  * Cache of file data promises keyed by filename.
61
57
  */
@@ -64,6 +60,10 @@ const fileDataCache = new Map();
64
60
  * Cache of deserialized translation messages keyed by locale.
65
61
  */
66
62
  const deserializedTranslations = new Map();
63
+ /**
64
+ * The current inlining generation for this worker.
65
+ */
66
+ let currentGeneration;
67
67
  /**
68
68
  * Retrieves the file data for a filename, loading and extracting localization metadata.
69
69
  * If `cache` is true, the result is cached in `fileDataCache` across requests in this Worker.
@@ -71,18 +71,20 @@ const deserializedTranslations = new Map();
71
71
  * to be garbage-collected once the batch request finishes.
72
72
  *
73
73
  * @param filename The name of the file to load.
74
+ * @param codeBlob The source code file as a Blob.
74
75
  * @param cache Whether to cache the loaded file data in the Worker's long-term cache.
75
76
  * @returns The cached or newly extracted code and localization metadata.
76
77
  */
77
- function loadFileData(filename, cache = true) {
78
+ function loadFileData(filename, codeBlob, cache = true) {
78
79
  const existing = fileDataCache.get(filename);
79
80
  if (existing) {
81
+ if (!cache) {
82
+ fileDataCache.delete(filename);
83
+ }
80
84
  return existing;
81
85
  }
82
86
  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();
87
+ const code = await codeBlob.text();
86
88
  const metadata = extractLocalizeMetadata(filename, code);
87
89
  return { code, metadata };
88
90
  })();
@@ -102,14 +104,13 @@ function loadFileData(filename, cache = true) {
102
104
  * @returns The translation messages, or undefined if the locale has no translations.
103
105
  */
104
106
  function loadTranslation(locale, translation) {
105
- const translationData = translation ?? translations?.get(locale);
106
- if (!translationData) {
107
+ if (!translation) {
107
108
  return undefined;
108
109
  }
109
110
  let messagesPromise = deserializedTranslations.get(locale);
110
111
  if (!messagesPromise) {
111
- if (translationData instanceof Blob) {
112
- messagesPromise = translationData
112
+ if (translation instanceof Blob) {
113
+ messagesPromise = translation
113
114
  .arrayBuffer()
114
115
  .then((buffer) => (0, node_v8_1.deserialize)(new Uint8Array(buffer)))
115
116
  .catch((error) => {
@@ -118,33 +119,12 @@ function loadTranslation(locale, translation) {
118
119
  });
119
120
  }
120
121
  else {
121
- messagesPromise = Promise.resolve((0, i18n_translation_reader_1.createSharedTranslationProxy)(translationData));
122
+ messagesPromise = Promise.resolve((0, i18n_translation_reader_1.createSharedTranslationProxy)(translation));
122
123
  }
123
124
  deserializedTranslations.set(locale, messagesPromise);
124
125
  }
125
126
  return messagesPromise;
126
127
  }
127
- /**
128
- * Inlines the provided locale and translation into a JavaScript file that contains `$localize` usage.
129
- * This function is the main entry for the Worker's action that is called by the worker pool.
130
- *
131
- * @param request An InlineRequest object representing the options for inlining
132
- * @returns An object containing the inlined file and optional map content.
133
- */
134
- async function inlineFile(request) {
135
- const { code, metadata } = await loadFileData(request.filename, true);
136
- // Sourcemaps are parsed on demand per request rather than cached long-term to prevent
137
- // monotonic memory growth as a worker processes multiple files across the build.
138
- const rawMap = await files.get(request.filename + '.map')?.text();
139
- const map = rawMap ? JSON.parse(rawMap) : undefined;
140
- const result = await inlineLocalize(code, map, metadata, request.locale, await loadTranslation(request.locale, request.translation), request.filename);
141
- return {
142
- file: request.filename,
143
- code: result.code,
144
- map: result.map,
145
- messages: result.diagnostics.messages,
146
- };
147
- }
148
128
  /**
149
129
  * Inlines multiple locales and translations into a JavaScript file that contains `$localize` usage.
150
130
  *
@@ -152,6 +132,11 @@ async function inlineFile(request) {
152
132
  * @returns An object containing the inlined results for each requested locale.
153
133
  */
154
134
  async function inlineFileBatch(request) {
135
+ if (request.generation !== undefined && request.generation !== currentGeneration) {
136
+ currentGeneration = request.generation;
137
+ fileDataCache.clear();
138
+ deserializedTranslations.clear();
139
+ }
155
140
  if (request.activeLocales) {
156
141
  const activeSet = new Set(request.activeLocales);
157
142
  for (const locale of deserializedTranslations.keys()) {
@@ -160,15 +145,27 @@ async function inlineFileBatch(request) {
160
145
  }
161
146
  }
162
147
  }
163
- const { code, metadata } = await loadFileData(request.filename, !request.ephemeral);
164
- // Parse the sourcemap once for the entire batch.
148
+ const { code, metadata } = await loadFileData(request.filename, request.code, !request.ephemeral);
149
+ // Fast path: file has no $localize call sites or locale insert sites
150
+ if (metadata.callSites.length === 0 && metadata.localeInsertSites.length === 0) {
151
+ return {
152
+ file: request.filename,
153
+ unmodified: true,
154
+ messages: (metadata.diagnostics ?? []).map((message) => ({
155
+ type: 'error',
156
+ message,
157
+ })),
158
+ };
159
+ }
160
+ // Parse the sourcemap once for the entire batch if provided.
165
161
  // 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);
162
+ let map;
163
+ if (request.map) {
164
+ const rawMap = await request.map.text();
165
+ map = rawMap ? JSON.parse(rawMap) : undefined;
166
+ }
167
+ const results = await Promise.all(Array.from(request.locales, async ([locale, translation]) => {
168
+ const result = await inlineLocalize(code, map, metadata, locale, await loadTranslation(locale, translation), request.filename, request.missingTranslation);
172
169
  return {
173
170
  locale,
174
171
  code: result.code,
@@ -190,9 +187,9 @@ async function inlineFileBatch(request) {
190
187
  */
191
188
  async function inlineCode(request) {
192
189
  const metadata = extractLocalizeMetadata(request.filename, request.code);
193
- const result = await inlineLocalize(request.code, undefined, metadata, request.locale, await loadTranslation(request.locale, request.translation), request.filename);
190
+ const result = await inlineLocalize(request.code, undefined, metadata, request.locale, await loadTranslation(request.locale, request.translation), request.filename, request.missingTranslation);
194
191
  return {
195
- output: result.code,
192
+ output: result.code ?? request.code,
196
193
  messages: result.diagnostics.messages,
197
194
  };
198
195
  }
@@ -213,49 +210,6 @@ async function loadLocalizeTools() {
213
210
  localizeToolsModule ??= await Promise.resolve().then(() => __importStar(require('@angular/localize/tools')));
214
211
  return localizeToolsModule;
215
212
  }
216
- /**
217
- * Traverses ESTree AST nodes in post-order (bottom-up) without recursion.
218
- * Bottom-up traversal ensures that nested `$localize` expressions are transformed and
219
- * written to MagicString before outer containing templates are evaluated.
220
- *
221
- * @param root The root AST node to traverse.
222
- * @param onExit Callback invoked on each AST node in post-order.
223
- */
224
- function walkAstPostOrder(root, onExit) {
225
- const traverseStack = [root];
226
- const postOrderNodes = [];
227
- while (traverseStack.length > 0) {
228
- const current = traverseStack.pop();
229
- if (!current) {
230
- continue;
231
- }
232
- postOrderNodes.push(current);
233
- const keys = oxc_parser_1.visitorKeys[current.type];
234
- if (!keys) {
235
- continue;
236
- }
237
- for (let i = 0; i < keys.length; i++) {
238
- const child = current[keys[i]];
239
- if (!child) {
240
- continue;
241
- }
242
- if (Array.isArray(child)) {
243
- for (const item of child) {
244
- if (item) {
245
- traverseStack.push(item);
246
- }
247
- }
248
- }
249
- else {
250
- traverseStack.push(child);
251
- }
252
- }
253
- }
254
- // Process collected nodes in reverse order to achieve bottom-up (post-order) traversal
255
- for (let i = postOrderNodes.length - 1; i >= 0; i--) {
256
- onExit(postOrderNodes[i]);
257
- }
258
- }
259
213
  /**
260
214
  * Extracts localization call sites and locale insertion points from JavaScript code using OXC.
261
215
  *
@@ -273,7 +227,7 @@ function extractLocalizeMetadata(filename, code) {
273
227
  const callSites = [];
274
228
  const localeInsertSites = [];
275
229
  let diagnostics;
276
- walkAstPostOrder(program, (node) => {
230
+ (0, traversal_1.traversePostOrder)(program, (node) => {
277
231
  if (node.type === 'Literal') {
278
232
  if (typeof node.value === 'string' && node.value === '___NG_LOCALE_INSERT___') {
279
233
  localeInsertSites.push({ start: node.start, end: node.end });
@@ -299,11 +253,13 @@ function extractLocalizeMetadata(filename, code) {
299
253
  start: expr.start,
300
254
  end: expr.end,
301
255
  }));
256
+ const expressionIndexes = expressions.map((_, index) => index);
302
257
  callSites.push({
303
258
  start: node.start,
304
259
  end: node.end,
305
260
  messageParts,
306
261
  expressions,
262
+ expressionIndexes,
307
263
  });
308
264
  }
309
265
  }
@@ -311,6 +267,16 @@ function extractLocalizeMetadata(filename, code) {
311
267
  });
312
268
  return { callSites, localeInsertSites, diagnostics };
313
269
  }
270
+ /**
271
+ * Escapes a template literal string part for insertion into an ES template literal (backticks).
272
+ * Uses JSON.stringify for base escaping of control characters and backslashes, then unescapes
273
+ * double quotes and escapes backticks and `${` expression delimiters in a single pass.
274
+ */
275
+ function escapeTemplatePart(part) {
276
+ return JSON.stringify(part)
277
+ .slice(1, -1)
278
+ .replace(/\\"|`|\$\{/g, (match) => (match === '\\"' ? '"' : '\\' + match));
279
+ }
314
280
  /**
315
281
  * Inlines translations into code using previously extracted localization metadata.
316
282
  *
@@ -320,9 +286,10 @@ function extractLocalizeMetadata(filename, code) {
320
286
  * @param locale The target locale identifier.
321
287
  * @param translation The translation messages dictionary, or undefined for untranslated locale.
322
288
  * @param filename The name of the file being transformed.
289
+ * @param missingTranslation How to handle missing translations.
323
290
  * @returns The transformed code, optional remapped source map, and diagnostics.
324
291
  */
325
- async function inlineLocalize(code, map, metadata, locale, translation, filename) {
292
+ async function inlineLocalize(code, map, metadata, locale, translation, filename, missingTranslation = 'warning') {
326
293
  const magicString = new magic_string_1.MagicString(code);
327
294
  const { Diagnostics, translate } = await loadLocalizeTools();
328
295
  const diagnostics = new Diagnostics();
@@ -346,7 +313,7 @@ async function inlineLocalize(code, map, metadata, locale, translation, filename
346
313
  }
347
314
  }
348
315
  for (const callSite of metadata.callSites) {
349
- const [translatedParts, translatedSubstitutions] = translate(diagnostics, translation || {}, callSite.messageParts, callSite.expressions.map((_, index) => index), translation === undefined ? 'ignore' : missingTranslation);
316
+ const [translatedParts, translatedSubstitutions] = translate(diagnostics, translation || {}, callSite.messageParts, callSite.expressionIndexes, translation === undefined ? 'ignore' : missingTranslation);
350
317
  // Reconstruct the new template/string literal replacement
351
318
  let replacement;
352
319
  if (translatedSubstitutions.length === 0) {
@@ -355,12 +322,7 @@ async function inlineLocalize(code, map, metadata, locale, translation, filename
355
322
  else {
356
323
  replacement = '`';
357
324
  for (let i = 0; i < translatedParts.length; i++) {
358
- const escapedPart = JSON.stringify(translatedParts[i])
359
- .slice(1, -1)
360
- .replace(/\\"/g, '"')
361
- .replace(/`/g, '\\`')
362
- .replace(/\$\{/g, '\\${');
363
- replacement += escapedPart;
325
+ replacement += escapeTemplatePart(translatedParts[i]);
364
326
  if (i < translatedSubstitutions.length) {
365
327
  const originalIndex = translatedSubstitutions[i];
366
328
  const expr = callSite.expressions[originalIndex];
@@ -372,9 +334,16 @@ async function inlineLocalize(code, map, metadata, locale, translation, filename
372
334
  }
373
335
  magicString.overwrite(callSite.start, callSite.end, replacement);
374
336
  }
337
+ if (!magicString.hasChanged()) {
338
+ return {
339
+ code: undefined,
340
+ map: undefined,
341
+ diagnostics,
342
+ };
343
+ }
375
344
  const outputCode = magicString.toString();
376
345
  let outputMap;
377
- if (map && magicString.hasChanged()) {
346
+ if (map) {
378
347
  // A decoded map is generated here rather than an encoded one because remapping decodes its
379
348
  // inputs. Encoding the mappings only for remapping to immediately decode them again doubles
380
349
  // the peak memory of the largest structure involved in inlining a file.
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-inliner-worker.js","sourceRoot":"","sources":["i18n-inliner-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-inliner-worker.js","sourceRoot":"","sources":["i18n-inliner-worker.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,20 @@
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
  import { type BuildOutputFile } from './bundler-files';
9
10
  /**
10
11
  * Inlining options that should apply to all transformed code.
11
12
  */
12
13
  export interface I18nInlinerOptions {
13
14
  missingTranslation: 'error' | 'warning' | 'ignore';
14
- outputFiles: BuildOutputFile[];
15
- shouldOptimize?: boolean;
15
+ /**
16
+ * The maximum number of concurrent translation inlining operations.
17
+ * When omitted, concurrency defaults to the available worker pool threads.
18
+ */
19
+ maxConcurrency?: number;
16
20
  persistentCachePath?: string;
17
21
  localizeVersion?: string;
18
- translations?: ReadonlyMap<string, Blob | SharedArrayBuffer>;
19
22
  }
20
23
  /**
21
24
  * Options for inlining a specific locale.
@@ -28,7 +31,7 @@ export interface LocaleInlineOptions {
28
31
  /**
29
32
  * The translation messages for the locale, or undefined for the source/untranslated locale.
30
33
  */
31
- translation?: Record<string, unknown>;
34
+ translation?: Record<string, ɵParsedTranslation>;
32
35
  /**
33
36
  * An optional content integrity hash of the translation file(s) for fast cache key calculation.
34
37
  */
@@ -51,28 +54,29 @@ export interface LocaleInlineResult {
51
54
  export declare class I18nInliner {
52
55
  #private;
53
56
  private readonly options;
54
- constructor(options: I18nInlinerOptions, maxThreads?: number);
57
+ constructor(options: I18nInlinerOptions);
55
58
  /**
56
59
  * Performs inlining of translations across multiple locales in parallel.
57
60
  *
58
61
  * An adaptive 2D task-partitioning algorithm distributes (files x locales) work units
59
62
  * across all worker threads while caching AST metadata and sourcemaps in worker memory.
60
63
  *
64
+ * @param files The build output files to transform.
61
65
  * @param locales The locales and translations to inline.
62
66
  * @returns A map of locale names to their inlined output files and diagnostics.
63
67
  */
64
- inlineAll(locales: Iterable<LocaleInlineOptions>): Promise<Map<string, LocaleInlineResult>>;
68
+ inlineAll(files: Iterable<BuildOutputFile>, locales: Iterable<LocaleInlineOptions>): Promise<Map<string, LocaleInlineResult>>;
65
69
  /**
66
- * Performs inlining of translations for the provided locale and translations. The files that
67
- * are processed originate from the files passed to the class constructor and filter by presence
68
- * of the localize function keyword.
70
+ * Performs inlining of translations for the provided locale and translations.
71
+ *
72
+ * @param files The build output files to transform.
69
73
  * @param locale The string representing the locale to inline.
70
74
  * @param translation The translation messages to use when inlining.
71
75
  * @param translationIntegrity An optional integrity value for the translation messages to use for caching.
72
76
  * @returns A promise that resolves to an array of OutputFiles representing a translated result.
73
77
  */
74
- inlineForLocale(locale: string, translation: Record<string, unknown> | undefined, translationIntegrity?: string): Promise<LocaleInlineResult>;
75
- inlineTemplateUpdate(locale: string, translation: Record<string, unknown> | undefined, templateCode: string, templateId: string): Promise<{
78
+ inlineForLocale(files: Iterable<BuildOutputFile>, locale: string, translation: Record<string, ɵParsedTranslation> | undefined, translationIntegrity?: string): Promise<LocaleInlineResult>;
79
+ inlineTemplateUpdate(locale: string, translation: Record<string, ɵParsedTranslation> | undefined, templateCode: string, templateId: string, translationIntegrity?: string): Promise<{
76
80
  code: string;
77
81
  errors: string[];
78
82
  warnings: string[];