@angular/build 22.2.0-next.1 → 22.2.0-next.3

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 (92) hide show
  1. package/package.json +10 -8
  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.js +1 -0
  5. package/src/builders/application/chunk-optimizer.js.map +1 -1
  6. package/src/builders/application/execute-build.js +2 -1
  7. package/src/builders/application/execute-build.js.map +1 -1
  8. package/src/builders/application/setup-bundling.js +2 -2
  9. package/src/builders/application/setup-bundling.js.map +1 -1
  10. package/src/builders/dev-server/internal.d.ts +1 -1
  11. package/src/builders/dev-server/internal.js +2 -2
  12. package/src/builders/dev-server/internal.js.map +1 -1
  13. package/src/builders/dev-server/vite/server.js +6 -2
  14. package/src/builders/dev-server/vite/server.js.map +1 -1
  15. package/src/builders/unit-test/options.js +1 -1
  16. package/src/builders/unit-test/options.js.map +1 -1
  17. package/src/builders/unit-test/test-discovery.js +3 -2
  18. package/src/builders/unit-test/test-discovery.js.map +1 -1
  19. package/src/private.d.ts +1 -1
  20. package/src/private.js +2 -2
  21. package/src/private.js.map +1 -1
  22. package/src/tools/angular/angular-host.js +3 -3
  23. package/src/tools/angular/angular-host.js.map +1 -1
  24. package/src/tools/angular/compilation/parallel-worker.js +2 -0
  25. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  26. package/src/tools/angular/linker/oxc-linker.d.ts +2 -1
  27. package/src/tools/angular/linker/oxc-linker.js +3 -11
  28. package/src/tools/angular/linker/oxc-linker.js.map +1 -1
  29. package/src/tools/angular/linker/string-ast-factory.js +17 -6
  30. package/src/tools/angular/linker/string-ast-factory.js.map +1 -1
  31. package/src/tools/esbuild/angular/compiler-plugin.js +4 -7
  32. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  33. package/src/tools/esbuild/angular/component-stylesheets.js +5 -6
  34. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
  35. package/src/tools/esbuild/application-code-bundle.js +2 -2
  36. package/src/tools/esbuild/application-code-bundle.js.map +1 -1
  37. package/src/tools/esbuild/bundler-files.js +3 -5
  38. package/src/tools/esbuild/bundler-files.js.map +1 -1
  39. package/src/tools/esbuild/i18n-inliner-worker.d.ts +8 -4
  40. package/src/tools/esbuild/i18n-inliner-worker.js +40 -7
  41. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
  42. package/src/tools/esbuild/i18n-inliner.js +37 -10
  43. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  44. package/src/tools/esbuild/javascript-transformer-worker.d.ts +0 -4
  45. package/src/tools/esbuild/javascript-transformer-worker.js +105 -55
  46. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
  47. package/src/tools/esbuild/javascript-transformer.d.ts +1 -1
  48. package/src/tools/esbuild/javascript-transformer.js +63 -37
  49. package/src/tools/esbuild/javascript-transformer.js.map +1 -1
  50. package/src/tools/esbuild/persistent-load-result-cache.js +11 -13
  51. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
  52. package/src/tools/esbuild/sqlite-cache-store.js +51 -1
  53. package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
  54. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js +4 -8
  55. package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js.map +1 -1
  56. package/src/tools/esbuild/target.d.ts +29 -0
  57. package/src/tools/esbuild/target.js +105 -0
  58. package/src/tools/esbuild/target.js.map +1 -0
  59. package/src/tools/esbuild/utils.d.ts +0 -10
  60. package/src/tools/esbuild/utils.js +0 -58
  61. package/src/tools/esbuild/utils.js.map +1 -1
  62. package/src/tools/esbuild/watcher.d.ts +21 -2
  63. package/src/tools/esbuild/watcher.js +483 -60
  64. package/src/tools/esbuild/watcher.js.map +1 -1
  65. package/src/tools/{babel/plugins → oxc}/oxc-transform.d.ts +2 -2
  66. package/src/tools/{babel/plugins → oxc}/oxc-transform.js +10 -18
  67. package/src/tools/oxc/oxc-transform.js.map +1 -0
  68. package/src/tools/sass/rebasing-importer.d.ts +5 -5
  69. package/src/tools/sass/rebasing-importer.js +5 -2
  70. package/src/tools/sass/rebasing-importer.js.map +1 -1
  71. package/src/tools/sass/worker.d.ts +1 -1
  72. package/src/tools/sass/worker.js.map +1 -1
  73. package/src/tools/vite/middlewares/assets-middleware.js +3 -3
  74. package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
  75. package/src/tools/vite/utils.d.ts +2 -1
  76. package/src/tools/vite/utils.js +2 -1
  77. package/src/tools/vite/utils.js.map +1 -1
  78. package/src/utils/bundle-calculator.js +12 -3
  79. package/src/utils/bundle-calculator.js.map +1 -1
  80. package/src/utils/hash.d.ts +24 -0
  81. package/src/utils/hash.js +94 -0
  82. package/src/utils/hash.js.map +1 -0
  83. package/src/utils/index-file/inline-critical-css.js +153 -109
  84. package/src/utils/index-file/inline-critical-css.js.map +1 -1
  85. package/src/utils/normalize-cache.js +1 -1
  86. package/src/utils/server-rendering/manifest.js +9 -4
  87. package/src/utils/server-rendering/manifest.js.map +1 -1
  88. package/src/utils/source-map.d.ts +26 -2
  89. package/src/utils/source-map.js +172 -85
  90. package/src/utils/source-map.js.map +1 -1
  91. package/src/tools/babel/plugins/oxc-transform.js.map +0 -1
  92. /package/src/tools/{babel/plugins → oxc}/types.d.ts +0 -0
