@angular/build 22.2.0-next.2 → 22.2.0-next.4

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 (136) hide show
  1. package/package.json +11 -9
  2. package/src/builders/application/build-action.js +14 -3
  3. package/src/builders/application/build-action.js.map +1 -1
  4. package/src/builders/application/chunk-optimizer.d.ts +2 -2
  5. package/src/builders/application/chunk-optimizer.js +6 -5
  6. package/src/builders/application/chunk-optimizer.js.map +1 -1
  7. package/src/builders/application/execute-build.js +44 -18
  8. package/src/builders/application/execute-build.js.map +1 -1
  9. package/src/builders/application/execute-post-bundle.d.ts +2 -2
  10. package/src/builders/application/execute-post-bundle.js +4 -4
  11. package/src/builders/application/execute-post-bundle.js.map +1 -1
  12. package/src/builders/application/i18n.js +22 -1
  13. package/src/builders/application/i18n.js.map +1 -1
  14. package/src/builders/application/options.d.ts +14 -0
  15. package/src/builders/application/options.js +2 -1
  16. package/src/builders/application/options.js.map +1 -1
  17. package/src/builders/application/setup-bundling.js +2 -2
  18. package/src/builders/application/setup-bundling.js.map +1 -1
  19. package/src/builders/dev-server/internal.d.ts +1 -1
  20. package/src/builders/dev-server/internal.js +2 -2
  21. package/src/builders/dev-server/internal.js.map +1 -1
  22. package/src/builders/dev-server/vite/server.js +6 -2
  23. package/src/builders/dev-server/vite/server.js.map +1 -1
  24. package/src/builders/unit-test/options.js +1 -1
  25. package/src/builders/unit-test/options.js.map +1 -1
  26. package/src/builders/unit-test/runners/vitest/build-options.js +6 -0
  27. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
  28. package/src/builders/unit-test/test-discovery.js +3 -2
  29. package/src/builders/unit-test/test-discovery.js.map +1 -1
  30. package/src/private.d.ts +1 -1
  31. package/src/private.js +2 -2
  32. package/src/private.js.map +1 -1
  33. package/src/tools/angular/angular-host.d.ts +1 -2
  34. package/src/tools/angular/angular-host.js +6 -6
  35. package/src/tools/angular/angular-host.js.map +1 -1
  36. package/src/tools/angular/compilation/angular-compilation.d.ts +23 -10
  37. package/src/tools/angular/compilation/angular-compilation.js +11 -1
  38. package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
  39. package/src/tools/angular/compilation/aot-compilation.d.ts +4 -10
  40. package/src/tools/angular/compilation/aot-compilation.js +23 -14
  41. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  42. package/src/tools/angular/compilation/factory.d.ts +5 -3
  43. package/src/tools/angular/compilation/factory.js +10 -5
  44. package/src/tools/angular/compilation/factory.js.map +1 -1
  45. package/src/tools/angular/compilation/index.d.ts +2 -2
  46. package/src/tools/angular/compilation/index.js.map +1 -1
  47. package/src/tools/angular/compilation/jit-compilation.d.ts +4 -7
  48. package/src/tools/angular/compilation/jit-compilation.js +14 -11
  49. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  50. package/src/tools/angular/compilation/noop-compilation.d.ts +3 -8
  51. package/src/tools/angular/compilation/noop-compilation.js +1 -1
  52. package/src/tools/angular/compilation/noop-compilation.js.map +1 -1
  53. package/src/tools/angular/compilation/parallel-compilation.d.ts +2 -8
  54. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
  55. package/src/tools/angular/compilation/parallel-worker.d.ts +3 -15
  56. package/src/tools/angular/compilation/parallel-worker.js +11 -6
  57. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  58. package/src/tools/angular/linker/oxc-linker.d.ts +2 -1
  59. package/src/tools/angular/linker/oxc-linker.js +2 -10
  60. package/src/tools/angular/linker/oxc-linker.js.map +1 -1
  61. package/src/tools/esbuild/angular/compiler-plugin.js +55 -28
  62. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  63. package/src/tools/esbuild/angular/component-stylesheets.js +7 -7
  64. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
  65. package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -2
  66. package/src/tools/esbuild/angular/source-file-cache.js +1 -11
  67. package/src/tools/esbuild/angular/source-file-cache.js.map +1 -1
  68. package/src/tools/esbuild/application-code-bundle.js +7 -2
  69. package/src/tools/esbuild/application-code-bundle.js.map +1 -1
  70. package/src/tools/esbuild/budget-stats.js +3 -3
  71. package/src/tools/esbuild/budget-stats.js.map +1 -1
  72. package/src/tools/esbuild/bundler-context.d.ts +20 -4
  73. package/src/tools/esbuild/bundler-context.js +15 -15
  74. package/src/tools/esbuild/bundler-context.js.map +1 -1
  75. package/src/tools/esbuild/bundler-files.js +3 -5
  76. package/src/tools/esbuild/bundler-files.js.map +1 -1
  77. package/src/tools/esbuild/i18n-inliner-worker.d.ts +8 -4
  78. package/src/tools/esbuild/i18n-inliner-worker.js +201 -55
  79. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
  80. package/src/tools/esbuild/i18n-inliner.d.ts +3 -1
  81. package/src/tools/esbuild/i18n-inliner.js +45 -11
  82. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  83. package/src/tools/esbuild/javascript-transformer-worker.d.ts +0 -4
  84. package/src/tools/esbuild/javascript-transformer-worker.js +105 -54
  85. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
  86. package/src/tools/esbuild/javascript-transformer.d.ts +1 -1
  87. package/src/tools/esbuild/javascript-transformer.js +63 -37
  88. package/src/tools/esbuild/javascript-transformer.js.map +1 -1
  89. package/src/tools/esbuild/license-extractor.d.ts +1 -1
  90. package/src/tools/esbuild/license-extractor.js +89 -86
  91. package/src/tools/esbuild/license-extractor.js.map +1 -1
  92. package/src/tools/esbuild/persistent-load-result-cache.js +11 -13
  93. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
  94. package/src/tools/esbuild/sqlite-cache-store.js +51 -1
  95. package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
  96. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js +4 -8
  97. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js.map +1 -1
  98. package/src/tools/esbuild/target.d.ts +29 -0
  99. package/src/tools/esbuild/target.js +105 -0
  100. package/src/tools/esbuild/target.js.map +1 -0
  101. package/src/tools/esbuild/utils.d.ts +2 -12
  102. package/src/tools/esbuild/utils.js +9 -64
  103. package/src/tools/esbuild/utils.js.map +1 -1
  104. package/src/tools/esbuild/watcher.d.ts +21 -2
  105. package/src/tools/esbuild/watcher.js +483 -60
  106. package/src/tools/esbuild/watcher.js.map +1 -1
  107. package/src/tools/oxc/oxc-transform.d.ts +2 -1
  108. package/src/tools/oxc/oxc-transform.js +5 -16
  109. package/src/tools/oxc/oxc-transform.js.map +1 -1
  110. package/src/tools/sass/rebasing-importer.d.ts +5 -5
  111. package/src/tools/sass/rebasing-importer.js +5 -2
  112. package/src/tools/sass/rebasing-importer.js.map +1 -1
  113. package/src/tools/sass/worker.d.ts +1 -1
  114. package/src/tools/sass/worker.js.map +1 -1
  115. package/src/tools/vite/middlewares/assets-middleware.js +3 -3
  116. package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
  117. package/src/tools/vite/utils.d.ts +2 -1
  118. package/src/tools/vite/utils.js +2 -1
  119. package/src/tools/vite/utils.js.map +1 -1
  120. package/src/utils/bundle-calculator.js +12 -3
  121. package/src/utils/bundle-calculator.js.map +1 -1
  122. package/src/utils/hash.d.ts +24 -0
  123. package/src/utils/hash.js +94 -0
  124. package/src/utils/hash.js.map +1 -0
  125. package/src/utils/i18n-options.d.ts +1 -0
  126. package/src/utils/i18n-options.js.map +1 -1
  127. package/src/utils/index-file/auto-csp.js +36 -17
  128. package/src/utils/index-file/auto-csp.js.map +1 -1
  129. package/src/utils/index-file/inline-critical-css.js +153 -109
  130. package/src/utils/index-file/inline-critical-css.js.map +1 -1
  131. package/src/utils/normalize-cache.js +1 -1
  132. package/src/utils/server-rendering/manifest.js +9 -4
  133. package/src/utils/server-rendering/manifest.js.map +1 -1
  134. package/src/utils/source-map.d.ts +26 -2
  135. package/src/utils/source-map.js +172 -85
  136. package/src/utils/source-map.js.map +1 -1
