@angular/build 19.0.3 → 19.1.0-next.0

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 (27) hide show
  1. package/package.json +16 -16
  2. package/src/builders/application/build-action.js +17 -7
  3. package/src/builders/dev-server/vite-server.js +22 -26
  4. package/src/builders/extract-i18n/builder.js +17 -7
  5. package/src/tools/angular/compilation/angular-compilation.js +17 -7
  6. package/src/tools/angular/compilation/aot-compilation.js +13 -35
  7. package/src/tools/angular/compilation/factory.js +17 -7
  8. package/src/tools/angular/compilation/hmr-candidates.d.ts +22 -0
  9. package/src/tools/angular/compilation/hmr-candidates.js +238 -0
  10. package/src/tools/babel/plugins/pure-toplevel-functions.js +17 -7
  11. package/src/tools/esbuild/angular/compiler-plugin.js +17 -7
  12. package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -1
  13. package/src/tools/esbuild/angular/source-file-cache.js +17 -7
  14. package/src/tools/esbuild/global-scripts.js +17 -7
  15. package/src/tools/esbuild/javascript-transformer-worker.js +17 -7
  16. package/src/tools/esbuild/stylesheets/less-language.js +17 -7
  17. package/src/tools/esbuild/stylesheets/sass-language.js +17 -7
  18. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +17 -7
  19. package/src/tools/vite/plugins/ssr-transform-plugin.js +11 -15
  20. package/src/utils/check-port.js +17 -7
  21. package/src/utils/index-file/auto-csp.js +17 -7
  22. package/src/utils/index-file/inline-fonts.js +17 -7
  23. package/src/utils/load-proxy-config.js +17 -7
  24. package/src/utils/load-translations.js +17 -7
  25. package/src/utils/normalize-asset-patterns.js +17 -7
  26. package/src/utils/normalize-cache.js +1 -1
  27. package/src/utils/service-worker.js +17 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/build",
3
- "version": "19.0.3",
3
+ "version": "19.1.0-next.0",
4
4
  "description": "Official build system for Angular",