@@ -48,11 +48,40 @@ 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
55
  const { files, missingTranslation, shouldOptimize } = (node_worker_threads_1.workerData || {});
56
+ /**
57
+ * The translation messages deserialized for the locale most recently requested of this Worker.
58
+ * Locales are inlined one at a time, so retaining only the active locale is enough to avoid
59
+ * deserializing the messages once per file while holding at most one set of messages in memory.
60
+ */
61
+ let activeTranslation;
62
+ /**
63
+ * Deserializes the translation messages for an inline request, reusing the result for any
64
+ * subsequent request that targets the same locale.
65
+ * @param request An inline request containing the locale and its serialized messages.
66
+ * @returns The translation messages, or undefined if the locale has no translations.
67
+ */
68
+ function loadTranslation(request) {
69
+ const { locale, translation } = request;
70
+ if (!translation) {
71
+ return undefined;
72
+ }
73
+ if (activeTranslation?.locale !== locale) {
74
+ activeTranslation = {
75
+ locale,
76
+ // Deserializing within the stored promise ensures that concurrent requests for a locale
77
+ // share the one deserialization instead of each performing their own.
78
+ messages: translation
79
+ .arrayBuffer()
80
+ .then((buffer) => (0, node_v8_1.deserialize)(new Uint8Array(buffer))),
81
+ };
82
+ }
83
+ return activeTranslation.messages;
84
+ }
56
85
  /**
57
86
  * Inlines the provided locale and translation into a JavaScript file that contains `$localize` usage.
58
87
  * This function is the main entry for the Worker's action that is called by the worker pool.
@@ -65,7 +94,7 @@ async function inlineFile(request) {
65
94
  (0, node_assert_1.default)(data !== undefined, `Invalid inline request for file '${request.filename}'.`);
66
95
  const code = await data.text();
67
96
  const map = await files.get(request.filename + '.map')?.text();
68
- const result = await transformWithOxc(code, map && JSON.parse(map), request);
97
+ const result = await transformWithOxc(code, map && JSON.parse(map), request, await loadTranslation(request));
69
98
  return {
70
99
  file: request.filename,
71
100
  code: result.code,
@@ -81,7 +110,7 @@ async function inlineFile(request) {
81
110
  * @returns An object containing the inlined code.
82
111
  */
