@angular/build 22.2.0-rc.0 → 22.2.1

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 (148) hide show
  1. package/package.json +11 -11
  2. package/src/builders/application/build-action.js +14 -59
  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 +1 -1
  7. package/src/builders/application/execute-post-bundle.js.map +1 -1
  8. package/src/builders/application/i18n.js +5 -3
  9. package/src/builders/application/i18n.js.map +1 -1
  10. package/src/{tools/esbuild → builders/application}/index-html-generator.d.ts +2 -2
  11. package/src/{tools/esbuild → builders/application}/index-html-generator.js +1 -1
  12. package/src/builders/application/index-html-generator.js.map +1 -0
  13. package/src/builders/application/options.d.ts +5 -0
  14. package/src/builders/application/options.js +3 -24
  15. package/src/builders/application/options.js.map +1 -1
  16. package/src/builders/dev-server/internal.d.ts +1 -1
  17. package/src/builders/dev-server/internal.js +1 -1
  18. package/src/builders/dev-server/internal.js.map +1 -1
  19. package/src/builders/karma/schema.d.ts +4 -4
  20. package/src/builders/karma/schema.json +2 -2
  21. package/src/builders/unit-test/runners/vitest/build-options.js +14 -3
  22. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
  23. package/src/builders/unit-test/runners/vitest/executor.js +7 -1
  24. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
  25. package/src/builders/unit-test/runners/vitest/plugins.d.ts +1 -0
  26. package/src/builders/unit-test/runners/vitest/plugins.js +7 -2
  27. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
  28. package/src/builders/unit-test/schema.d.ts +4 -3
  29. package/src/builders/unit-test/schema.js.map +1 -1
  30. package/src/builders/unit-test/schema.json +2 -2
  31. package/src/private.d.ts +2 -2
  32. package/src/private.js +2 -2
  33. package/src/private.js.map +1 -1
  34. package/src/tools/angular/compilation/aot-compilation.js +1 -1
  35. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  36. package/src/tools/angular/compilation/compiler-options.d.ts +1 -0
  37. package/src/tools/angular/compilation/compiler-options.js.map +1 -1
  38. package/src/tools/angular/compilation/jit-compilation.js +1 -1
  39. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  40. package/src/tools/angular/compilation/parallel-compilation.js +1 -1
  41. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  42. package/src/tools/angular/compilation/parallel-worker.js +1 -1
  43. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  44. package/src/tools/angular/compilation/typescript-compilation.js +12 -2
  45. package/src/tools/angular/compilation/typescript-compilation.js.map +1 -1
  46. package/src/tools/angular/linker/oxc-ast-host.js +41 -11
  47. package/src/tools/angular/linker/oxc-ast-host.js.map +1 -1
  48. package/src/tools/angular/linker/oxc-linker.js +28 -4
  49. package/src/tools/angular/linker/oxc-linker.js.map +1 -1
  50. package/src/tools/esbuild/angular/compiler-plugin.d.ts +1 -0
  51. package/src/tools/esbuild/angular/compiler-plugin.js +4 -3
  52. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  53. package/src/tools/esbuild/angular/component-stylesheets.js +1 -1
  54. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
  55. package/src/tools/esbuild/bundler-execution-result.d.ts +1 -1
  56. package/src/tools/esbuild/compiler-plugin-options.js +2 -1
  57. package/src/tools/esbuild/compiler-plugin-options.js.map +1 -1
  58. package/src/tools/esbuild/i18n-locale-plugin.d.ts +1 -40
  59. package/src/tools/esbuild/i18n-locale-plugin.js +11 -101
  60. package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
  61. package/src/tools/esbuild/persistent-load-result-cache.d.ts +1 -1
  62. package/src/tools/esbuild/persistent-load-result-cache.js +3 -17
  63. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
  64. package/src/tools/esbuild/stylesheets/bundle-options.d.ts +1 -0
  65. package/src/tools/esbuild/stylesheets/bundle-options.js +1 -1
  66. package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -1
  67. package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +3 -1
  68. package/src/tools/esbuild/stylesheets/css-resource-plugin.js +4 -2
  69. package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -1
  70. package/src/tools/esbuild/stylesheets/sass-language.d.ts +7 -0
  71. package/src/tools/esbuild/stylesheets/sass-language.js +34 -13
  72. package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
  73. package/src/tools/{esbuild → i18n}/i18n-inliner-worker.js +47 -33
  74. package/src/tools/i18n/i18n-inliner-worker.js.map +1 -0
  75. package/src/tools/{esbuild → i18n}/i18n-inliner.d.ts +1 -1
  76. package/src/tools/{esbuild → i18n}/i18n-inliner.js +35 -9
  77. package/src/tools/i18n/i18n-inliner.js.map +1 -0
  78. package/src/tools/i18n/index.d.ts +11 -0
  79. package/src/tools/i18n/index.js +28 -0
  80. package/src/tools/i18n/index.js.map +1 -0
  81. package/src/tools/i18n/locale-data.d.ts +47 -0
  82. package/src/tools/i18n/locale-data.js +108 -0
  83. package/src/tools/i18n/locale-data.js.map +1 -0
  84. package/src/tools/javascript-transformer/index.d.ts +8 -0
  85. package/src/tools/javascript-transformer/index.js +25 -0
  86. package/src/tools/javascript-transformer/index.js.map +1 -0
  87. package/src/tools/{esbuild → javascript-transformer}/javascript-transformer-worker.js +3 -2
  88. package/src/tools/javascript-transformer/javascript-transformer-worker.js.map +1 -0
  89. package/src/tools/{esbuild → javascript-transformer}/javascript-transformer.d.ts +1 -1
  90. package/src/tools/{esbuild → javascript-transformer}/javascript-transformer.js.map +1 -1
  91. package/src/tools/vite/middlewares/assets-middleware.js +1 -1
  92. package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
  93. package/src/tools/vite/middlewares/ssr-middleware.d.ts +2 -2
  94. package/src/tools/vite/middlewares/ssr-middleware.js +5 -3
  95. package/src/tools/vite/middlewares/ssr-middleware.js.map +1 -1
  96. package/src/tools/vite/plugins/setup-middlewares-plugin.js +2 -2
  97. package/src/tools/vite/plugins/setup-middlewares-plugin.js.map +1 -1
  98. package/src/tools/vite/utils.d.ts +1 -1
  99. package/src/{tools/esbuild → utils/cache}/cache.js +2 -2
  100. package/src/{tools/esbuild → utils/cache}/cache.js.map +1 -1
  101. package/src/utils/cache/index.d.ts +8 -0
  102. package/src/utils/cache/index.js +25 -0
  103. package/src/utils/cache/index.js.map +1 -0
  104. package/src/utils/concurrency.d.ts +30 -0
  105. package/src/utils/concurrency.js +81 -0
  106. package/src/utils/concurrency.js.map +1 -0
  107. package/src/utils/environment-options.d.ts +8 -0
  108. package/src/utils/environment-options.js +9 -1
  109. package/src/utils/environment-options.js.map +1 -1
  110. package/src/utils/index-file/auto-csp.d.ts +8 -0
  111. package/src/utils/index-file/auto-csp.js +34 -5
  112. package/src/utils/index-file/auto-csp.js.map +1 -1
  113. package/src/utils/normalize-cache.js +7 -2
  114. package/src/utils/normalize-cache.js.map +1 -1
  115. package/src/utils/postcss-configuration.d.ts +6 -0
  116. package/src/utils/postcss-configuration.js +23 -0
  117. package/src/utils/postcss-configuration.js.map +1 -1
  118. package/src/{tools/esbuild → utils}/profiling.js +1 -1
  119. package/src/{tools/esbuild → utils}/profiling.js.map +1 -1
  120. package/src/utils/resolve-assets.d.ts +4 -0
  121. package/src/utils/resolve-assets.js +6 -2
  122. package/src/utils/resolve-assets.js.map +1 -1
  123. package/src/utils/version.js +1 -1
  124. package/src/{tools/esbuild → utils}/watcher.d.ts +24 -0
  125. package/src/{tools/esbuild → utils}/watcher.js +239 -15
  126. package/src/utils/watcher.js.map +1 -0
  127. package/src/tools/esbuild/i18n-inliner-worker.js.map +0 -1
  128. package/src/tools/esbuild/i18n-inliner.js.map +0 -1
  129. package/src/tools/esbuild/index-html-generator.js.map +0 -1
  130. package/src/tools/esbuild/javascript-transformer-worker.js.map +0 -1
  131. package/src/tools/esbuild/watcher.js.map +0 -1
  132. /package/src/tools/{esbuild → i18n}/i18n-inliner-worker.d.ts +0 -0
  133. /package/src/tools/{esbuild → i18n}/i18n-translation-encoder.d.ts +0 -0
  134. /package/src/tools/{esbuild → i18n}/i18n-translation-encoder.js +0 -0
  135. /package/src/tools/{esbuild → i18n}/i18n-translation-encoder.js.map +0 -0
  136. /package/src/tools/{esbuild → i18n}/i18n-translation-reader.d.ts +0 -0
  137. /package/src/tools/{esbuild → i18n}/i18n-translation-reader.js +0 -0
  138. /package/src/tools/{esbuild → i18n}/i18n-translation-reader.js.map +0 -0
  139. /package/src/tools/{esbuild → javascript-transformer}/javascript-transformer-worker.d.ts +0 -0
  140. /package/src/tools/{esbuild → javascript-transformer}/javascript-transformer.js +0 -0
  141. /package/src/{tools/esbuild → utils/cache}/cache.d.ts +0 -0
  142. /package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.d.ts +0 -0
  143. /package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js +0 -0
  144. /package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js.map +0 -0
  145. /package/src/{tools/esbuild → utils/cache}/sqlite-cache-store.d.ts +0 -0
  146. /package/src/{tools/esbuild → utils/cache}/sqlite-cache-store.js +0 -0
  147. /package/src/{tools/esbuild → utils/cache}/sqlite-cache-store.js.map +0 -0
  148. /package/src/{tools/esbuild → utils}/profiling.d.ts +0 -0