5
5
  "keywords": [
6
6
  "Angular CLI",
@@ -23,13 +23,13 @@
23
23
  "builders": "builders.json",
24
24
  "dependencies": {
25
25
  "@ampproject/remapping": "2.3.0",
26
- "@angular-devkit/architect": "0.1900.3",
26
+ "@angular-devkit/architect": "0.1901.0-next.0",
27
27
  "@babel/core": "7.26.0",
28
28
  "@babel/helper-annotate-as-pure": "7.25.9",
29
29
  "@babel/helper-split-export-declaration": "7.24.7",
30
30
  "@babel/plugin-syntax-import-attributes": "7.26.0",
31
31
  "@inquirer/confirm": "5.0.2",
32
- "@vitejs/plugin-basic-ssl": "1.1.0",
32
+ "@vitejs/plugin-basic-ssl": "1.2.0",
33
33
  "beasties": "0.1.0",
34
34
  "browserslist": "^4.23.0",
35
35
  "esbuild": "0.24.0",
@@ -37,31 +37,31 @@
37
37
  "https-proxy-agent": "7.0.5",
38
38
  "istanbul-lib-instrument": "6.0.3",
39
39
  "listr2": "8.2.5",
40
- "magic-string": "0.30.12",
40
+ "magic-string": "0.30.14",
41
41
  "mrmime": "2.0.0",
42
42
  "parse5-html-rewriting-stream": "7.0.0",
43
43
  "picomatch": "4.0.2",
44
- "piscina": "4.7.0",
45
- "rollup": "4.26.0",
46
- "sass": "1.80.7",
44
+ "piscina": "4.8.0",
45
+ "rollup": "4.28.0",
46
+ "sass": "1.82.0",
47
47
  "semver": "7.6.3",
48
- "vite": "5.4.11",
48
+ "vite": "6.0.2",
49
49
  "watchpack": "2.4.2"
50
50
  },
51
51
  "optionalDependencies": {
52
- "lmdb": "3.1.5"
52
+ "lmdb": "3.2.0"
53
53
  },
54
54
  "peerDependencies": {
55
- "@angular/compiler": "^19.0.0",
56
- "@angular/compiler-cli": "^19.0.0",
57
- "@angular/localize": "^19.0.0",
58
- "@angular/platform-server": "^19.0.0",
59
- "@angular/service-worker": "^19.0.0",
60
- "@angular/ssr": "^19.0.3",
55
+ "@angular/compiler": "^19.0.0 || ^19.1.0-next.0",
56
+ "@angular/compiler-cli": "^19.0.0 || ^19.1.0-next.0",
57
+ "@angular/localize": "^19.0.0 || ^19.1.0-next.0",
58
+ "@angular/platform-server": "^19.0.0 || ^19.1.0-next.0",
59
+ "@angular/service-worker": "^19.0.0 || ^19.1.0-next.0",
60
+ "@angular/ssr": "^19.1.0-next.0",
61
61
  "less": "^4.2.0",
62
62
  "postcss": "^8.4.0",
63
63
  "tailwindcss": "^2.0.0 || ^3.0.0",
64
- "typescript": ">=5.5 <5.7"
64
+ "typescript": ">=5.5 <5.8"
65
65
  },
66
66
  "peerDependenciesMeta": {
67
67
  "@angular/localize": {
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -202,17 +212,10 @@ async function* serveWithVite(serverOptions, builderName, builderAction, context
202
212
  continue;
203
213
  }
204
214
  // To avoid disconnecting the array objects from the option, these arrays need to be mutated instead of replaced.
205
- let requiresServerRestart = false;
206
215
  if (result.detail?.['externalMetadata']) {
207
216
  const { implicitBrowser, implicitServer, explicit } = result.detail['externalMetadata'];
208
217
  const implicitServerFiltered = implicitServer.filter((m) => !(0, node_module_1.isBuiltin)(m) && !isAbsoluteUrl(m));
209
218
  const implicitBrowserFiltered = implicitBrowser.filter((m) => !isAbsoluteUrl(m));
210
- if (browserOptions.ssr && serverOptions.prebundle !== false) {
211
- const previousImplicitServer = new Set(externalMetadata.implicitServer);
212
- // Restart the server to force SSR dep re-optimization when a dependency has been added.
213
- // This is a workaround for: https://github.com/vitejs/vite/issues/14896
214
- requiresServerRestart = implicitServerFiltered.some((dep) => !previousImplicitServer.has(dep));
215
- }
216
219
  // Empty Arrays to avoid growing unlimited with every re-build.
217
220
  externalMetadata.explicitBrowser.length = 0;
218
221
  externalMetadata.explicitServer.length = 0;
@@ -234,14 +237,7 @@ async function* serveWithVite(serverOptions, builderName, builderAction, context
234
237
  server.config.server.fs.allow = [
235
238
  ...new Set([...server.config.server.fs.allow, ...assetFiles.values()]),
236
239
  ];
237
- if (requiresServerRestart) {
238
- // Restart the server to force SSR dep re-optimization when a dependency has been added.
239
- // This is a workaround for: https://github.com/vitejs/vite/issues/14896
240
- await server.restart();
241
- }
242
- else {
243
- await handleUpdate(normalizePath, generatedFiles, server, serverOptions, context.logger, componentStyles);
244
- }
240
+ await handleUpdate(normalizePath, generatedFiles, server, serverOptions, context.logger, componentStyles);
245
241
  }
246
242
  else {
247
243
  const projectName = context.target?.project;
@@ -336,6 +332,10 @@ async function handleUpdate(normalizePath, generatedFiles, server, serverOptions
336
332
  if (!updatedFiles.length) {
337
333
  return;
338
334
  }
335
+ if (destroyAngularServerAppCalled) {
336
+ // Trigger module evaluation before reload to initiate dependency optimization.
337
+ await server.ssrLoadModule('/main.server.mjs');
338
+ }
339
339
  if (serverOptions.hmr) {
340
340
  if (updatedFiles.every((f) => f.endsWith('.css'))) {
341
341
  let requiresReload = false;
@@ -516,10 +516,6 @@ async function setupServer(serverOptions, outputFiles, assets, preserveSymlinks,
516
516
  // the Vite client-side code for browser reloading. These would be available by default but when
517
517
  // the `allow` option is explicitly configured, they must be included manually.
518
518
  allow: [cacheDir, (0, node_path_1.join)(serverOptions.workspaceRoot, 'node_modules'), ...assets.values()],
519
- // Temporary disable cached FS checks.
520
- // This is because we configure `config.base` to a virtual directory which causes `getRealPath` to fail.
521
- // See: https://github.com/vitejs/vite/blob/b2873ac3936de25ca8784327cb9ef16bd4881805/packages/vite/src/node/fsUtils.ts#L45-L67
522
- cachedChecks: false,
523
519
  },
524
520
  // This is needed when `externalDependencies` is used to prevent Vite load errors.
525
521
  // NOTE: If Vite adds direct support for externals, this can be removed.
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.AngularCompilation = exports.DiagnosticModes = void 0;
34
44
  const load_esm_1 = require("../../../utils/load-esm");
@@ -19,6 +19,13 @@ const angular_host_1 = require("../angular-host");
19
19
  const jit_bootstrap_transformer_1 = require("../transformers/jit-bootstrap-transformer");
20
20
  const web_worker_transformer_1 = require("../transformers/web-worker-transformer");
21
21
  const angular_compilation_1 = require("./angular-compilation");
22
+ const hmr_candidates_1 = require("./hmr-candidates");
23
+ /**
24
+ * The modified files count limit for performing component HMR analysis.
25
+ * Performing content analysis for a large amount of files can result in longer rebuild times
26
+ * than a full rebuild would entail.
27
+ */
28
+ const HMR_MODIFIED_FILE_LIMIT = 32;
22
29
  class AngularCompilationState {
23
30
  angularProgram;
24
31
  compilerHost;
@@ -51,9 +58,12 @@ class AotCompilation extends angular_compilation_1.AngularCompilation {
51
58
  if (compilerOptions.externalRuntimeStyles) {
52
59
  hostOptions.externalStylesheets ??= new Map();
53
60
  }
61
+ const useHmr = compilerOptions['_enableHmr'] &&
62
+ hostOptions.modifiedFiles &&
63
+ hostOptions.modifiedFiles.size <= HMR_MODIFIED_FILE_LIMIT;
54
64
  // Collect stale source files for HMR analysis of inline component resources
55
65
  let staleSourceFiles;
56
- if (compilerOptions['_enableHmr'] && hostOptions.modifiedFiles && this.#state) {
66
+ if (useHmr && hostOptions.modifiedFiles && this.#state) {
57
67
  for (const modifiedFile of hostOptions.modifiedFiles) {
58
68
  const sourceFile = this.#state.typeScriptProgram.getSourceFile(modifiedFile);
59
69
  if (sourceFile) {
@@ -78,8 +88,8 @@ class AotCompilation extends angular_compilation_1.AngularCompilation {
78
88
  const typeScriptProgram = typescript_1.default.createEmitAndSemanticDiagnosticsBuilderProgram(angularTypeScriptProgram, host, oldProgram, configurationDiagnostics);
79
89
  await (0, profiling_1.profileAsync)('NG_ANALYZE_PROGRAM', () => angularCompiler.analyzeAsync());
80
90
  let templateUpdates;
81
- if (compilerOptions['_enableHmr'] && hostOptions.modifiedFiles && this.#state) {
82
- const componentNodes = collectHmrCandidates(hostOptions.modifiedFiles, angularProgram, staleSourceFiles);
91
+ if (useHmr && hostOptions.modifiedFiles && this.#state) {
92
+ const componentNodes = (0, hmr_candidates_1.collectHmrCandidates)(hostOptions.modifiedFiles, angularProgram, staleSourceFiles);
83
93
  for (const node of componentNodes) {
84
94
  if (!typescript_1.default.isClassDeclaration(node)) {
85
95
  continue;
@@ -303,35 +313,3 @@ function findAffectedFiles(builder, { ignoreForDiagnostics }, includeTTC) {
303
313
  }
304
314
  return affectedFiles;
305
315
  }
306
- function collectHmrCandidates(modifiedFiles, { compiler }, staleSourceFiles) {
307
- const candidates = new Set();
308
- for (const file of modifiedFiles) {
309
- const templateFileNodes = compiler.getComponentsWithTemplateFile(file);
310
- if (templateFileNodes.size) {
311
- templateFileNodes.forEach((node) => candidates.add(node));
312
- continue;
313
- }
314
- const styleFileNodes = compiler.getComponentsWithStyleFile(file);
315
- if (styleFileNodes.size) {
316
- styleFileNodes.forEach((node) => candidates.add(node));
317
- continue;
318
- }
319
- const staleSource = staleSourceFiles?.get(file);
320
- if (staleSource === undefined) {
321
- // Unknown file requires a rebuild so clear out the candidates and stop collecting
322
- candidates.clear();
323
- break;
324
- }
325
- const updatedSource = compiler.getCurrentProgram().getSourceFile(file);
326
- if (updatedSource === undefined) {
327
- // No longer existing program file requires a rebuild so clear out the candidates and stop collecting
328
- candidates.clear();
329
- break;
330
- }
331
- // Compare the stale and updated file for changes
332
- // TODO: Implement -- for now assume a rebuild is needed
333
- candidates.clear();
334
- break;
335
- }
336
- return candidates;
337
- }
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.createAngularCompilation = createAngularCompilation;
34
44
  const environment_options_1 = require("../../../utils/environment-options");
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type ng from '@angular/compiler-cli';
9
+ import ts from 'typescript';
10
+ /**
11
+ * Analyzes one or more modified files for changes to determine if any
12
+ * class declarations for Angular components are candidates for hot
13
+ * module replacement (HMR). If any source files are also modified but
14
+ * are not candidates then all candidates become invalid. This invalidation
15
+ * ensures that a full rebuild occurs and the running application stays
16
+ * synchronized with the code.
17
+ * @param modifiedFiles A set of modified files to analyze.
18
+ * @param param1 An Angular compiler instance
19
+ * @param staleSourceFiles A map of paths to previous source file instances.
20
+ * @returns A set of HMR candidate component class declarations.
21
+ */
22
+ export declare function collectHmrCandidates(modifiedFiles: Set<string>, { compiler }: ng.NgtscProgram, staleSourceFiles: Map<string, ts.SourceFile> | undefined): Set<ts.ClassDeclaration>;
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.collectHmrCandidates = collectHmrCandidates;
14
+ const node_assert_1 = __importDefault(require("node:assert"));
15
+ const typescript_1 = __importDefault(require("typescript"));
16
+ /**
17
+ * Analyzes one or more modified files for changes to determine if any
18
+ * class declarations for Angular components are candidates for hot
19
+ * module replacement (HMR). If any source files are also modified but
20
+ * are not candidates then all candidates become invalid. This invalidation
21
+ * ensures that a full rebuild occurs and the running application stays
22
+ * synchronized with the code.
23
+ * @param modifiedFiles A set of modified files to analyze.
24
+ * @param param1 An Angular compiler instance
25
+ * @param staleSourceFiles A map of paths to previous source file instances.
26
+ * @returns A set of HMR candidate component class declarations.
27
+ */
28
+ function collectHmrCandidates(modifiedFiles, { compiler }, staleSourceFiles) {
29
+ const candidates = new Set();
30
+ for (const file of modifiedFiles) {
31
+ // If the file is a template for component(s), add component classes as candidates
32
+ const templateFileNodes = compiler.getComponentsWithTemplateFile(file);
33
+ if (templateFileNodes.size) {
34
+ templateFileNodes.forEach((node) => candidates.add(node));
35
+ continue;
36
+ }
37
+ // If the file is a style for component(s), add component classes as candidates
38
+ const styleFileNodes = compiler.getComponentsWithStyleFile(file);
39
+ if (styleFileNodes.size) {
40
+ styleFileNodes.forEach((node) => candidates.add(node));
41
+ continue;
42
+ }
43
+ const staleSource = staleSourceFiles?.get(file);
44
+ if (staleSource === undefined) {
45
+ // Unknown file requires a rebuild so clear out the candidates and stop collecting
46
+ candidates.clear();
47
+ break;
48
+ }
49
+ const updatedSource = compiler.getCurrentProgram().getSourceFile(file);
50
+ if (updatedSource === undefined) {
51
+ // No longer existing program file requires a rebuild so clear out the candidates and stop collecting
52
+ candidates.clear();
53
+ break;
54
+ }
55
+ // Analyze the stale and updated file for changes
56
+ const fileCandidates = analyzeFileUpdates(staleSource, updatedSource, compiler);
57
+ if (fileCandidates) {
58
+ fileCandidates.forEach((node) => candidates.add(node));
59
+ }
60
+ else {
61
+ // Unsupported HMR changes present
62
+ // Only template and style literal changes are allowed.
63
+ candidates.clear();
64
+ break;
65
+ }
66
+ }
67
+ return candidates;
68
+ }
69
+ /**
70
+ * Analyzes the updates of a source file for potential HMR component class candidates.
71
+ * A source file can contain candidates if only the Angular component metadata of a class
72
+ * has been changed and the metadata changes are only of supported fields.
73
+ * @param stale The stale (previous) source file instance.
74
+ * @param updated The updated source file instance.
75
+ * @param compiler An Angular compiler instance.
76
+ * @returns An array of candidate class declarations; or `null` if unsupported changes are present.
77
+ */
78
+ function analyzeFileUpdates(stale, updated, compiler) {
79
+ if (stale.statements.length !== updated.statements.length) {
80
+ return null;
81
+ }
82
+ const candidates = [];
83
+ for (let i = 0; i < updated.statements.length; ++i) {
84
+ const updatedNode = updated.statements[i];
85
+ const staleNode = stale.statements[i];
86
+ if (typescript_1.default.isClassDeclaration(updatedNode)) {
87
+ if (!typescript_1.default.isClassDeclaration(staleNode)) {
88
+ return null;
89
+ }
90
+ // Check class declaration differences (name/heritage/modifiers)
91
+ if (updatedNode.name?.text !== staleNode.name?.text) {
92
+ return null;
93
+ }
94
+ if (!equalRangeText(updatedNode.heritageClauses, updated, staleNode.heritageClauses, stale)) {
95
+ return null;
96
+ }
97
+ const updatedModifiers = typescript_1.default.getModifiers(updatedNode);
98
+ const staleModifiers = typescript_1.default.getModifiers(staleNode);
99
+ if (updatedModifiers?.length !== staleModifiers?.length ||
100
+ !updatedModifiers?.every((updatedModifier) => staleModifiers?.some((staleModifier) => updatedModifier.kind === staleModifier.kind))) {
101
+ return null;
102
+ }
103
+ // Check for component class nodes
104
+ const meta = compiler.getMeta(updatedNode);
105
+ if (meta?.decorator && meta.isComponent === true) {
106
+ const updatedDecorators = typescript_1.default.getDecorators(updatedNode);
107
+ const staleDecorators = typescript_1.default.getDecorators(staleNode);
108
+ if (!staleDecorators || staleDecorators.length !== updatedDecorators?.length) {
109
+ return null;
110
+ }
111
+ // TODO: Check other decorators instead of assuming all multi-decorator components are unsupported
112
+ if (staleDecorators.length > 1) {
113
+ return null;
114
+ }
115
+ // Find index of component metadata decorator
116
+ const metaDecoratorIndex = updatedDecorators?.indexOf(meta.decorator);
117
+ (0, node_assert_1.default)(metaDecoratorIndex !== undefined, 'Component metadata decorator should always be present on component class.');
118
+ const updatedDecoratorExpression = meta.decorator.expression;
119
+ (0, node_assert_1.default)(typescript_1.default.isCallExpression(updatedDecoratorExpression) &&
120
+ updatedDecoratorExpression.arguments.length === 1, 'Component metadata decorator should contain a call expression with a single argument.');
121
+ // Check the matching stale index for the component decorator
122
+ const staleDecoratorExpression = staleDecorators[metaDecoratorIndex]?.expression;
123
+ if (!staleDecoratorExpression ||
124
+ !typescript_1.default.isCallExpression(staleDecoratorExpression) ||
125
+ staleDecoratorExpression.arguments.length !== 1) {
126
+ return null;
127
+ }
128
+ // Check decorator name/expression
129
+ // NOTE: This would typically be `Component` but can also be a property expression or some other alias.
130
+ // To avoid complex checks, this ensures the textual representation does not change. This has a low chance
131
+ // of a false positive if the expression is changed to still reference the `Component` type but has different
132
+ // text. However, it is rare for `Component` to not be used directly and additionally unlikely that it would
133
+ // be changed between edits. A false positive would also only lead to a difference of a full page reload versus
134
+ // an HMR update.
135
+ if (!equalRangeText(updatedDecoratorExpression.expression, updated, staleDecoratorExpression.expression, stale)) {
136
+ return null;
137
+ }
138
+ // Compare component meta decorator object literals
139
+ if (hasUnsupportedMetaUpdates(staleDecoratorExpression, stale, updatedDecoratorExpression, updated)) {
140
+ return null;
141
+ }
142
+ // Compare text of the member nodes to determine if any changes have occurred
143
+ if (!equalRangeText(updatedNode.members, updated, staleNode.members, stale)) {
144
+ // A change to a member outside a component's metadata is unsupported
145
+ return null;
146
+ }
147
+ // If all previous class checks passed, this class is supported for HMR updates
148
+ candidates.push(updatedNode);
149
+ continue;
150
+ }
151
+ }
152
+ // Compare text of the statement nodes to determine if any changes have occurred
153
+ // TODO: Consider expanding this to check semantic updates for each node kind
154
+ if (!equalRangeText(updatedNode, updated, staleNode, stale)) {
155
+ // A change to a statement outside a component's metadata is unsupported
156
+ return null;
157
+ }
158
+ }
159
+ return candidates;
160
+ }
161
+ /**
162
+ * The set of Angular component metadata fields that are supported by HMR updates.
163
+ */
164
+ const SUPPORTED_FIELDS = new Set(['template', 'templateUrl', 'styles', 'styleUrl', 'stylesUrl']);
165
+ /**
166
+ * Analyzes the metadata fields of a decorator call expression for unsupported HMR updates.
167
+ * Only updates to supported fields can be present for HMR to be viable.
168
+ * @param staleCall A call expression instance.
169
+ * @param staleSource The source file instance containing the stale call instance.
170
+ * @param updatedCall A call expression instance.
171
+ * @param updatedSource The source file instance containing the updated call instance.
172
+ * @returns true, if unsupported metadata updates are present; false, otherwise.
173
+ */
174
+ function hasUnsupportedMetaUpdates(staleCall, staleSource, updatedCall, updatedSource) {
175
+ const staleObject = staleCall.arguments[0];
176
+ const updatedObject = updatedCall.arguments[0];
177
+ if (!typescript_1.default.isObjectLiteralExpression(staleObject) || !typescript_1.default.isObjectLiteralExpression(updatedObject)) {
178
+ return true;
179
+ }
180
+ const unsupportedFields = [];
181
+ for (const property of staleObject.properties) {
182
+ if (!typescript_1.default.isPropertyAssignment(property) || typescript_1.default.isComputedPropertyName(property.name)) {
183
+ // Unsupported object literal property
184
+ return true;
185
+ }
186
+ const name = property.name.text;
187
+ if (SUPPORTED_FIELDS.has(name)) {
188
+ continue;
189
+ }
190
+ unsupportedFields.push(property.initializer);
191
+ }
192
+ let i = 0;
193
+ for (const property of updatedObject.properties) {
194
+ if (!typescript_1.default.isPropertyAssignment(property) || typescript_1.default.isComputedPropertyName(property.name)) {
195
+ // Unsupported object literal property
196
+ return true;
197
+ }
198
+ const name = property.name.text;
199
+ if (SUPPORTED_FIELDS.has(name)) {
200
+ continue;
201
+ }
202
+ // Compare in order
203
+ if (!equalRangeText(property.initializer, updatedSource, unsupportedFields[i++], staleSource)) {
204
+ return true;
205
+ }
206
+ }
207
+ return i !== unsupportedFields.length;
208
+ }
209
+ /**
210
+ * Compares the text from a provided range in a source file to the text of a range in a second source file.
211
+ * The comparison avoids making any intermediate string copies.
212
+ * @param firstRange A text range within the first source file.
213
+ * @param firstSource A source file instance.
214
+ * @param secondRange A text range within the second source file.
215
+ * @param secondSource A source file instance.
216
+ * @returns true, if the text from both ranges is equal; false, otherwise.
217
+ */
218
+ function equalRangeText(firstRange, firstSource, secondRange, secondSource) {
219
+ // Check matching undefined values
220
+ if (!firstRange || !secondRange) {
221
+ return firstRange === secondRange;
222
+ }
223
+ // Ensure lengths are equal
224
+ const firstLength = firstRange.end - firstRange.pos;
225
+ const secondLength = secondRange.end - secondRange.pos;
226
+ if (firstLength !== secondLength) {
227
+ return false;
228
+ }
229
+ // Check each character
230
+ for (let i = 0; i < firstLength; ++i) {
231
+ const firstChar = firstSource.text.charCodeAt(i + firstRange.pos);
232
+ const secondChar = secondSource.text.charCodeAt(i + secondRange.pos);
233
+ if (firstChar !== secondChar) {
234
+ return false;
235
+ }
236
+ }
237
+ return true;
238
+ }
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -10,7 +10,7 @@ import { MemoryLoadResultCache } from '../load-result-cache';
10
10
  export declare class SourceFileCache extends Map<string, ts.SourceFile> {
11
11
  readonly persistentCachePath?: string | undefined;
12
12
  readonly modifiedFiles: Set<string>;
13
- readonly typeScriptFileCache: Map<string, string | Uint8Array>;
13
+ readonly typeScriptFileCache: Map<string, string | Uint8Array<ArrayBufferLike>>;
14
14
  readonly loadResultCache: MemoryLoadResultCache;
15
15
  referencedFiles?: readonly string[];
16
16
  constructor(persistentCachePath?: string | undefined);
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.SourceFileCache = void 0;
34
44
  const node_os_1 = require("node:os");
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.LessStylesheetLanguage = void 0;
34
44
  const promises_1 = require("node:fs/promises");
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.SassStylesheetLanguage = void 0;
34
44
  exports.shutdownSassWorkerPool = shutdownSassWorkerPool;
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -17,21 +17,17 @@ async function createAngularSsrTransformPlugin(workspaceRoot) {
17
17
  const { normalizePath } = await (0, load_esm_1.loadEsmModule)('vite');
18
18
  return {
19
19
  name: 'vite:angular-ssr-transform',
20
- enforce: 'pre',
21
- async configureServer(server) {
22
- const originalssrTransform = server.ssrTransform;
23
- server.ssrTransform = async (code, map, url, originalCode) => {
24
- const result = await originalssrTransform(code, null, url, originalCode);
25
- if (!result || !result.map || !map) {
26
- return result;
27
- }
28
- const remappedMap = (0, remapping_1.default)([result.map, map], () => null);
29
- // Set the sourcemap root to the workspace root. This is needed since we set a virtual path as root.
30
- remappedMap.sourceRoot = normalizePath(workspaceRoot) + '/';
31
- return {
32
- ...result,
33
- map: remappedMap,
34
- };
20
+ enforce: 'post',
21
+ transform(code, _id, { ssr, inMap } = {}) {
22
+ if (!ssr || !inMap) {
23
+ return null;
24
+ }
25
+ const remappedMap = (0, remapping_1.default)([inMap], () => null);
26
+ // Set the sourcemap root to the workspace root. This is needed since we set a virtual path as root.
27
+ remappedMap.sourceRoot = normalizePath(workspaceRoot) + '/';
28
+ return {
29
+ code,
30
+ map: remappedMap,
35
31
  };
36
32
  },
37
33
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.hashTextContent = hashTextContent;
34
44
  exports.autoCsp = autoCsp;
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.InlineFontsProcessor = void 0;
34
44
  const https_proxy_agent_1 = require("https-proxy-agent");
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.loadProxyConfiguration = loadProxyConfiguration;
34
44
  const fast_glob_1 = require("fast-glob");
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.createTranslationLoader = createTranslationLoader;
34
44
  const crypto_1 = require("crypto");
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
33
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
34
44
  };
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.normalizeCacheOptions = normalizeCacheOptions;
11
11
  const node_path_1 = require("node:path");
12
12
  /** Version placeholder is replaced during the build process with actual package version */
13
- const VERSION = '19.0.3';
13
+ const VERSION = '19.1.0-next.0';
14
14
  function hasCacheMetadata(value) {
15
15
  return (!!value &&
16
16
  typeof value === 'object' &&
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
24
  });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
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
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.augmentAppWithServiceWorker = augmentAppWithServiceWorker;
34
44
  exports.augmentAppWithServiceWorkerEsbuild = augmentAppWithServiceWorkerEsbuild;