83
112
  async function inlineCode(request) {
84
- const result = await transformWithOxc(request.code, undefined, request);
113
+ const result = await transformWithOxc(request.code, undefined, request, await loadTranslation(request));
85
114
  return {
86
115
  output: result.code,
87
116
  messages: result.diagnostics.messages,
@@ -109,9 +138,10 @@ async function loadLocalizeTools() {
109
138
  * @param code A string containing the JavaScript code to transform.
110
139
  * @param map A sourcemap object for the provided JavaScript code.
111
140
  * @param options The inline request options to use.
141
+ * @param translation The translation messages to inline, or undefined for an untranslated locale.
112
142
  * @returns An object containing the code, map, and diagnostics from the transformation.
113
143
  */
114
- async function transformWithOxc(code, map, options) {
144
+ async function transformWithOxc(code, map, options, translation) {
115
145
  const { program } = (0, oxc_parser_1.parseSync)(options.filename, code, {
116
146
  sourceType: 'unambiguous',
117
147
  });
@@ -132,7 +162,7 @@ async function transformWithOxc(code, map, options) {
132
162
  const cooked = node.quasi.quasis.map((q) => q.value.cooked);
133
163
  const raw = node.quasi.quasis.map((q) => q.value.raw);
134
164
  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);
165
+ const [translatedParts, translatedSubstitutions] = translate(diagnostics, translation || {}, messageParts, node.quasi.expressions.map((_, index) => index), translation === undefined ? 'ignore' : missingTranslation);
136
166
  // Reconstruct the new template/string literal replacement
137
167
  let replacement;
138
168
  if (translatedSubstitutions.length === 0) {
@@ -164,12 +194,15 @@ async function transformWithOxc(code, map, options) {
164
194
  const outputCode = magicString.toString();
165
195
  let outputMap;
166
196
  if (map && magicString.hasChanged()) {
167
- const rawMap = magicString.generateMap({
197
+ // A decoded map is generated here rather than an encoded one because remapping decodes its
198
+ // inputs. Encoding the mappings only for remapping to immediately decode them again doubles
199
+ // the peak memory of the largest structure involved in inlining a file.
200
+ const rawMap = magicString.generateDecodedMap({
168
201
  source: options.filename,
169
202
  includeContent: true,
170
203
  hires: 'boundary',
171
204
  });
172
- outputMap = (0, remapping_1.default)([rawMap, map], () => null);
205
+ outputMap = (0, remapping_1.default)([{ ...rawMap, version: 3 }, map], () => null);
173
206
  }
174
207
  return {
175
208
  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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"}
@@ -12,8 +12,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.I18nInliner = void 0;
14
14
  const node_assert_1 = __importDefault(require("node:assert"));
15
- const node_crypto_1 = require("node:crypto");
16
15
  const node_path_1 = require("node:path");
16
+ const node_v8_1 = require("node:v8");
17
+ const hash_1 = require("../../utils/hash");
17
18
  const worker_pool_1 = require("../../utils/worker-pool");
18
19
  const bundler_files_1 = require("./bundler-files");
19
20
  const cache_1 = require("./cache");
@@ -22,6 +23,19 @@ const cache_1 = require("./cache");
22
23
  * This keyword is used to avoid processing files that would not otherwise need i18n processing.
23
24
  */
24
25
  const LOCALIZE_KEYWORD = '$localize';
26
+ /**
27
+ * Serializes the translation messages for a locale for transfer to an inliner Worker.
28
+ *
29
+ * A Blob is used because cloning one shares its data by reference, whereas sending the messages
30
+ * themselves copies them into a Worker for every request that carries them. A locale can contain
31
+ * tens of thousands of messages, which makes that copy the dominant cost of inlining a locale.
32
+ *
33
+ * @param translation The translation messages for a locale, if the locale has any.
34
+ * @returns A Blob containing the serialized messages, or undefined if the locale has none.
35
+ */
36
+ function serializeTranslation(translation) {
37
+ return translation && new Blob([(0, node_v8_1.serialize)(translation)]);
38
+ }
25
39
  /**
26
40
  * A class that performs i18n translation inlining of JavaScript code.
27
41
  * A worker pool is used to distribute the transformation actions and allow
@@ -103,6 +117,8 @@ class I18nInliner {
103
117
  async inlineForLocale(locale, translation) {
104
118
  await this.initCache();
105
119
  const { shouldOptimize, missingTranslation } = this.options;
120
+ // Serialized once here and then shared by the request for every file of this locale
121
+ const translationBlob = serializeTranslation(translation);
106
122
  // Request inlining for each file that contains localize calls
107
123
  const requests = [];
108
124
  let fileCacheKeyBase;
@@ -113,14 +129,16 @@ class I18nInliner {
113
129
  }
114
130
  let cacheResultPromise = Promise.resolve(null);
115
131
  if (this.#cache) {
116
- fileCacheKeyBase ??= Buffer.from(JSON.stringify({ locale, translation, missingTranslation, shouldOptimize }), 'utf-8');
132
+ // The options are digested here so that each file's key is derived from a fixed number
133
+ // of bytes. Hashing the options directly would re-hash the full set of messages, which
134
+ // can be several megabytes, once for every file.
135
+ fileCacheKeyBase ??= (0, hash_1.calculateHash)(JSON.stringify({ locale, translation, missingTranslation, shouldOptimize }));
117
136
  // NOTE: If additional options are added, this may need to be updated.
118
- // TODO: Consider xxhash or similar instead of SHA256
119
- cacheKey = (0, node_crypto_1.createHash)('sha256')
120
- .update(file.hash)
121
- .update(filename)
122
- .update(fileCacheKeyBase)
123
- .digest('hex');
137
+ const hasher = (0, hash_1.createContentHash)();
138
+ hasher.update(file.hash);
139
+ hasher.update(filename);
140
+ hasher.update(fileCacheKeyBase);
141
+ cacheKey = hasher.digest();
124
142
  // Failure to get the value should not fail the transform
125
143
  cacheResultPromise = this.#cache.get(cacheKey).catch(() => null);
126
144
  }
@@ -128,7 +146,11 @@ class I18nInliner {
128
146
  if (cachedResult) {
129
147
  return cachedResult;
130
148
  }
131
- const result = await this.#workerPool.run({ filename, locale, translation });
149
+ const result = await this.#workerPool.run({
150
+ filename,
151
+ locale,
152
+ translation: translationBlob,
153
+ });
132
154
  if (this.#cache && cacheKey) {
133
155
  try {
134
156
  // Failure to set the value should not fail the transform
@@ -180,7 +202,12 @@ class I18nInliner {
180
202
  warnings: [],
181
203
  };
182
204
  }
183
- const { output, messages } = await this.#workerPool.run({ code: templateCode, filename: templateId, locale, translation }, { name: 'inlineCode' });
205
+ const { output, messages } = await this.#workerPool.run({
206
+ code: templateCode,
207
+ filename: templateId,
208
+ locale,
209
+ translation: serializeTranslation(translation),
210
+ }, { name: 'inlineCode' });
184
211
  const errors = [];
185
212
  const warnings = [];
186
213
  for (const message of messages) {
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,8 @@
8
8
  interface JavaScriptTransformRequest {
9
9
  filename: string;
10
10
  data: string | Uint8Array;
11
- sourcemap: boolean;
12
- thirdPartySourcemaps: boolean;
13
- advancedOptimizations: boolean;
14
11
  skipLinker?: boolean;
15
12
  sideEffects?: boolean;
16
- jit: boolean;
17
13
  instrumentForCoverage?: boolean;
18
14
  }
19
15
  export default function transformJavaScript(request: JavaScriptTransformRequest): Promise<unknown>;
@@ -44,20 +44,18 @@ 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"));
47
48
  const core_1 = require("@babel/core");
48
49
  const node_module_1 = require("node:module");
50
+ const node_worker_threads_1 = require("node:worker_threads");
49
51
  const piscina_1 = __importDefault(require("piscina"));
50
52
  const environment_options_js_1 = require("../../utils/environment-options.js");
51
53
  const source_map_1 = require("../../utils/source-map");
54
+ const oxc_linker_js_1 = require("../angular/linker/oxc-linker.js");
55
+ const oxc_transform_js_1 = require("../oxc/oxc-transform.js");
56
+ const { sourcemap = false, thirdPartySourcemaps = false, advancedOptimizations = false, jit = false, } = (node_worker_threads_1.workerData || {});
52
57
  const textDecoder = new TextDecoder();
53
58
  const textEncoder = new TextEncoder();
54
- /**
55
- * The function name prefix for all Angular partial compilation functions.
56
- * Used to determine if linking of a JavaScript file is required.
57
- * If any additional declarations are added or otherwise changed in the linker,
58
- * the names MUST begin with this prefix.
59
- */
60
- const LINKER_DECLARATION_PREFIX = 'ɵɵngDeclare';
61
59
  async function instrumentCoverage(filename, data, useInputSourcemap) {
62
60
  try {
63
61
  let resolvedPath = 'istanbul-lib-instrument';
@@ -75,12 +73,13 @@ async function instrumentCoverage(filename, data, useInputSourcemap) {
75
73
  });
76
74
  const inputSourceMap = useInputSourcemap ? (0, source_map_1.loadInputSourceMap)(filename, data) : undefined;
77
75
  const instrumentedCode = instrumenter.instrumentSync(data, filename, inputSourceMap);
78
- const lastMap = instrumenter.lastSourceMap();
79
- if (useInputSourcemap && lastMap) {
80
- const inlineMap = Buffer.from(JSON.stringify(lastMap)).toString('base64');
81
- return instrumentedCode + `\n//# sourceMappingURL=data:application/json;base64,${inlineMap}`;
82
- }
83
- return (0, source_map_1.removeSourceMappingURL)(instrumentedCode);
76
+ const lastMap = useInputSourcemap
77
+ ? instrumenter.lastSourceMap()
78
+ : undefined;
79
+ return {
80
+ code: instrumentedCode,
81
+ map: lastMap ?? undefined,
82
+ };
84
83
  }
85
84
  catch (error) {
86
85
  throw new Error(`The 'istanbul-lib-instrument' package is required for code coverage but was not found. Please install the package.`, { cause: error });
@@ -88,22 +87,71 @@ async function instrumentCoverage(filename, data, useInputSourcemap) {
88
87
  }
89
88
  async function transformJavaScript(request) {
90
89
  const { filename, data, ...options } = request;
91
- const textData = typeof data === 'string' ? data : textDecoder.decode(data);
92
- const transformedData = await transformJavaScriptImpl(filename, textData, options);
93
- // Transfer the data via `move` instead of cloning
90
+ const useInputSourcemap = sourcemap && (!!thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
91
+ let textData;
92
+ let inputSourceMap;
93
+ let isAlreadyStripped = false;
94
+ if (typeof data !== 'string') {
95
+ const trailing = (0, source_map_1.findTrailingSourceMapComment)(data);
96
+ if (trailing === null) {
97
+ // 0 comments: fast path, no sourcemap to load or strip
98
+ textData = textDecoder.decode(data);
99
+ isAlreadyStripped = true;
100
+ }
101
+ else if (trailing !== undefined) {
102
+ if (useInputSourcemap) {
103
+ inputSourceMap = (0, source_map_1.loadInputSourceMapFromUrl)(filename, trailing.urlLine);
104
+ if (inputSourceMap !== undefined) {
105
+ // Valid trailing sourcemap comment confirmed: safe to slice code buffer for transformation passes.
106
+ // Note: If no passes modify the code, the untouched original `data` buffer is returned below.
107
+ textData = textDecoder.decode(trailing.code);
108
+ isAlreadyStripped = true;
109
+ }
110
+ else {
111
+ // Not a valid trailing sourcemap (e.g. inside template literal): fallback to full decode
112
+ textData = textDecoder.decode(data);
113
+ }
114
+ }
115
+ else if ((0, source_map_1.isTrailingSourceMapComment)(trailing.urlLine)) {
116
+ // Valid trailing sourcemap comment confirmed: safe to slice code buffer
117
+ textData = textDecoder.decode(trailing.code);
118
+ isAlreadyStripped = true;
119
+ }
120
+ else {
121
+ // Fallback to full decode and state-machine stripping
122
+ textData = textDecoder.decode(data);
123
+ }
124
+ }
125
+ else {
126
+ // Multiple comments or comment not at line start: fall back to full decode and string parser
127
+ textData = textDecoder.decode(data);
128
+ }
129
+ }
130
+ else {
131
+ textData = data;
132
+ }
133
+ const transformedData = await transformJavaScriptImpl(filename, textData, {
134
+ ...options,
135
+ inputSourceMap,
136
+ isAlreadyStripped,
137
+ });
138
+ // If no transformations modified the code, return the original untouched data buffer via `move`.
139
+ // This preserves any original trailing sourcemap comment and avoids re-encoding.
140
+ if (transformedData === textData && typeof data !== 'string') {
141
+ return piscina_1.default.move(data);
142
+ }
94
143
  return piscina_1.default.move(textEncoder.encode(transformedData));
95
144
  }
96
- /**
97
- * Cached instance of the OXC linker module.
98
- */
99
- let oxcLinkerModule;
100
145
  async function transformJavaScriptImpl(filename, data, options) {
101
- const shouldLink = !options.skipLinker && requiresLinking(filename, data);
102
- const useInputSourcemap = options.sourcemap &&
103
- (!!options.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
146
+ const shouldLink = !options.skipLinker;
147
+ const useInputSourcemap = sourcemap && (!!thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
104
148
  let code = data;
149
+ const maps = [];
150
+ let coverageMap;
105
151
  if (options.instrumentForCoverage) {
106
- code = await instrumentCoverage(filename, code, useInputSourcemap);
152
+ const result = await instrumentCoverage(filename, code, useInputSourcemap);
153
+ code = result.code;
154
+ coverageMap = result.map;
107
155
  }
108
156
  if (shouldLink) {
109
157
  if (environment_options_js_1.useBabelLinker) {
@@ -111,8 +159,8 @@ async function transformJavaScriptImpl(filename, data, options) {
111
159
  const { ConsoleLogger, LogLevel } = await Promise.resolve().then(() => __importStar(require('@angular/compiler-cli')));
112
160
  const result = await (0, core_1.transformAsync)(code, {
113
161
  filename,
114
- inputSourceMap: (useInputSourcemap ? undefined : false),
115
- sourceMaps: useInputSourcemap ? 'inline' : false,
162
+ inputSourceMap: false,
163
+ sourceMaps: !!useInputSourcemap,
116
164
  compact: false,
117
165
  configFile: false,
118
166
  babelrc: false,
@@ -127,61 +175,63 @@ async function transformJavaScriptImpl(filename, data, options) {
127
175
  relative: (_from, to) => to,
128
176
  },
129
177
  logger: new ConsoleLogger(LogLevel.info),
130
- linkerJitMode: options.jit,
178
+ linkerJitMode: jit,
131
179
  // This is a workaround until https://github.com/angular/angular/issues/42769 is fixed.
132
180
  sourceMapping: false,
133
181
  }),
134
182
  ],
135
183
  });
136
184
  code = result?.code ?? code;
185
+ if (result?.map) {
186
+ maps.push(result.map);
187
+ }
137
188
  }
138
189
  else {
139
- oxcLinkerModule ??= await Promise.resolve().then(() => __importStar(require('../angular/linker/oxc-linker.js')));
140
- const result = oxcLinkerModule.linkWithOxc(filename, code, {
190
+ const result = (0, oxc_linker_js_1.linkWithOxc)(filename, code, {
141
191
  sourcemap: useInputSourcemap,
142
- jit: options.jit,
192
+ jit,
143
193
  skipCheck: true,
144
194
  });
145
195
  code = result.code;
146
- if (useInputSourcemap && result.map) {
147
- code = (0, source_map_1.removeSourceMappingURL)(code);
148
- const base64Map = Buffer.from(result.map).toString('base64');
149
- code += `\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
196
+ if (result.map) {
197
+ maps.push(result.map);
150
198
  }
151
199
  }
152
200
  }
153
201
  // Run advanced optimizations using our fast oxc-transform
154
- if (options.advancedOptimizations) {
155
- const { transform } = await Promise.resolve().then(() => __importStar(require('../babel/plugins/oxc-transform.js')));
202
+ if (advancedOptimizations) {
156
203
  const sideEffectFree = options.sideEffects === false;
157
204
  const safeAngularPackage = sideEffectFree && /[\\/]node_modules[\\/]@angular[\\/]/.test(filename);
158
205
  const topLevelSafeMode = !safeAngularPackage;
159
- const result = transform(filename, code, {
206
+ const result = (0, oxc_transform_js_1.transform)(filename, code, {
160
207
  sourcemap: useInputSourcemap,
161
208
  sideEffects: options.sideEffects,
162
- jit: options.jit,
163
209
  topLevelSafeMode,
164
210
  });
165
211
  code = result.code;
166
- if (useInputSourcemap && result.map) {
167
- // Strip old source map comment if Babel added one
168
- code = (0, source_map_1.removeSourceMappingURL)(code);
169
- const base64Map = Buffer.from(result.map).toString('base64');
170
- code += `\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
212
+ if (result.map) {
213
+ maps.push(result.map);
171
214
  }
172
215
  }
173
- // Strip sourcemaps if they should not be used
174
- return useInputSourcemap ? code : (0, source_map_1.removeSourceMappingURL)(code);
175
- }
176
- function requiresLinking(path, source) {
177
- // @angular/core and @angular/compiler will cause false positives
178
- // Also, TypeScript files do not require linking
179
- if (/[\\/]@angular[\\/](?:compiler|core)|\.tsx?$/.test(path)) {
180
- return false;
216
+ if (useInputSourcemap) {
217
+ const baseMap = coverageMap ?? options.inputSourceMap ?? (0, source_map_1.loadInputSourceMap)(filename, data);
218
+ if (maps.length > 0 || coverageMap) {
219
+ if (!options.isAlreadyStripped) {
220
+ code = (0, source_map_1.removeSourceMappingURL)(code);
221
+ }
222
+ const remappingChain = maps.reverse();
223
+ if (baseMap) {
224
+ remappingChain.push(baseMap);
225
+ }
226
+ if (remappingChain.length > 0) {
227
+ const finalMap = (0, remapping_1.default)(remappingChain, () => null).toString();
228
+ const base64Map = Buffer.from(finalMap).toString('base64');
229
+ code += `\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
230
+ }
231
+ }
232
+ return code;
181
233
  }
182
- // Check if the source code includes one of the declaration functions.
183
- // There is a low chance of a false positive but the names are fairly unique
184
- // and the result would be an unnecessary no-op additional plugin pass.
185
- return source.includes(LINKER_DECLARATION_PREFIX);
234
+ // Strip sourcemaps if they should not be used
235
+ return options.isAlreadyStripped ? code : (0, source_map_1.removeSourceMappingURL)(code);
186
236
  }
187
237
  //# sourceMappingURL=javascript-transformer-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"javascript-transformer-worker.js","sourceRoot":"","sources":["javascript-transformer-worker.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EH,sCAUC;AApFD,sCAA8D;AAC9D,6CAA4C;AAC5C,sDAA8B;AAC9B,+EAAoE;AACpE,uDAAoF;AAcpF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAEhD,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,IAAY,EACZ,iBAA0B;IAE1B,IAAI,CAAC;QACH,IAAI,YAAY,GAAG,yBAAyB,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAA,2BAAa,EAAC,QAAQ,CAAC,CAAC;YAC1C,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,yBAC9B,YAAY,uCACb,CAA6C,CAAC;QAC/C,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,gBAAgB,EAAE,iBAAiB;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,MAAM,gBAAgB,GAAG,YAAY,CAAC,cAAc,CAClD,IAAI,EACJ,QAAQ,EACR,cAAmE,CACpE,CAAC;QACF,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QAE7C,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE1E,OAAO,gBAAgB,GAAG,uDAAuD,SAAS,EAAE,CAAC;QAC/F,CAAC;QAED,OAAO,IAAA,mCAAsB,EAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,oHAAoH,EACpH,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAEc,KAAK,UAAU,mBAAmB,CAC/C,OAAmC;IAEnC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5E,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEnF,kDAAkD;IAClD,OAAO,iBAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,IAAI,eAA6E,CAAC;AAElF,KAAK,UAAU,uBAAuB,CACpC,QAAgB,EAChB,IAAY,EACZ,OAA8D;IAE9D,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GACrB,OAAO,CAAC,SAAS;QACjB,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/E,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,IAAI,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,uCAAc,EAAE,CAAC;YACnB,MAAM,EAAE,wBAAwB,EAAE,GAAG,wDAAa,oCAAoC,GAAC,CAAC;YACxF,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,EAAE;gBACxC,QAAQ;gBACR,cAAc,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAc;gBACpE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBAChD,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,KAAK;gBACd,sBAAsB,EAAE,KAAK;gBAC7B,OAAO,EAAE;oBACP,wBAAwB,CAAC;wBACvB,UAAU,EAAE;4BACV,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;4BACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;4BAClB,OAAO,EAAE,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;4BAChD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;4BACjE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE;yBACnC;wBACV,MAAM,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACxC,aAAa,EAAE,OAAO,CAAC,GAAG;wBAC1B,uFAAuF;wBACvF,aAAa,EAAE,KAAK;qBACrB,CAAe;iBACjB;aACF,CAAC,CAAC;YAEH,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,eAAe,KAAK,wDAAa,iCAAiC,GAAC,CAAC;YACpE,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;gBACzD,SAAS,EAAE,iBAAiB;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACnB,IAAI,iBAAiB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACpC,IAAI,GAAG,IAAA,mCAAsB,EAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,IAAI,qEAAqE,SAAS,EAAE,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,mCAAmC,GAAC,CAAC;QACxE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC;QACrD,MAAM,kBAAkB,GACtB,cAAc,IAAI,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,CAAC,kBAAkB,CAAC;QAE7C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE;YACvC,SAAS,EAAE,iBAAiB;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,gBAAgB;SACjB,CAAC,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEnB,IAAI,iBAAiB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACpC,kDAAkD;YAClD,IAAI,GAAG,IAAA,mCAAsB,EAAC,IAAI,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,IAAI,qEAAqE,SAAS,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,OAAO,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mCAAsB,EAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc;IACnD,iEAAiE;IACjE,gDAAgD;IAChD,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sEAAsE;IACtE,4EAA4E;IAC5E,uEAAuE;IACvE,OAAO,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"javascript-transformer-worker.js","sourceRoot":"","sources":["javascript-transformer-worker.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export declare class JavaScriptTransformer {
45
45
  * @param sideEffects If false, and `advancedOptimizations` is enabled tslib decorators are wrapped.
46
46
  * @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
47
47
  */
48
- transformData(filename: string, data: string, skipLinker: boolean, sideEffects?: boolean, instrumentForCoverage?: boolean): Promise<Uint8Array>;
48
+ transformData(filename: string, data: string | Uint8Array, skipLinker: boolean, sideEffects?: boolean, instrumentForCoverage?: boolean): Promise<Uint8Array>;
49
49
  /**
50
50
  * Stops all active transformation tasks and shuts down all workers.
51
51
  * @returns A void promise that resolves when closing is complete.