@@ -39,19 +39,16 @@ var __importStar = (this && this.__importStar) || (function () {
39
39
  return result;
40
40
  };
41
41
  })();
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
42
  Object.defineProperty(exports, "__esModule", { value: true });
46
43
  exports.inlineFileBatch = inlineFileBatch;
47
44
  exports.inlineCode = inlineCode;
48
- const remapping_1 = __importDefault(require("@ampproject/remapping"));
45
+ const localize_1 = require("@angular/localize");
49
46
  const magic_string_1 = require("magic-string");
50
47
  const node_v8_1 = require("node:v8");
51
48
  const oxc_parser_1 = require("oxc-parser");
52
49
  const traversal_1 = require("../oxc/traversal");
53
- const i18n_locale_plugin_1 = require("./i18n-locale-plugin");
54
50
  const i18n_translation_reader_1 = require("./i18n-translation-reader");
51
+ const locale_data_1 = require("./locale-data");
55
52
  /**
56
53
  * Cache of file data promises keyed by filename.
57
54
  */
@@ -64,6 +61,7 @@ const deserializedTranslations = new Map();
64
61
  * The current inlining generation for this worker.
65
62
  */
66
63
  let currentGeneration;
64
+ let remapping;
67
65
  /**
68
66
  * Retrieves the file data for a filename, loading and extracting localization metadata.
69
67
  * If `cache` is true, the result is cached in `fileDataCache` across requests in this Worker.
@@ -164,15 +162,16 @@ async function inlineFileBatch(request) {
164
162
  const rawMap = await request.map.text();
165
163
  map = rawMap ? JSON.parse(rawMap) : undefined;
166
164
  }
167
- const results = await Promise.all(Array.from(request.locales, async ([locale, translation]) => {
165
+ const results = [];
166
+ for (const [locale, translation] of request.locales) {
168
167
  const result = await inlineLocalize(code, map, metadata, locale, await loadTranslation(locale, translation), request.filename, request.missingTranslation);
169
- return {
168
+ results.push({
170
169
  locale,
171
170
  code: result.code,
172
171
  map: result.map,
173
- messages: result.diagnostics.messages,
174
- };
175
- }));
172
+ messages: result.diagnostics,
173
+ });
174
+ }
176
175
  return {
177
176
  file: request.filename,
178
177
  results,
@@ -190,25 +189,40 @@ async function inlineCode(request) {
190
189
  const result = await inlineLocalize(request.code, undefined, metadata, request.locale, await loadTranslation(request.locale, request.translation), request.filename, request.missingTranslation);
191
190
  return {
192
191
  output: result.code ?? request.code,
193
- messages: result.diagnostics.messages,
192
+ messages: result.diagnostics,
194
193
  };
195
194
  }
196
195
  /**
197
- * Cached instance of the `@angular/localize/tools` module.
198
- * This is used to remove the need to repeatedly import the module per file translation.
196
+ * Translates a $localize message using @angular/localize low-level runtime functions.
197
+ * Handles missing translations and errors without requiring @angular/localize/tools.
199
198
  */