@@ -24,13 +24,13 @@ function generateBudgetStats(metafile, outputFiles, initialFiles) {
24
24
  assets: [],
25
25
  };
26
26
  for (const { path: file, size, type } of outputFiles) {
27
- if (!file.endsWith('.js') && !file.endsWith('.css')) {
28
- continue;
29
- }
30
27
  // Exclude server bundles
31
28
  if (type === bundler_files_1.BuildOutputFileType.ServerApplication || type === bundler_files_1.BuildOutputFileType.ServerRoot) {
32
29
  continue;
33
30
  }
31
+ if (!file.endsWith('.js') && !file.endsWith('.css')) {
32
+ continue;
33
+ }
34
34
  const initialRecord = initialFiles.get(file);
35
35
  const name = initialRecord?.name ?? (0, utils_1.getChunkNameFromMetafile)(metafile, file);
36
36
  stats.chunks.push({
@@ -1 +1 @@
1
- {"version":3,"file":"budget-stats.js","sourceRoot":"","sources":["budget-stats.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAeH,kDAyDC;AApED,mDAAoG;AACpG,mCAAmD;AAEnD;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,QAAkB,EAClB,WAA8B,EAC9B,YAA4C;IAE5C,MAAM,KAAK,GAA0B;QACnC,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,KAAK,mCAAmB,CAAC,iBAAiB,IAAI,IAAI,KAAK,mCAAmB,CAAC,UAAU,EAAE,CAAC;YAC9F,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,IAAA,gCAAwB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE7E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,aAAa;YACxB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,gEAAgE;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,cAAc,GAAa,KAAa,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,sCAAsC;YACtC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"budget-stats.js","sourceRoot":"","sources":["budget-stats.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAeH,kDAyDC;AApED,mDAAoG;AACpG,mCAAmD;AAEnD;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,QAAkB,EAClB,WAA8B,EAC9B,YAA4C;IAE5C,MAAM,KAAK,GAA0B;QACnC,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;QACrD,yBAAyB;QACzB,IAAI,IAAI,KAAK,mCAAmB,CAAC,iBAAiB,IAAI,IAAI,KAAK,mCAAmB,CAAC,UAAU,EAAE,CAAC;YAC9F,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,aAAa,EAAE,IAAI,IAAI,IAAA,gCAAwB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE7E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,aAAa;YACxB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,IAAI;YACV,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,gEAAgE;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,cAAc,GAAa,KAAa,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,sCAAsC;YACtC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -15,11 +15,27 @@ export type BundleContextResult = {
15
15
  errors: undefined;
16
16
  warnings: Message[];
17
17
  metafile: Metafile;
18
+ platform: 'browser' | 'server';
19
+ outputFiles: BuildOutputFile[];
20
+ initialFiles: Map<string, InitialFileRecord>;
21
+ externalImports: Set<string>;
22
+ externalConfiguration?: string[];
23
+ };
24
+ export type BundleMergedContextResult = {
25
+ errors: Message[];
26
+ warnings: Message[];
27
+ } | {
28
+ errors: undefined;
29
+ warnings: Message[];
30
+ metafiles: {
31
+ browser: Metafile;
32
+ server: Metafile;
33
+ };
18
34
  outputFiles: BuildOutputFile[];
19
35
  initialFiles: Map<string, InitialFileRecord>;
20
36
  externalImports: {
21
- server?: Set<string>;
22
- browser?: Set<string>;
37
+ server: Set<string>;
38
+ browser: Set<string>;
23
39
  };
24
40
  externalConfiguration?: string[];
25
41
  };
@@ -32,8 +48,8 @@ export declare class BundlerContext {
32
48
  private initialFilter?;
33
49
  readonly watchFiles: Set<string>;
34
50
  constructor(workspaceRoot: string, incremental: boolean, options: BuildOptions | BundlerOptionsFactory, alwaysUseContext?: boolean, initialFilter?: ((initial: Readonly<InitialFileRecord>) => boolean) | undefined);
35
- static bundleAll(contexts: Iterable<BundlerContext>, changedFiles?: Iterable<string>): Promise<BundleContextResult>;
36
- static mergeResults(results: BundleContextResult[]): BundleContextResult;
51
+ static bundleAll(contexts: Iterable<BundlerContext>, changedFiles?: Iterable<string>): Promise<BundleContextResult[]>;
52
+ static mergeResults(results: BundleContextResult[]): BundleMergedContextResult;
37
53
  /**
38
54
  * Executes the esbuild build function and normalizes the build result in the event of a
39
55
  * build failure that results in no output being generated.
@@ -55,23 +55,19 @@ class BundlerContext {
55
55
  };
56
56
  };
57
57
  }
58
- static async bundleAll(contexts, changedFiles) {
59
- const individualResults = await Promise.all([...contexts].map((context) => {
58
+ static bundleAll(contexts, changedFiles) {
59
+ return Promise.all([...contexts].map((context) => {
60
60
  if (changedFiles) {
61
61
  context.invalidate(changedFiles);
62
62
  }
63
63
  return context.bundle();
64
64
  }));
65
- return BundlerContext.mergeResults(individualResults);
66
65
  }
67
66
  static mergeResults(results) {
68
- // Return directly if only one result
69
- if (results.length === 1) {
70
- return results[0];
71
- }
72
67
  let errors;
73
68
  const warnings = [];
74
- const metafile = { inputs: {}, outputs: {} };
69
+ const browserMetafile = { inputs: {}, outputs: {} };
70
+ const serverMetafile = { inputs: {}, outputs: {} };
75
71
  const initialFiles = new Map();
76
72
  const externalImportsBrowser = new Set();
77
73
  const externalImportsServer = new Set();
@@ -84,15 +80,17 @@ class BundlerContext {
84
80
  errors.push(...result.errors);
85
81
  continue;
86
82
  }
87
- // Combine metafiles used for the stats option as well as bundle budgets and console output
83
+ const platformIsBrowser = result.platform === 'browser';
84
+ // Combine metafiles used for the bundle budgets and console output
88
85
  if (result.metafile) {
86
+ const metafile = platformIsBrowser ? browserMetafile : serverMetafile;
89
87
  Object.assign(metafile.inputs, result.metafile.inputs);
90
88
  Object.assign(metafile.outputs, result.metafile.outputs);
91
89
  }
90
+ const externalImports = platformIsBrowser ? externalImportsBrowser : externalImportsServer;
91
+ result.externalImports?.forEach((value) => externalImports.add(value));
92
92
  result.initialFiles.forEach((value, key) => initialFiles.set(key, value));
93
93
  outputFiles.push(...result.outputFiles);
94
- result.externalImports.browser?.forEach((value) => externalImportsBrowser.add(value));
95
- result.externalImports.server?.forEach((value) => externalImportsServer.add(value));
96
94
  if (result.externalConfiguration) {
97
95
  externalConfiguration ??= new Set();
98
96
  for (const value of result.externalConfiguration) {
@@ -106,13 +104,16 @@ class BundlerContext {
106
104
  return {
107
105
  errors,
108
106
  warnings,
109
- metafile,
110
107
  initialFiles,
111
108
  outputFiles,
112
109
  externalImports: {
113
110
  browser: externalImportsBrowser,
114
111
  server: externalImportsServer,
115
112
  },
113
+ metafiles: {
114
+ browser: browserMetafile,
115
+ server: serverMetafile,
116
+ },
116
117
  externalConfiguration: externalConfiguration ? [...externalConfiguration] : undefined,
117
118
  };
118
119
  }
@@ -333,9 +334,8 @@ class BundlerContext {
333
334
  ...result,
334
335
  outputFiles,
335
336
  initialFiles,
336
- externalImports: {
337
- [isPlatformServer ? 'server' : 'browser']: externalImports,
338
- },
337
+ externalImports,
338
+ platform: isPlatformServer ? 'server' : 'browser',
339
339
  externalConfiguration,
340
340
  errors: undefined,
341
341
  };
@@ -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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"}
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.BuildOutputFileType = void 0;
11
11
  exports.createOutputFile = createOutputFile;
12
12
  exports.convertOutputFile = convertOutputFile;
13
- const node_crypto_1 = require("node:crypto");
13
+ const hash_1 = require("../../utils/hash");
14
14
  var BuildOutputFileType;
15
15
  (function (BuildOutputFileType) {
16
16
  BuildOutputFileType[BuildOutputFileType["Browser"] = 0] = "Browser";
@@ -43,9 +43,7 @@ function createOutputFile(path, data, type) {
43
43
  return this.contents.byteLength;
44
44
  },
45
45
  get hash() {
46
- cachedHash ??= (0, node_crypto_1.createHash)('sha256')
47
- .update(cachedText ?? this.contents)
48
- .digest('hex');
46
+ cachedHash ??= (0, hash_1.calculateHash)(cachedText ?? this.contents);
49
47
  return cachedHash;
50
48
  },
51
49
  clone() {
@@ -75,7 +73,7 @@ function createOutputFile(path, data, type) {
75
73
  return cachedText;
76
74
  },
77
75
  get hash() {
78
- cachedHash ??= (0, node_crypto_1.createHash)('sha256').update(this.contents).digest('hex');
76
+ cachedHash ??= (0, hash_1.calculateHash)(this.contents);
79
77
  return cachedHash;
80
78
  },
81
79
  clone() {
@@ -1 +1 @@
1
- {"version":3,"file":"bundler-files.js","sourceRoot":"","sources":["bundler-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler-files.js","sourceRoot":"","sources":["bundler-files.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA4BH,4CAwEC;AAED,8CA2BC;AA9HD,2CAAiD;AAWjD,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,mEAAO,CAAA;IACP,+DAAK,CAAA;IACL,uFAAiB,CAAA;IACjB,yEAAU,CAAA;IACV,6DAAI,CAAA;AACN,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B;AAQD,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,IAAyB,EACzB,IAAyB;IAEzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,cAAc,GAAsB,IAAI,CAAC;QAC7C,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,UAAU,GAAkB,IAAI,CAAC;QAErC,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,IAAI,QAAQ;gBACV,cAAc,KAAK,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAElD,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,CAAC,KAAiB;gBAC5B,cAAc,GAAG,KAAK,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,IAAI;gBACN,UAAU,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE9D,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,IAAI;gBACN,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,CAAC;YACD,IAAI,IAAI;gBACN,UAAU,KAAK,IAAA,oBAAa,EAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE1D,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK;gBACH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,UAAU,GAAkB,IAAI,CAAC;QAErC,OAAO;YACL,IAAI,QAAQ;gBACV,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,CAAC,KAAiB;gBAC5B,cAAc,GAAG,KAAK,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI;YACJ,IAAI;YACJ,IAAI,IAAI;gBACN,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,CAAC;YACD,IAAI,IAAI;gBACN,UAAU,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE9D,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,IAAI;gBACN,UAAU,KAAK,IAAA,oBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE5C,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK;gBACH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAgB,EAAE,IAAyB;IAC3E,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACxC,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,QAAQ,CAAC,KAAiB;YAC5B,cAAc,GAAG,KAAK,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAClC,CAAC;QACD,IAAI,IAAI;YACN,UAAU,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9D,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,KAAK;YACH,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -19,9 +19,11 @@ interface InlineFileRequest {
19
19
  */
20
20
  locale: string;
21
21
  /**
22
- * The translation messages for the locale that should be used during the inlining process of the file.
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
25
  */
24
- translation?: Record<string, unknown>;
26
+ translation?: Blob;
25
27
  }
26
28
  /**
27
29
  * The options passed to the inliner for each code request
@@ -40,9 +42,11 @@ interface InlineCodeRequest {
40
42
  */
41
43
  locale: string;
42
44
  /**
43
- * The translation messages for the locale that should be used during the inlining process of the file.
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.
44
48
  */
45
- translation?: Record<string, unknown>;
49
+ translation?: Blob;
46
50
  }
47
51
  /**
48
52
  * Inlines the provided locale and translation into a JavaScript file that contains `$localize` usage.
@@ -48,11 +48,59 @@ exports.inlineCode = inlineCode;
48
48
  const remapping_1 = __importDefault(require("@ampproject/remapping"));
49
49
  const magic_string_1 = require("magic-string");
50
50
  const node_assert_1 = __importDefault(require("node:assert"));
51
+ const node_v8_1 = require("node:v8");
51
52
  const node_worker_threads_1 = require("node:worker_threads");
52
53
  const oxc_parser_1 = require("oxc-parser");
53
54
  // Extract the application files and common options used for inline requests from the Worker context
54
- // TODO: Evaluate overall performance difference of passing translations here as well
55
- const { files, missingTranslation, shouldOptimize } = (node_worker_threads_1.workerData || {});
55
+ const { files, missingTranslation } = (node_worker_threads_1.workerData || {});
56
+ /**
57
+ * Cache of file data promises keyed by filename.
58
+ */
59
+ const fileDataCache = new Map();
60
+ /**
61
+ * Cache of deserialized translation messages keyed by locale.
62
+ */
63
+ const deserializedTranslations = new Map();
64
+ /**
65
+ * Retrieves the cached file data for a filename, loading and extracting it on the first request.
66
+ *
67
+ * @param filename The name of the file to load.
68
+ * @returns The cached code and localization metadata.
69
+ */
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
+ })();
80
+ fileDataCache.set(filename, fileDataPromise);
81
+ }
82
+ return fileDataPromise;
83
+ }
84
+ /**
85
+ * Deserializes the translation messages for an inline request, reusing the result for any
86
+ * subsequent request that targets the same locale.
87
+ * @param request An inline request containing the locale and its serialized messages.
88
+ * @returns The translation messages, or undefined if the locale has no translations.
89
+ */
90
+ function loadTranslation(request) {
91
+ const { locale, translation } = request;
92
+ if (!translation) {
93
+ return undefined;
94
+ }
95
+ let messagesPromise = deserializedTranslations.get(locale);
96
+ if (!messagesPromise) {
97
+ messagesPromise = translation
98
+ .arrayBuffer()
99
+ .then((buffer) => (0, node_v8_1.deserialize)(new Uint8Array(buffer)));
100
+ deserializedTranslations.set(locale, messagesPromise);
101
+ }
102
+ return messagesPromise;
103
+ }
56
104
  /**
57
105
  * Inlines the provided locale and translation into a JavaScript file that contains `$localize` usage.
58
106
  * This function is the main entry for the Worker's action that is called by the worker pool.
@@ -61,11 +109,14 @@ const { files, missingTranslation, shouldOptimize } = (node_worker_threads_1.wor
61
109
  * @returns An object containing the inlined file and optional map content.
62
110
  */
