@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
@@ -6,12 +6,41 @@
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.dev/license
8
8
  */
9
- var __importDefault = (this && this.__importDefault) || function (mod) {
10
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
- };
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
12
42
  Object.defineProperty(exports, "__esModule", { value: true });
13
43
  exports.InlineCriticalCssProcessor = void 0;
14
- const beasties_1 = __importDefault(require("beasties"));
15
44
  const promises_1 = require("node:fs/promises");
16
45
  /**
17
46
  * Pattern used to extract the media query set by Beasties in an `onload` handler.
@@ -61,115 +90,129 @@ const LINK_LOAD_SCRIPT_CONTENT = `
61
90
 
62
91
  documentElement.addEventListener('load', listener, true);
63
92
  })();`;
64
- class BeastiesBase extends beasties_1.default {
65
- }
66
- /* eslint-enable @typescript-eslint/no-unsafe-declaration-merging */
67
- class BeastiesExtended extends BeastiesBase {
68
- optionsExtended;
69
- warnings = [];
70
- errors = [];
71
- addedCspScriptsDocuments = new WeakSet();
72
- documentNonces = new WeakMap();
73
- constructor(optionsExtended) {
74
- super({
75
- logger: {
76
- warn: (s) => this.warnings.push(s),
77
- error: (s) => this.errors.push(s),
78
- info: () => { },
79
- },
80
- logLevel: 'warn',
81
- path: optionsExtended.outputPath,
82
- publicPath: optionsExtended.deployUrl,
83
- compress: !!optionsExtended.minify,
84
- pruneSource: false,
85
- reduceInlineStyles: false,
86
- mergeStylesheets: false,
87
- // Note: if `preload` changes to anything other than `media`, the logic in
88
- // `embedLinkedStylesheet` will have to be updated.
89
- preload: 'media',
90
- noscriptFallback: true,
91
- inlineFonts: true,
92
- });
93
- this.optionsExtended = optionsExtended;
94
- }
95
- readFile(path) {
96
- const readAsset = this.optionsExtended.readAsset;
97
- return readAsset ? readAsset(path) : (0, promises_1.readFile)(path, 'utf-8');
93
+ let beastiesClassPromise;
94
+ async function getBeastiesClass() {
95
+ if (beastiesClassPromise) {
96
+ return beastiesClassPromise;
98
97
  }
99
- /**
100
- * Override of the Beasties `embedLinkedStylesheet` method
101
- * that makes it work with Angular's CSP APIs.
102
- */
103
- async embedLinkedStylesheet(link, document) {
104
- if (link.getAttribute('media') === 'print' && link.next?.name === 'noscript') {
105
- // Workaround for https://github.com/GoogleChromeLabs/critters/issues/64
106
- // NB: this is only needed for the webpack based builders.
107
- const media = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);
108
- if (media) {
109
- link.removeAttribute('onload');
110
- link.setAttribute('media', media[1]);
111
- link?.next?.remove();
98
+ beastiesClassPromise = Promise.resolve().then(() => __importStar(require('beasties'))).then(({ default: Beasties }) => {
99
+ return class BeastiesExtended extends Beasties {
100
+ optionsExtended;
101
+ _warnings;
102
+ _errors;
103
+ get warnings() {
104
+ return (this._warnings ??= []);
112
105
  }
113
- }
114
- const returnValue = await super.embedLinkedStylesheet(link, document);
115
- const cspNonce = this.findCspNonce(document);
116
- if (cspNonce || this.optionsExtended.autoCsp) {
117
- const beastiesMedia = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);
118
- if (beastiesMedia) {
119
- // If there's a Beasties-generated `onload` handler and the file has an Angular CSP nonce,
120
- // we have to remove the handler, because it's incompatible with CSP. We save the value
121
- // in a different attribute and we generate a script tag with the nonce that uses
122
- // `addEventListener` to apply the media query instead.
123
- link.removeAttribute('onload');
124
- link.setAttribute(CSP_MEDIA_ATTR, beastiesMedia[1]);
125
- this.conditionallyInsertCspLoadingScript(document, cspNonce, link);
106
+ get errors() {
107
+ return (this._errors ??= []);
126
108
  }
127
- // Ideally we would hook in at the time Beasties inserts the `style` tags, but there isn't
128
- // a way of doing that at the moment so we fall back to doing it any time a `link` tag is
129
- // inserted. We mitigate it by only iterating the direct children of the `<head>` which
130
- // should be pretty shallow.
131
- if (cspNonce) {
132
- document.head.children.forEach((child) => {
133
- if (child.tagName === 'style' && !child.hasAttribute('nonce')) {
134
- child.setAttribute('nonce', cspNonce);
135
- }
109
+ addedCspScriptsDocuments = new WeakSet();
110
+ documentNonces = new WeakMap();
111
+ constructor(optionsExtended) {
112
+ super({
113
+ logger: {
114
+ warn: (s) => this.warnings.push(s),
115
+ error: (s) => this.errors.push(s),
116
+ info: () => { },
117
+ },
118
+ logLevel: 'warn',
119
+ path: optionsExtended.outputPath,
120
+ publicPath: optionsExtended.deployUrl,
121
+ compress: !!optionsExtended.minify,
122
+ pruneSource: false,
123
+ reduceInlineStyles: false,
124
+ mergeStylesheets: false,
125
+ // Note: if `preload` changes to anything other than `media`, the logic in
126
+ // `embedLinkedStylesheet` will have to be updated.
127
+ preload: 'media',
128
+ noscriptFallback: true,
129
+ inlineFonts: true,
136
130
  });
131
+ this.optionsExtended = optionsExtended;
137
132
  }
138
- }
139
- return returnValue;
140
- }
141
- /**
142
- * Finds the CSP nonce for a specific document.
143
- */
144
- findCspNonce(document) {
145
- if (this.documentNonces.has(document)) {
146
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
147
- return this.documentNonces.get(document);
148
- }
149
- // HTML attribute are case-insensitive, but the parser used by Beasties is case-sensitive.
150
- const nonceElement = document.querySelector('[ngCspNonce], [ngcspnonce]');
151
- const cspNonce = nonceElement?.getAttribute('ngCspNonce') || nonceElement?.getAttribute('ngcspnonce') || null;
152
- this.documentNonces.set(document, cspNonce);
153
- return cspNonce;
154
- }
155
- /**
156
- * Inserts the `script` tag that swaps the critical CSS at runtime,
157
- * if one hasn't been inserted into the document already.
158
- */
159
- conditionallyInsertCspLoadingScript(document, nonce, link) {
160
- if (this.addedCspScriptsDocuments.has(document)) {
161
- return;
162
- }
163
- const script = document.createElement('script');
164
- script.textContent = LINK_LOAD_SCRIPT_CONTENT;
165
- if (nonce) {
166
- script.setAttribute('nonce', nonce);
167
- }
168
- // Prepend the script to the head since it needs to
169
- // run as early as possible, before the `link` tags.
170
- document.head.insertBefore(script, link);
171
- this.addedCspScriptsDocuments.add(document);
172
- }
133
+ readFile(path) {
134
+ const readAsset = this.optionsExtended.readAsset;
135
+ return readAsset ? readAsset(path) : (0, promises_1.readFile)(path, 'utf-8');
136
+ }
137
+ /**
138
+ * Override of the Beasties `embedLinkedStylesheet` method
139
+ * that makes it work with Angular's CSP APIs.
140
+ */
141
+ async embedLinkedStylesheet(link, document) {
142
+ if (link.getAttribute('media') === 'print' && link.next?.name === 'noscript') {
143
+ // Workaround for https://github.com/GoogleChromeLabs/critters/issues/64
144
+ // NB: this is only needed for the webpack based builders.
145
+ const media = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);
146
+ if (media) {
147
+ link.removeAttribute('onload');
148
+ link.setAttribute('media', media[1]);
149
+ link?.next?.remove();
150
+ }
151
+ }
152
+ const returnValue = await super.embedLinkedStylesheet(link, document);
153
+ const cspNonce = this.findCspNonce(document);
154
+ if (cspNonce || this.optionsExtended.autoCsp) {
155
+ const beastiesMedia = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);
156
+ if (beastiesMedia) {
157
+ // If there's a Beasties-generated `onload` handler and the file has an Angular CSP nonce,
158
+ // we have to remove the handler, because it's incompatible with CSP. We save the value
159
+ // in a different attribute and we generate a script tag with the nonce that uses
160
+ // `addEventListener` to apply the media query instead.
161
+ link.removeAttribute('onload');
162
+ link.setAttribute(CSP_MEDIA_ATTR, beastiesMedia[1]);
163
+ this.conditionallyInsertCspLoadingScript(document, cspNonce, link);
164
+ }
165
+ // Ideally we would hook in at the time Beasties inserts the `style` tags, but there isn't
166
+ // a way of doing that at the moment so we fall back to doing it any time a `link` tag is
167
+ // inserted. We mitigate it by only iterating the direct children of the `<head>` which
168
+ // should be pretty shallow.
169
+ if (cspNonce) {
170
+ document.head.children.forEach((child) => {
171
+ if (child.tagName === 'style' && !child.hasAttribute('nonce')) {
172
+ child.setAttribute('nonce', cspNonce);
173
+ }
174
+ });
175
+ }
176
+ }
177
+ return returnValue;
178
+ }
179
+ /**
180
+ * Finds the CSP nonce for a specific document.
181
+ */
182
+ findCspNonce(document) {
183
+ if (this.documentNonces.has(document)) {
184
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
185
+ return this.documentNonces.get(document);
186
+ }
187
+ // HTML attribute are case-insensitive, but the parser used by Beasties is case-sensitive.
188
+ const nonceElement = document.querySelector('[ngCspNonce], [ngcspnonce]');
189
+ const cspNonce = nonceElement?.getAttribute('ngCspNonce') ||
190
+ nonceElement?.getAttribute('ngcspnonce') ||
191
+ null;
192
+ this.documentNonces.set(document, cspNonce);
193
+ return cspNonce;
194
+ }
195
+ /**
196
+ * Inserts the `script` tag that swaps the critical CSS at runtime,
197
+ * if one hasn't been inserted into the document already.
198
+ */
199
+ conditionallyInsertCspLoadingScript(document, nonce, link) {
200
+ if (this.addedCspScriptsDocuments.has(document)) {
201
+ return;
202
+ }
203
+ const script = document.createElement('script');
204
+ script.textContent = LINK_LOAD_SCRIPT_CONTENT;
205
+ if (nonce) {
206
+ script.setAttribute('nonce', nonce);
207
+ }
208
+ // Prepend the script to the head since it needs to
209
+ // run as early as possible, before the `link` tags.
210
+ document.head.insertBefore(script, link);
211
+ this.addedCspScriptsDocuments.add(document);
212
+ }
213
+ };
214
+ });
215
+ return beastiesClassPromise;
173
216
  }
174
217
  class InlineCriticalCssProcessor {
175
218
  options;
@@ -177,7 +220,8 @@ class InlineCriticalCssProcessor {
177
220
  this.options = options;
178
221
  }
179
222
  async process(html, options) {
180
- const beasties = new BeastiesExtended({ ...this.options, ...options });
223
+ const BeastiesClass = await getBeastiesClass();
224
+ const beasties = new BeastiesClass({ ...this.options, ...options });
181
225
  const content = await beasties.process(html);
182
226
  return {
183
227
  // Clean up value from value less attributes.
@@ -1 +1 @@
1
- {"version":3,"file":"inline-critical-css.js","sourceRoot":"","sources":["inline-critical-css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline-critical-css.js","sourceRoot":"","sources":["inline-critical-css.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAA4C;AAE5C;;GAEG;AACH,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAEjE;;GAEG;AACH,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,MAAM,wBAAwB,GAAG;;4BAEL,cAAc;;;;;;;;;;;;;;;;;;;;;;;MAuBpC,CAAC;AAiDP,IAAI,oBAMS,CAAC;AAEd,KAAK,UAAU,gBAAgB;IAK7B,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,oBAAoB,GAAG,kDAAO,UAAU,IAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvE,OAAO,MAAM,gBACX,SAAS,QAA8D;YAiBpD;YAdX,SAAS,CAAY;YACrB,OAAO,CAAY;YAE3B,IAAI,QAAQ;gBACV,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,MAAM;gBACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC/B,CAAC;YACO,wBAAwB,GAAG,IAAI,OAAO,EAAmB,CAAC;YAC1D,cAAc,GAAG,IAAI,OAAO,EAAkC,CAAC;YAEvE,YACmB,eACgB;gBAEjC,KAAK,CAAC;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1C,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;wBACzC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;qBACf;oBACD,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,eAAe,CAAC,UAAU;oBAChC,UAAU,EAAE,eAAe,CAAC,SAAS;oBACrC,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM;oBAClC,WAAW,EAAE,KAAK;oBAClB,kBAAkB,EAAE,KAAK;oBACzB,gBAAgB,EAAE,KAAK;oBACvB,0EAA0E;oBAC1E,mDAAmD;oBACnD,OAAO,EAAE,OAAO;oBAChB,gBAAgB,EAAE,IAAI;oBACtB,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;gBArBc,oBAAe,GAAf,eAAe,CACC;YAqBnC,CAAC;YAEe,QAAQ,CAAC,IAAY;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;gBAEjD,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,CAAC;YAED;;;eAGG;YACM,KAAK,CAAC,qBAAqB,CAClC,IAAwB,EACxB,QAAyB;gBAEzB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7E,wEAAwE;oBACxE,0DAA0D;oBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC5E,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAE7C,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAEpF,IAAI,aAAa,EAAE,CAAC;wBAClB,0FAA0F;wBAC1F,uFAAuF;wBACvF,iFAAiF;wBACjF,uDAAuD;wBACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAC/B,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpD,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACrE,CAAC;oBAED,0FAA0F;oBAC1F,yFAAyF;oBACzF,uFAAuF;oBACvF,4BAA4B;oBAC5B,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BACvC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC9D,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;4BACxC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,OAAO,WAAW,CAAC;YACrB,CAAC;YAED;;eAEG;YACK,YAAY,CAAC,QAAyB;gBAC5C,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,oEAAoE;oBACpE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gBAC5C,CAAC;gBAED,0FAA0F;gBAC1F,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GACZ,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC;oBACxC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC;oBACxC,IAAI,CAAC;gBAEP,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE5C,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED;;;eAGG;YACK,mCAAmC,CACzC,QAAyB,EACzB,KAAoB,EACpB,IAAwB;gBAExB,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,WAAW,GAAG,wBAAwB,CAAC;gBAC9C,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;gBAED,mDAAmD;gBACnD,oDAAoD;gBACpD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAa,0BAA0B;IACN;IAA/B,YAA+B,OAA0C;QAA1C,YAAO,GAAP,OAAO,CAAmC;IAAG,CAAC;IAE7E,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,OAAwC;QAExC,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO;YACL,6CAA6C;YAC7C,mFAAmF;YACnF,0CAA0C;YAC1C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC;YAC5D,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;IACJ,CAAC;CACF;AApBD,gEAoBC"}
@@ -11,7 +11,7 @@ exports.normalizeCacheOptions = normalizeCacheOptions;
11
11
  const node_fs_1 = require("node:fs");
12
12
  const node_path_1 = require("node:path");
13
13
  /** Version placeholder is replaced during the build process with actual package version */
14
- const VERSION = '22.2.0-next.1';
14
+ const VERSION = '22.2.0-next.3';
15
15
  function hasCacheMetadata(value) {
16
16
  return (!!value &&
17
17
  typeof value === 'object' &&
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.SERVER_GENERATED_EXTERNALS = exports.SERVER_APP_ENGINE_MANIFEST_FILENAME = exports.SERVER_APP_MANIFEST_FILENAME = void 0;
11
11
  exports.generateAngularServerAppEngineManifest = generateAngularServerAppEngineManifest;
12
12
  exports.generateAngularServerAppManifest = generateAngularServerAppManifest;
13
+ const node_buffer_1 = require("node:buffer");
13
14
  const node_path_1 = require("node:path");
14
- const node_vm_1 = require("node:vm");
15
15
  const bundler_files_1 = require("../../tools/esbuild/bundler-files");
16
16
  exports.SERVER_APP_MANIFEST_FILENAME = 'angular-app-manifest.mjs';
17
17
  exports.SERVER_APP_ENGINE_MANIFEST_FILENAME = 'angular-app-engine-manifest.mjs';
@@ -131,9 +131,14 @@ function generateAngularServerAppManifest(additionalHtmlOutputFiles, outputFiles
131
131
  const jsChunkFilePath = `assets-chunks/${file.path.replace(/[./]/g, '_')}.mjs`;
132
132
  const escapedContent = escapeUnsafeChars(file.text);
133
133
  serverAssetsChunks.push((0, bundler_files_1.createOutputFile)(jsChunkFilePath, `export default \`${escapedContent}\`;`, bundler_files_1.BuildOutputFileType.ServerApplication));
134
- // This is needed because JavaScript engines script parser convert `\r\n` to `\n` in template literals,
135
- // which can result in an incorrect byte length.
136
- const size = (0, node_vm_1.runInThisContext)(`new TextEncoder().encode(\`${escapedContent}\`).byteLength`);
134
+ // JavaScript engine script parsers normalize `\r\n` (2 bytes in UTF-8) to `\n` (1 byte in UTF-8) in template literals.
135
+ // Subtracting the count of `\r\n` occurrences avoids allocating any temporary strings or match arrays for large assets.
136
+ let size = node_buffer_1.Buffer.byteLength(file.text);
137
+ let pos = file.text.indexOf('\r\n');
138
+ while (pos !== -1) {
139
+ size--;
140
+ pos = file.text.indexOf('\r\n', pos + 2);
141
+ }
137
142
  serverAssets[file.path] =
138
143
  `{size: ${size}, hash: '${file.hash}', text: () => import('./${jsChunkFilePath}').then(m => m.default)}`;
139
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["manifest.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAqEH,wFAwCC;AA8BD,4EA8DC;AAtMD,yCAAoC;AACpC,qCAA2C;AAE3C,qEAI2C;AAE9B,QAAA,4BAA4B,GAAG,0BAA0B,CAAC;AAC1D,QAAA,mCAAmC,GAAG,iCAAiC,CAAC;AAErF;;;;;;;GAOG;AACU,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAC;IAChD,wBAAwB;IACxB,IAAI,GAAG,oCAA4B;IACnC,IAAI,GAAG,2CAAmC;CAC3C,CAAC,CAAC;AAOH,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAEtD;;GAEG;AACH,MAAM,eAAe,GAA2B;IAC9C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACb,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,sCAAsC,CACpD,WAA6D,EAC7D,YAAsB,EACtB,QAA4B;IAE5B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IAEpD,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,2BAA2B,EAAE,CAAC;YACnF,WAAW,CAAC,OAAO,CAAC,GAAG,mBAAmB,UAAU,IAAI,CAAC;YACzD,gBAAgB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,EAAE,CAAC,GAAG,mBAAmB,2BAA2B,IAAI,CAAC;QACrE,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC;IAC/B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACnD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,eAAe,GAAG;;eAEX,QAAQ;kBACL,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;sBACtC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;;MAE9D,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC;SAC3C,IAAI,CAAC,SAAS,CAAC;;;CAGrB,CAAC;IAEA,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,gCAAgC,CAC9C,yBAAuD,EACvD,WAA8B,EAC9B,iBAA0B,EAC1B,MAAsC,EACtC,MAA0B,EAC1B,QAAgB,EAChB,YAAyB,EACzB,QAAkB,EAClB,UAA8B;IAK9B,MAAM,kBAAkB,GAAsB,EAAE,CAAC;IACjD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,iBAAiB,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC;YACzE,MAAM,eAAe,GAAG,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;YAC/E,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpD,kBAAkB,CAAC,IAAI,CACrB,IAAA,gCAAgB,EACd,eAAe,EACf,oBAAoB,cAAc,KAAK,EACvC,mCAAmB,CAAC,iBAAiB,CACtC,CACF,CAAC;YAEF,uGAAuG;YACvG,gDAAgD;YAChD,MAAM,IAAI,GAAG,IAAA,0BAAgB,EAAC,8BAA8B,cAAc,gBAAgB,CAAC,CAAC;YAE5F,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrB,UAAU,IAAI,YAAY,IAAI,CAAC,IAAI,4BAA4B,eAAe,0BAA0B,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,gHAAgH;IAChH,MAAM,0BAA0B,GAAG,MAAM,EAAE,MAAM;QAC/C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,+BAA+B,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG;;;uBAGH,iBAAiB;eACzB,QAAQ;YACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gCAChB,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAC;;MAElF,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC;SAC3C,IAAI,CAAC,SAAS,CAAC;;;CAGrB,CAAC;IAEA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,+BAA+B,CACtC,QAAkB,EAClB,YAAyB,EACzB,UAAU,GAAG,EAAE;IAEf,MAAM,mBAAmB,GAA6B,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5F,uEAAuE;QACvE,IAAI,CAAC,UAAU,IAAI,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAa,CAAC,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YAC/C,IAAI,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtE,SAAS;YACX,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,mBAAmB,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;IAClD,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["manifest.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,40 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import type { EncodedSourceMap } from '@ampproject/remapping';
9
+ export declare const SOURCEMAP_COMMENT_PREFIX = "//# sourceMappingURL=";
10
+ export declare const SOURCEMAP_COMMENT_BYTES: Buffer<ArrayBuffer>;
11
+ /**
12
+ * Checks for a single trailing `//# sourceMappingURL=` comment on a raw buffer.
13
+ *
14
+ * @param data The raw byte buffer to inspect.
15
+ * @returns An object containing the sliced code buffer and URL snippet if a single trailing comment exists,
16
+ * `null` if no sourcemap comment exists in the buffer, or `undefined` if multiple/non-trailing comments exist.
17
+ */
18
+ export declare function findTrailingSourceMapComment(data: Uint8Array): {
19
+ code: Uint8Array;
20
+ urlLine: string;
21
+ } | null | undefined;
9
22
  /**
10
23
  * Removes `//# sourceMappingURL=` comments safely from the given JavaScript code,
11
24
  * ignoring any occurrences that are inside string literals, template literals, or block comments.
12
25
  *
13
- * It uses a lightweight state-machine parser to accurately handle nested template literals.
26
+ * For raw Uint8Array / Buffer inputs, it optimizes performance by inspecting trailing byte sequences
27
+ * to slice the buffer directly without full string decoding.
14
28
  *
15
- * @param code The JavaScript source code.
29
+ * @param code The JavaScript source code as a string or Uint8Array.
16
30
  * @returns The code with top-level sourcemap comments removed.
17
31
  */
18
32
  export declare function removeSourceMappingURL(code: string): string;
33
+ export declare function removeSourceMappingURL(code: Uint8Array): Uint8Array;
34
+ /**
35
+ * Checks whether a `//# sourceMappingURL=` URL line snippet represents a valid trailing comment at the end of the file.
36
+ */
37
+ export declare function isTrailingSourceMapComment(urlLine: string): boolean;
38
+ /**
39
+ * Resolves and loads the input sourcemap referenced in a `//# sourceMappingURL=` URL line snippet.
40
+ * Supports inline base64 data URIs, local absolute file URLs, and relative/absolute filesystem paths.
41
+ */
42
+ export declare function loadInputSourceMapFromUrl(filename: string, urlLine: string): EncodedSourceMap | undefined;
19
43
  /**
20
44
  * Finds, resolves, and loads the input sourcemap referenced in the code's trailing
21
45
  * sourceMappingURL comment, if present. Supports inline base64 data URIs, local absolute