200
- let localizeToolsModule;
201
- /**
202
- * Attempts to load the `@angular/localize/tools` module containing the functionality to
203
- * perform the file translations.
204
- * This module must be dynamically loaded as it is an ESM module and this file is CommonJS.
205
- */
206
- async function loadLocalizeTools() {
207
- // Load ESM `@angular/localize/tools` using the TypeScript dynamic import workaround.
208
- // Once TypeScript provides support for keeping the dynamic import this workaround can be
209
- // changed to a direct dynamic import.
210
- localizeToolsModule ??= await Promise.resolve().then(() => __importStar(require('@angular/localize/tools')));
211
- return localizeToolsModule;
199
+ function translateMessage(diagnostics, translations, messageParts, substitutions, missingTranslation) {
200
+ // Fast path: untranslated locale (e.g. source locale without a translation dictionary).
201
+ // Directly parse the message parts to strip metadata and placeholder markers without
202
+ // throwing and catching a MissingTranslationError exception.
203
+ if (translations === undefined) {
204
+ const message = (0, localize_1.ɵparseMessage)(messageParts, substitutions);
205
+ return [(0, localize_1.ɵmakeTemplateObject)(message.messageParts, message.messageParts), substitutions];
206
+ }
207
+ try {
208
+ return (0, localize_1.ɵtranslate)(translations, messageParts, substitutions);
209
+ }
210
+ catch (error) {
211
+ if ((0, localize_1.ɵisMissingTranslationError)(error)) {
212
+ if (missingTranslation !== 'ignore') {
213
+ diagnostics.push({ type: missingTranslation, message: error.message });
214
+ }
215
+ return [
216
+ (0, localize_1.ɵmakeTemplateObject)(error.parsedMessage.messageParts, error.parsedMessage.messageParts),
217
+ substitutions,
218
+ ];
219
+ }
220
+ else {
221
+ const message = error instanceof Error ? error.message : String(error);
222
+ diagnostics.push({ type: 'error', message });
223
+ return [messageParts, substitutions];
224
+ }
225
+ }
212
226
  }
213
227
  /**
214
228
  * Extracts localization call sites and locale insertion points from JavaScript code using OXC.
@@ -291,20 +305,19 @@ function escapeTemplatePart(part) {
291
305
  */
292
306
  async function inlineLocalize(code, map, metadata, locale, translation, filename, missingTranslation = 'warning') {
293
307
  const magicString = new magic_string_1.MagicString(code);
294
- const { Diagnostics, translate } = await loadLocalizeTools();
295
- const diagnostics = new Diagnostics();
308
+ const diagnostics = [];
296
309
  if (metadata.diagnostics) {
297
310
  for (const message of metadata.diagnostics) {
298
- diagnostics.error(message);
311
+ diagnostics.push({ type: 'error', message });
299
312
  }
300
313
  }
301
314
  if (metadata.localeInsertSites.length > 0) {
302
- const localeData = await (0, i18n_locale_plugin_1.loadLocaleData)(locale);
315
+ const localeData = await (0, locale_data_1.loadLocaleData)(locale);
303
316
  if (localeData.error) {
304
- diagnostics.error(localeData.error);
317
+ diagnostics.push({ type: 'error', message: localeData.error });
305
318
  }
306
319
  else if (localeData.warning) {
307
- diagnostics.warn(localeData.warning);
320
+ diagnostics.push({ type: 'warning', message: localeData.warning });
308
321
  }
309
322
  let injected = false;
310
323
  for (const site of metadata.localeInsertSites) {
@@ -313,7 +326,7 @@ async function inlineLocalize(code, map, metadata, locale, translation, filename
313
326
  }
314
327
  }
315
328
  for (const callSite of metadata.callSites) {
316
- const [translatedParts, translatedSubstitutions] = translate(diagnostics, translation || {}, callSite.messageParts, callSite.expressionIndexes, translation === undefined ? 'ignore' : missingTranslation);
329
+ const [translatedParts, translatedSubstitutions] = translateMessage(diagnostics, translation, callSite.messageParts, callSite.expressionIndexes, translation === undefined ? 'ignore' : missingTranslation);
317
330
  // Reconstruct the new template/string literal replacement
318
331
  let replacement;
319
332
  if (translatedSubstitutions.length === 0) {
@@ -352,7 +365,8 @@ async function inlineLocalize(code, map, metadata, locale, translation, filename
352
365
  includeContent: true,
353
366
  hires: 'boundary',
354
367
  });
355
- outputMap = (0, remapping_1.default)([{ ...rawMap, version: 3 }, map], () => null);
368
+ remapping ??= (await Promise.resolve().then(() => __importStar(require('@ampproject/remapping')))).default;
369
+ outputMap = remapping([{ ...rawMap, version: 3 }, map], () => null);
356
370
  }
357
371
  return {
358
372
  code: outputCode,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-inliner-worker.js","sourceRoot":"","sources":["i18n-inliner-worker.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type { ɵParsedTranslation } from '@angular/localize';
9
9
  import { WorkerPool } from '../../utils/worker-pool';
10
- import { type BuildOutputFile } from './bundler-files';
10
+ import { type BuildOutputFile } from '../esbuild/bundler-files';
11
11
  /**
12
12
  * Inlining options that should apply to all transformed code.
13
13
  */
@@ -15,10 +15,10 @@ const node_assert_1 = __importDefault(require("node:assert"));
15
15
  const node_module_1 = require("node:module");
16
16
  const node_path_1 = require("node:path");
17
17
  const node_v8_1 = require("node:v8");
18
+ const cache_1 = require("../../utils/cache");
18
19
  const hash_1 = require("../../utils/hash");
19
20
  const worker_pool_1 = require("../../utils/worker-pool");
20
- const bundler_files_1 = require("./bundler-files");
21
- const cache_1 = require("./cache");
21
+ const bundler_files_1 = require("../esbuild/bundler-files");
22
22
  const i18n_translation_encoder_1 = require("./i18n-translation-encoder");
23
23
  // TODO: Convert to import.meta usage during ESM transition
24
24
  const localRequire = (0, node_module_1.createRequire)(__filename);
@@ -40,9 +40,15 @@ const DEFAULT_LOCALE_WINDOW_SIZE = 8;
40
40
  const SMALL_FILE_FLOOR_BYTES = 100 * 1024;
41
41
  /**
42
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.
43
+ * Files within 70% of the largest file are sharded across bounded workers for concurrency.
44
44
  */
45
45
  const DOMINANT_FILE_RATIO = 0.7;
46
+ /**
47
+ * Maximum number of worker threads to allocate concurrently across dominant files.
48
+ * Capping concurrency on dominant files (which hold large AST and sourcemap trees)
49
+ * prevents V8 heap and RSS explosion on machines with high CPU core counts.
50
+ */
51
+ const MAX_DOMINANT_WORKERS = 4;
46
52
  /**
47
53
  * Serializes the translation messages for a locale for transfer to an inliner Worker.
48
54
  *
@@ -326,6 +332,19 @@ class I18nInliner {
326
332
  // Heavy files (e.g. main.js) are queued first to saturate all worker threads immediately,
327
333
  // while small files act as gap fillers near the window barrier to prevent tail stragglers.
328
334
  sortedFiles.sort((a, b) => b.fileSize - a.fileSize);
335
+ const dominantThreshold = Math.max(SMALL_FILE_FLOOR_BYTES, maxFileSize * DOMINANT_FILE_RATIO);
336
+ let dominantCount = 0;
337
+ for (const { fileSize } of sortedFiles) {
338
+ if (fileSize >= dominantThreshold) {
339
+ dominantCount++;
340
+ }
341
+ else {
342
+ break;
343
+ }
344
+ }
345
+ const dominantTargetWorkers = dominantCount > 0
346
+ ? Math.max(1, Math.min(workerCount - 1, Math.floor(MAX_DOMINANT_WORKERS / dominantCount)))
347
+ : 1;
329
348
  const workerTasks = [];
330
349
  for (const { filename, entries, codeFile, fileSize } of sortedFiles) {
331
350
  const mapFile = localizeMaps.get(filename);
@@ -333,19 +352,26 @@ class I18nInliner {
333
352
  const mapBlob = mapFile ? new Blob([mapFile.contents]) : undefined;
334
353
  let localesPerBatch;
335
354
  if (uncachedByFile.size === 1) {
336
- // Single file in window: shard across all workers to avoid idle threads
337
- localesPerBatch = Math.max(1, Math.ceil(entries.length / workerCount));
355
+ // Single file in window: shard across bounded workers to balance throughput and peak memory
356
+ const targetWorkers = Math.min(workerCount, MAX_DOMINANT_WORKERS);
357
+ localesPerBatch = Math.max(1, Math.ceil(entries.length / targetWorkers));
338
358
  }
339
359
  else if (fileSize < SMALL_FILE_FLOOR_BYTES) {
340
360
  // Small chunks (< 100 KB): process all locales in 1 batch to eliminate IPC overhead
341
361
  localesPerBatch = entries.length;
342
362
  }
343
- else if (fileSize >= maxFileSize * DOMINANT_FILE_RATIO) {
344
- // Dominant file(s): shard across all workers for maximum multi-core parallelism
345
- localesPerBatch = Math.max(1, Math.ceil(entries.length / workerCount));
363
+ else if (fileSize >= dominantThreshold) {
364
+ // Dominant file(s) with multiple files: shard across bounded workers while always reserving
365
+ // at least one worker to process smaller chunks in parallel without starvation.
366
+ localesPerBatch = Math.max(1, Math.ceil(entries.length / dominantTargetWorkers));
367
+ }
368
+ else if (uncachedByFile.size >= workerCount) {
369
+ // Worker pool is already saturated by file-level concurrency;
370
+ // process all locales in a single batch to avoid duplicate parsing and IPC overhead.
371
+ localesPerBatch = entries.length;
346
372
  }
347
373
  else {
348
- // Intermediate files: moderate sharding
374
+ // Intermediate files with idle workers: moderate sharding
349
375
  localesPerBatch = Math.max(1, Math.ceil(entries.length / 2));
350
376
  }
351
377
  const ephemeral = isLastWindow && entries.length <= localesPerBatch;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAGH,8DAAiC;AACjC,6CAA4C;AAC5C,yCAA0C;AAC1C,qCAAoC;AACpC,6CAI2B;AAC3B,2CAAoF;AACpF,yDAAqD;AACrD,4DAIkC;AAOlC,yEAAuE;AAEvE,2DAA2D;AAC3D,MAAM,YAAY,GAAG,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAa1E;;;GAGG;AACH,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC;;;GAGG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC;;;GAGG;AACH,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE1C;;;GAGG;AACH,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oBAAoB,CACjC,WAA2D,EAC3D,oBAA6B,EAC7B,gBAAoC;IAEpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;QAC7C,IAAI,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;YAC7C,uEAAuE;YACvE,8EAA8E;YAC9E,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAC/E,OAAO,IAAI,UAAU,CAAC,IAAA,oDAAyB,EAAC,WAAW,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,kFAAkF;YAClF,8FAA8F;YAC9F,IACE,UAAU,CAAC,MAAM,YAAY,iBAAiB;gBAC9C,UAAU,CAAC,UAAU,KAAK,CAAC;gBAC3B,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,CAAC,UAAU,EACtD,CAAC;gBACD,OAAO,UAAU,CAAC,MAAM,CAAC;YAC3B,CAAC;YAED,wFAAwF;YACxF,gGAAgG;YAChG,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEvC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uFAAuF;QACvF,OAAO,IAAA,oDAAyB,EAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,IAAI,CAAC,CAAC,IAAA,mBAAS,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAiED;;;;;GAKG;AACH,MAAa,WAAW;IAcH;IAbnB,gBAAgB,GAAG,KAAK,CAAC;IAChB,WAAW,CAAa;IACxB,eAAe,CAAU;IAClC,WAAW,CAAmC;IAC9C,qBAAqB,CAA2C;IAChE,iBAAiB,CAAgC;IACjD,WAAW,GAAG,CAAC,CAAC;IAEhB,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,YACmB,OAA2B,EAC5C,UAAuB;QADN,YAAO,GAAP,OAAO,CAAoB;QAG5C,IACE,OAAO,CAAC,cAAc,KAAK,SAAS;YACpC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,EACzE,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,uEAAuE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,CAAC,UAAU,CAAC;QACnC,6EAA6E;QAC7E,gFAAgF;QAChF,kBAAkB;QAClB,IAAI,CAAC,WAAW;YACd,UAAU;gBACV,IAAI,wBAAU,CAAC;oBACb,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;iBACpF,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,KAAgC;QAM9C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;QACxD,MAAM,eAAe,GAAsB,EAAE,CAAC;QAE9C,MAAM,WAAW,GAAsB,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAmB,CAAC,UAAU,EAAE,CAAC;gBAC3F,oCAAoC;gBACpC,gCAAgC;gBAChC,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBACxD,qCAAqC;gBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAClD,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC1F,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,IAAI,WAAW,EAAE,CAAC;oBAChB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACnC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1B,SAAS;gBACX,CAAC;YACH,CAAC;iBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBACpC,sFAAsF;gBACtF,6EAA6E;gBAC7E,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,kGAAkG;QAClG,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;IACrE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAS,CACb,KAAgC,EAChC,OAAsC;QAEtC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvB,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEhG,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA8C,CAAC;QAClF,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YACpC,IAAA,qBAAM,EAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,wCAAwC,GAAG,MAAM,CAAC,CAAC;YAC5F,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,gEAAgE;QAChE,yGAAyG;QACzG,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YACvD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC;YAEzD,oFAAoF;YACpF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgD,CAAC;YAE5E,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,EAAE;gBACxE,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAC3C,WAAW,EACX,oBAAoB,EACpB,IAAI,CAAC,iBAAiB,CACvB,CAAC;gBACF,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAEpC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,gBAAgB,CAAC,GAAG,CAClB,MAAM,EACN,IAAA,oBAAa,EACX,IAAI,CAAC,SAAS,CAAC;wBACb,MAAM;wBACN,WAAW,EAAE,oBAAoB,IAAI,WAAW;wBAChD,kBAAkB;wBAClB,eAAe;qBAChB,CAAC,CACH,CACF,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiC,CAAC;YAEhE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC;gBACzC,MAAM,WAAW,GAAoB,EAAE,CAAC;gBAExC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAA,qBAAM,EAAC,IAAI,KAAK,SAAS,EAAE,4BAA4B,GAAG,QAAQ,CAAC,CAAC;oBAEpE,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,EAA4C,EAAE;wBAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACtD,IAAA,qBAAM,EAAC,gBAAgB,KAAK,SAAS,EAAE,oCAAoC,GAAG,MAAM,CAAC,CAAC;wBAEtF,MAAM,MAAM,GAAG,IAAA,wBAAiB,GAAE,CAAC;wBACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACxB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBAEjC,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACzC,IAAI,MAAM,EAAE,CAAC;gCACX,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gCAEvD,OAAO;4BACT,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;wBAEV,OAAO;4BACL,MAAM;4BACN,QAAQ;4BACR,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;yBACrC,CAAC;oBACJ,CAAC,CACF,CAAC;oBAEF,WAAW,CAAC,IAAI,CACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;wBAClF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,cAAc,CAAC,GAAG,CAChB,QAAQ,EACR,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;wBACjC,MAAM;wBACN,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;qBACrC,CAAC,CAAC,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,uBAAuB,CAChC,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,UAAU,CACX,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE9D,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,WAAW,GAAsB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjD,IAAA,qBAAM,EAAC,YAAY,KAAK,SAAS,EAAE,4BAA4B,GAAG,QAAQ,CAAC,CAAC;oBAE5E,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;oBAC/B,IAAI,UAAU,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;wBACjC,WAAW,CAAC,IAAI,CAAC,IAAA,gCAAgB,EAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;oBACzC,CAAC;oBAED,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBACjC,WAAW,CAAC,IAAI,CAAC,IAAA,gCAAgB,EAAC,QAAQ,GAAG,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC9E,CAAC;yBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBACrC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;oBACxC,CAAC;oBAED,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;wBAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC/B,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAEjE,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC1B,WAAW;gBACX,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,aAA2C,EAC3C,YAA0C,EAC1C,cAAkD,EAClD,mBAAoE,EACpE,aAAwB,EACxB,YAAY,GAAG,IAAI,EACnB,UAAmB;QAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;QAEzC,yEAAyE;QACzE,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAA,qBAAM,EAAC,QAAQ,KAAK,SAAS,EAAE,4BAA4B,GAAG,QAAQ,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9C,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC3B,WAAW,GAAG,QAAQ,CAAC;YACzB,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,4EAA4E;QAC5E,0FAA0F;QAC1F,2FAA2F;QAC3F,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;QAC9F,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;YACvC,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAClC,aAAa,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,qBAAqB,GACzB,aAAa,GAAG,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC,CAAC;QAER,MAAM,WAAW,GAAoB,EAAE,CAAC;QAExC,KAAK,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnE,IAAI,eAAuB,CAAC;YAC5B,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC9B,4FAA4F;gBAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;gBAClE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,QAAQ,GAAG,sBAAsB,EAAE,CAAC;gBAC7C,oFAAoF;gBACpF,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,CAAC;iBAAM,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBACzC,4FAA4F;gBAC5F,gFAAgF;gBAChF,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;YACnF,CAAC;iBAAM,IAAI,cAAc,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC9C,8DAA8D;gBAC9D,qFAAqF;gBACrF,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,0DAA0D;gBAC1D,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,SAAS,GAAG,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;gBACzD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;oBACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE;wBAC/D,QAAQ;wBACR,IAAI,EAAE,QAAQ;wBACd,GAAG,EAAE,OAAO;wBACZ,OAAO,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBACpE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;wBACnD,SAAS;wBACT,aAAa;wBACb,UAAU;qBACX,CAAC,CAAC;oBAEH,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;wBAC3B,MAAM,gBAAgB,GAA0B;4BAC9C,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,WAAW,CAAC,QAAQ;yBAC/B,CAAC;wBAEF,MAAM,aAAa,GAAuB,EAAE,CAAC;wBAC7C,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;4BAChD,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;4BAEjE,IAAI,IAAI,CAAC,qBAAqB,IAAI,QAAQ,EAAE,CAAC;gCAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;4BACjF,CAAC;wBACH,CAAC;wBACD,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,MAAM,aAAa,GAAuB,EAAE,CAAC;wBAC7C,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACtC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;4BACxE,MAAM,QAAQ,GAAG,aAAa,EAAE,QAAQ,CAAC;4BACzC,MAAM,UAAU,GAA0B;gCACxC,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,GAAG,EAAE,GAAG,CAAC,GAAG;gCACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;6BACvB,CAAC;4BAEF,IAAI,IAAI,CAAC,qBAAqB,IAAI,QAAQ,EAAE,CAAC;gCAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;4BAC3E,CAAC;4BAED,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;wBACjE,CAAC;wBACD,MAAM,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;gBAEL,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CACZ,IAAO,EACP,OAAoC;QAEpC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE;YACnC,QAAQ,EAAE,mBAAmB;YAC7B,IAAI;SACL,CAAwC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,KAAgC,EAChC,MAAc,EACd,WAA2D,EAC3D,oBAA6B;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAA,qBAAM,EAAC,MAAM,KAAK,SAAS,EAAE,sBAAsB,MAAM,sBAAsB,CAAC,CAAC;QAEjF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,WAA2D,EAC3D,YAAoB,EACpB,UAAkB,EAClB,oBAA6B;QAE7B,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACnE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;YACnD,WAAW,EAAE,MAAM,oBAAoB,CACrC,WAAW,EACX,oBAAoB,EACpB,IAAI,CAAC,iBAAiB,CACvB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,UAAU,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE;YACzB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,sEAAsE;QACtE,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvC,IAAA,qBAAc,GAAE;gBAChB,IAAA,kCAA0B,EAAC,IAAA,gBAAI,EAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;aACtE,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE7B,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,kDAAkD;gBAChD,gFAAgF,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAliBD,kCAkiBC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ export * from './i18n-inliner';
9
+ export * from './i18n-translation-encoder';
10
+ export * from './i18n-translation-reader';
11
+ export * from './locale-data';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ __exportStar(require("./i18n-inliner"), exports);
25
+ __exportStar(require("./i18n-translation-encoder"), exports);
26
+ __exportStar(require("./i18n-translation-reader"), exports);
27
+ __exportStar(require("./locale-data"), exports);
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,6DAA2C;AAC3C,4DAA0C;AAC1C,gDAA8B"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ /**
9
+ * The internal namespace used by generated locale import statements and Angular locale data plugin.
10
+ */
11
+ export declare const LOCALE_DATA_NAMESPACE = "angular:locale/data";
12
+ /**
13
+ * The base module location used to search for locale specific data.
14
+ */
15
+ export declare const LOCALE_DATA_BASE_MODULE = "@angular/common/locales/global";
16
+ /**
17
+ * Result of resolving locale data for a given locale tag.
18
+ */
19
+ export interface LocaleDataResolution {
20
+ path?: string;
21
+ warning?: string;
22
+ error?: string;
23
+ }
24
+ /**
25
+ * Result of loading locale data for a given locale tag.
26
+ */
27
+ export interface LoadedLocaleData {
28
+ code?: string;
29
+ warning?: string;
30
+ error?: string;
31
+ }
32
+ /**
33
+ * Resolves the path to the Angular locale data file for a given locale tag.
34
+ *
35
+ * @param rawLocaleTag The raw locale identifier (e.g. "fr-CA", "de", "en-US").
36
+ * @param projectResolve A function that attempts to resolve a path string to an absolute file path.
37
+ * @returns Resolution result with file path, or warning/error diagnostics if applicable.
38
+ */
39
+ export declare function resolveLocaleDataPath(rawLocaleTag: string, projectResolve: (potentialPath: string) => string | undefined): LocaleDataResolution;
40
+ /**
41
+ * Loads the Angular global locale data script for a specified locale tag.
42
+ *
43
+ * @param rawLocaleTag The raw locale identifier (e.g. "fr-CA", "de", "en-US").
44
+ * @param projectRoot Optional project root for module resolution.
45
+ * @returns A promise resolving to the loaded locale data script code and any diagnostic warnings.
46
+ */
47
+ export declare function loadLocaleData(rawLocaleTag: string, projectRoot?: string): Promise<LoadedLocaleData>;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.LOCALE_DATA_BASE_MODULE = exports.LOCALE_DATA_NAMESPACE = void 0;
11
+ exports.resolveLocaleDataPath = resolveLocaleDataPath;
12
+ exports.loadLocaleData = loadLocaleData;
13
+ const promises_1 = require("node:fs/promises");
14
+ const resolve_project_1 = require("../../utils/resolve-project");
15
+ /**
16
+ * The internal namespace used by generated locale import statements and Angular locale data plugin.
17
+ */
18
+ exports.LOCALE_DATA_NAMESPACE = 'angular:locale/data';
19
+ /**
20
+ * The base module location used to search for locale specific data.
21
+ */
22
+ exports.LOCALE_DATA_BASE_MODULE = '@angular/common/locales/global';
23
+ const localeDataCache = new Map();
24
+ /**
25
+ * Resolves the path to the Angular locale data file for a given locale tag.
26
+ *
27
+ * @param rawLocaleTag The raw locale identifier (e.g. "fr-CA", "de", "en-US").
28
+ * @param projectResolve A function that attempts to resolve a path string to an absolute file path.
29
+ * @returns Resolution result with file path, or warning/error diagnostics if applicable.
30
+ */
31
+ function resolveLocaleDataPath(rawLocaleTag, projectResolve) {
32
+ let partialLocaleTag;
33
+ try {
34
+ const locale = new Intl.Locale(rawLocaleTag);
35
+ partialLocaleTag = locale.baseName;
36
+ }
37
+ catch {
38
+ return {
39
+ error: `Invalid or unsupported locale provided in configuration: "${rawLocaleTag}"`,
40
+ };
41
+ }
42
+ let exact = true;
43
+ while (partialLocaleTag) {
44
+ // Angular embeds the `en`/`en-US` locale into the framework and it does not need to be included again here.
45
+ if (partialLocaleTag === 'en' || partialLocaleTag === 'en-US') {
46
+ return {};
47
+ }
48
+ const potentialPath = `${exports.LOCALE_DATA_BASE_MODULE}/${partialLocaleTag}`;
49
+ try {
50
+ const resolvedPath = projectResolve(potentialPath);
51
+ if (resolvedPath) {
52
+ return {
53
+ path: resolvedPath,
54
+ warning: exact
55
+ ? undefined
56
+ : `Locale data for '${rawLocaleTag}' cannot be found. Using locale data for '${partialLocaleTag}'.`,
57
+ };
58
+ }
59
+ }
60
+ catch { }
61
+ // Remove the last subtag and try again with a less specific locale.
62
+ const parts = partialLocaleTag.split('-');
63
+ partialLocaleTag = parts.slice(0, -1).join('-');
64
+ exact = false;
65
+ }
66
+ return {
67
+ warning: `Locale data for '${rawLocaleTag}' cannot be found. No locale data will be included for this locale.`,
68
+ };
69
+ }
70
+ /**
71
+ * Loads the Angular global locale data script for a specified locale tag.
72
+ *
73
+ * @param rawLocaleTag The raw locale identifier (e.g. "fr-CA", "de", "en-US").
74
+ * @param projectRoot Optional project root for module resolution.
75
+ * @returns A promise resolving to the loaded locale data script code and any diagnostic warnings.
76
+ */
77
+ function loadLocaleData(rawLocaleTag, projectRoot) {
78
+ let cached = localeDataCache.get(rawLocaleTag);
79
+ if (!cached) {
80
+ cached = (async () => {
81
+ const projectResolve = (0, resolve_project_1.createProjectResolver)(projectRoot ?? process.cwd());
82
+ const resolution = resolveLocaleDataPath(rawLocaleTag, (potentialPath) => {
83
+ try {
84
+ return projectResolve(potentialPath);
85
+ }
86
+ catch {
87
+ return undefined;
88
+ }
89
+ });
90
+ if (resolution.error) {
91
+ return { error: resolution.error };
92
+ }
93
+ if (resolution.path) {
94
+ try {
95
+ const code = await (0, promises_1.readFile)(resolution.path, 'utf8');
96
+ return { code, warning: resolution.warning };
97
+ }
98
+ catch (e) {
99
+ return { error: `Failed to read locale data file: ${e.message}` };
100
+ }
101
+ }
102
+ return { warning: resolution.warning };
103
+ })();
104
+ localeDataCache.set(rawLocaleTag, cached);
105
+ }
106
+ return cached;
107
+ }
108
+ //# sourceMappingURL=locale-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-data.js","sourceRoot":"","sources":["locale-data.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA0CH,sDA2CC;AASD,wCAqCC;AAjID,+CAA4C;AAC5C,iEAAoE;AAEpE;;GAEG;AACU,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAE3D;;GAEG;AACU,QAAA,uBAAuB,GAAG,gCAAgC,CAAC;AAoBxE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAqC,CAAC;AAErE;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,YAAoB,EACpB,cAA6D;IAE7D,IAAI,gBAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7C,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,6DAA6D,YAAY,GAAG;SACpF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,gBAAgB,EAAE,CAAC;QACxB,4GAA4G;QAC5G,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,+BAAuB,IAAI,gBAAgB,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;oBACL,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,KAAK;wBACZ,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,oBAAoB,YAAY,6CAA6C,gBAAgB,IAAI;iBACtG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,oEAAoE;QACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,oBAAoB,YAAY,qEAAqE;KAC/G,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,YAAoB,EACpB,WAAoB;IAEpB,IAAI,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,cAAc,GAAG,IAAA,uCAAqB,EAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,EAAE;gBACvE,IAAI,CAAC;oBACH,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;YACrC,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAErD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC/C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,EAAE,KAAK,EAAE,oCAAqC,CAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/E,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC,CAAC,EAAE,CAAC;QAEL,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ export * from './javascript-transformer';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ __exportStar(require("./javascript-transformer"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;AAEH,2DAAyC"}
@@ -44,7 +44,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.default = transformJavaScript;
47
- const remapping_1 = __importDefault(require("@ampproject/remapping"));
48
47
  const node_module_1 = require("node:module");
49
48
  const node_worker_threads_1 = require("node:worker_threads");
50
49
  const piscina_1 = __importDefault(require("piscina"));
@@ -53,6 +52,7 @@ const source_map_1 = require("../../utils/source-map");
53
52
  const oxc_transform_js_1 = require("../oxc/oxc-transform.js");
54
53
  const { sourcemap = false, thirdPartySourcemaps = false, advancedOptimizations = false, jit = false, } = (node_worker_threads_1.workerData || {});
55
54
  let babelLinkerDeps;
55
+ let remapping;
56
56
  const textDecoder = new TextDecoder();
57
57
  const textEncoder = new TextEncoder();
58
58
  async function instrumentCoverage(filename, data, useInputSourcemap) {
@@ -218,7 +218,8 @@ async function transformJavaScriptImpl(filename, data, options) {
218
218
  remappingChain.push(baseMap);
219
219
  }
220
220
  if (remappingChain.length > 0) {
221
- const finalMap = (0, remapping_1.default)(remappingChain, () => null).toString();
221
+ remapping ??= (await Promise.resolve().then(() => __importStar(require('@ampproject/remapping')))).default;
222
+ const finalMap = remapping(remappingChain, () => null).toString();
222
223
  const base64Map = Buffer.from(finalMap).toString('base64');
223
224
  code += `\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
224
225
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript-transformer-worker.js","sourceRoot":"","sources":["javascript-transformer-worker.ts"],"names":[],"mappings":"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"}
@@ -5,7 +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 { Cache } from './cache';
8
+ import { Cache } from '../../utils/cache';
9
9
  /**
10
10
  * Transformation options that should apply to all transformed files and data.
11
11
  */