63
111
  async function inlineFile(request) {
64
- const data = files.get(request.filename);
65
- (0, node_assert_1.default)(data !== undefined, `Invalid inline request for file '${request.filename}'.`);
66
- const code = await data.text();
67
- const map = await files.get(request.filename + '.map')?.text();
68
- const result = await transformWithOxc(code, map && JSON.parse(map), request);
112
+ const { code, metadata } = await getFileData(request.filename);
113
+ // Sourcemaps are parsed on demand per request rather than cached long-term to prevent
114
+ // 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
+ const rawMap = await files.get(request.filename + '.map')?.text();
118
+ const map = rawMap ? JSON.parse(rawMap) : undefined;
119
+ const result = await inlineLocalize(code, map, metadata, request.locale, await loadTranslation(request), request.filename);
69
120
  return {
70
121
  file: request.filename,
71
122
  code: result.code,
@@ -81,7 +132,8 @@ async function inlineFile(request) {
81
132
  * @returns An object containing the inlined code.
82
133
  */
83
134
  async function inlineCode(request) {
84
- const result = await transformWithOxc(request.code, undefined, request);
135
+ const metadata = extractLocalizeMetadata(request.filename, request.code);
136
+ const result = await inlineLocalize(request.code, undefined, metadata, request.locale, await loadTranslation(request), request.filename);
85
137
  return {
86
138
  output: result.code,
87
139
  messages: result.diagnostics.messages,
@@ -105,71 +157,165 @@ async function loadLocalizeTools() {
105
157
  return localizeToolsModule;
106
158
  }
107
159
  /**
108
- * Transforms a JavaScript file using OXC and Magic-String to inline the request locale and translation.
109
- * @param code A string containing the JavaScript code to transform.
110
- * @param map A sourcemap object for the provided JavaScript code.
111
- * @param options The inline request options to use.
112
- * @returns An object containing the code, map, and diagnostics from the transformation.
160
+ * Traverses ESTree AST nodes in post-order (bottom-up) without recursion.
161
+ * Bottom-up traversal ensures that nested `$localize` expressions are transformed and
162
+ * written to MagicString before outer containing templates are evaluated.
163
+ *
164
+ * @param root The root AST node to traverse.
165
+ * @param onExit Callback invoked on each AST node in post-order.
113
166
  */
114
- async function transformWithOxc(code, map, options) {
115
- const { program } = (0, oxc_parser_1.parseSync)(options.filename, code, {
167
+ function walkAstPostOrder(root, onExit) {
168
+ const traverseStack = [root];
169
+ const postOrderNodes = [];
170
+ while (traverseStack.length > 0) {
171
+ const current = traverseStack.pop();
172
+ if (!current) {
173
+ continue;
174
+ }
175
+ postOrderNodes.push(current);
176
+ const keys = oxc_parser_1.visitorKeys[current.type];
177
+ if (!keys) {
178
+ continue;
179
+ }
180
+ for (let i = 0; i < keys.length; i++) {
181
+ const child = current[keys[i]];
182
+ if (!child) {
183
+ continue;
184
+ }
185
+ if (Array.isArray(child)) {
186
+ for (const item of child) {
187
+ if (item) {
188
+ traverseStack.push(item);
189
+ }
190
+ }
191
+ }
192
+ else {
193
+ traverseStack.push(child);
194
+ }
195
+ }
196
+ }
197
+ // Process collected nodes in reverse order to achieve bottom-up (post-order) traversal
198
+ for (let i = postOrderNodes.length - 1; i >= 0; i--) {
199
+ onExit(postOrderNodes[i]);
200
+ }
201
+ }
202
+ /**
203
+ * Extracts localization call sites and locale insertion points from JavaScript code using OXC.
204
+ *
205
+ * @param filename The name of the file being processed.
206
+ * @param code The JavaScript source code.
207
+ * @returns The extracted localization metadata.
208
+ */
209
+ function extractLocalizeMetadata(filename, code) {
210
+ const { program } = (0, oxc_parser_1.parseSync)(filename, code, {
116
211
  sourceType: 'unambiguous',
117
212
  });
118
213
  if (!program) {
119
- throw new Error(`Unknown error occurred parsing file "${options.filename}" with OXC.`);
214
+ throw new Error(`Unknown error occurred parsing file "${filename}" with OXC.`);
120
215
  }
121
- const magicString = new magic_string_1.MagicString(code);
122
- const { Diagnostics, translate } = await loadLocalizeTools();
123
- const diagnostics = new Diagnostics();
124
- const visitor = new oxc_parser_1.Visitor({
125
- Literal(node) {
216
+ const callSites = [];
217
+ const localeInsertSites = [];
218
+ let diagnostics;
219
+ walkAstPostOrder(program, (node) => {
220
+ if (node.type === 'Literal') {
126
221
  if (typeof node.value === 'string' && node.value === '___NG_LOCALE_INSERT___') {
127
- magicString.overwrite(node.start, node.end, JSON.stringify(options.locale));
222
+ localeInsertSites.push({ start: node.start, end: node.end });
128
223
  }
129
- },
130
- 'TaggedTemplateExpression:exit'(node) {
224
+ }
225
+ else if (node.type === 'TaggedTemplateExpression') {
131
226
  if (node.tag.type === 'Identifier' && node.tag.name === '$localize') {
132
- const cooked = node.quasi.quasis.map((q) => q.value.cooked);
133
- const raw = node.quasi.quasis.map((q) => q.value.raw);
134
- const messageParts = Object.assign(cooked, { raw });
135
- const [translatedParts, translatedSubstitutions] = translate(diagnostics, options.translation || {}, messageParts, node.quasi.expressions.map((_, index) => index), options.translation === undefined ? 'ignore' : missingTranslation);
136
- // Reconstruct the new template/string literal replacement
137
- let replacement;
138
- if (translatedSubstitutions.length === 0) {
139
- replacement = JSON.stringify(translatedParts[0]);
140
- }
141
- else {
142
- replacement = '`';
143
- for (let i = 0; i < translatedParts.length; i++) {
144
- const escapedPart = JSON.stringify(translatedParts[i])
145
- .slice(1, -1)
146
- .replace(/\\"/g, '"')
147
- .replace(/`/g, '\\`')
148
- .replace(/\$\{/g, '\\${');
149
- replacement += escapedPart;
150
- if (i < translatedSubstitutions.length) {
151
- const originalIndex = translatedSubstitutions[i];
152
- const exprNode = node.quasi.expressions[originalIndex];
153
- const exprCode = magicString.slice(exprNode.start, exprNode.end);
154
- replacement += '${' + exprCode + '}';
155
- }
227
+ const cooked = [];
228
+ const raw = [];
229
+ let hasMalformedEscape = false;
230
+ for (const q of node.quasi.quasis) {
231
+ if (q.value.cooked === null || q.value.cooked === undefined) {
232
+ hasMalformedEscape = true;
233
+ (diagnostics ??= []).push(`Malformed escape sequence in $localize template literal in file "${filename}".`);
234
+ break;
156
235
  }
157
- replacement += '`';
236
+ cooked.push(q.value.cooked);
237
+ raw.push(q.value.raw);
238
+ }
239
+ if (!hasMalformedEscape) {
240
+ const messageParts = Object.assign(cooked, { raw });
241
+ const expressions = node.quasi.expressions.map((expr) => ({
242
+ start: expr.start,
243
+ end: expr.end,
244
+ }));
245
+ callSites.push({
246
+ start: node.start,
247
+ end: node.end,
248
+ messageParts,
249
+ expressions,
250
+ });
158
251
  }
159
- magicString.overwrite(node.start, node.end, replacement);
160
252
  }
161
- },
253
+ }
162
254
  });
163
- visitor.visit(program);
255
+ return { callSites, localeInsertSites, diagnostics };
256
+ }
257
+ /**
258
+ * Inlines translations into code using previously extracted localization metadata.
259
+ *
260
+ * @param code The source code to transform.
261
+ * @param map Optional source map for the source code.
262
+ * @param metadata Extracted localization metadata.
263
+ * @param locale The target locale identifier.
264
+ * @param translation The translation messages dictionary, or undefined for untranslated locale.
265
+ * @param filename The name of the file being transformed.
266
+ * @returns The transformed code, optional remapped source map, and diagnostics.
267
+ */
268
+ async function inlineLocalize(code, map, metadata, locale, translation, filename) {
269
+ const magicString = new magic_string_1.MagicString(code);
270
+ const { Diagnostics, translate } = await loadLocalizeTools();
271
+ const diagnostics = new Diagnostics();
272
+ if (metadata.diagnostics) {
273
+ for (const message of metadata.diagnostics) {
274
+ diagnostics.error(message);
275
+ }
276
+ }
277
+ for (const site of metadata.localeInsertSites) {
278
+ magicString.overwrite(site.start, site.end, JSON.stringify(locale));
279
+ }
280
+ for (const callSite of metadata.callSites) {
281
+ const [translatedParts, translatedSubstitutions] = translate(diagnostics, translation || {}, callSite.messageParts, callSite.expressions.map((_, index) => index), translation === undefined ? 'ignore' : missingTranslation);
282
+ // Reconstruct the new template/string literal replacement
283
+ let replacement;
284
+ if (translatedSubstitutions.length === 0) {
285
+ replacement = JSON.stringify(translatedParts[0]);
286
+ }
287
+ else {
288
+ replacement = '`';
289
+ for (let i = 0; i < translatedParts.length; i++) {
290
+ const escapedPart = JSON.stringify(translatedParts[i])
291
+ .slice(1, -1)
292
+ .replace(/\\"/g, '"')
293
+ .replace(/`/g, '\\`')
294
+ .replace(/\$\{/g, '\\${');
295
+ replacement += escapedPart;
296
+ if (i < translatedSubstitutions.length) {
297
+ const originalIndex = translatedSubstitutions[i];
298
+ const expr = callSite.expressions[originalIndex];
299
+ const exprCode = magicString.slice(expr.start, expr.end);
300
+ replacement += '${' + exprCode + '}';
301
+ }
302
+ }
303
+ replacement += '`';
304
+ }
305
+ magicString.overwrite(callSite.start, callSite.end, replacement);
306
+ }
164
307
  const outputCode = magicString.toString();
165
308
  let outputMap;
166
309
  if (map && magicString.hasChanged()) {
167
- const rawMap = magicString.generateMap({
168
- source: options.filename,
310
+ // A decoded map is generated here rather than an encoded one because remapping decodes its
311
+ // inputs. Encoding the mappings only for remapping to immediately decode them again doubles
312
+ // the peak memory of the largest structure involved in inlining a file.
313
+ const rawMap = magicString.generateDecodedMap({
314
+ source: filename,
169
315
  includeContent: true,
170
316
  hires: 'boundary',
171
317
  });
172
- outputMap = (0, remapping_1.default)([rawMap, map], () => null);
318
+ outputMap = (0, remapping_1.default)([{ ...rawMap, version: 3 }, map], () => null);
173
319
  }
174
320
  return {
175
321
  code: outputCode,
@@ -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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"}