@angular/core 19.1.1 → 19.1.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 (37) hide show
  1. package/fesm2022/core.mjs +2773 -2600
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  4. package/fesm2022/primitives/signals.mjs +97 -6
  5. package/fesm2022/primitives/signals.mjs.map +1 -1
  6. package/fesm2022/rxjs-interop.mjs +1 -1
  7. package/fesm2022/rxjs-interop.mjs.map +1 -1
  8. package/fesm2022/testing.mjs +4 -4
  9. package/index.d.ts +8 -12
  10. package/package.json +1 -1
  11. package/primitives/event-dispatch/index.d.ts +1 -1
  12. package/primitives/signals/index.d.ts +42 -1
  13. package/rxjs-interop/index.d.ts +2 -2
  14. package/schematics/bundles/{apply_import_manager-5082ccea.js → apply_import_manager-40cd5384.js} +3 -3
  15. package/schematics/bundles/{checker-aa999c96.js → checker-ca858016.js} +40 -7
  16. package/schematics/bundles/cleanup-unused-imports.js +54 -21
  17. package/schematics/bundles/{compiler_host-f0b570c8.js → compiler_host-68e159d5.js} +2 -2
  18. package/schematics/bundles/control-flow-migration.js +3 -3
  19. package/schematics/bundles/explicit-standalone-flag.js +5 -5
  20. package/schematics/bundles/{imports-31a38653.js → imports-abe29092.js} +1 -1
  21. package/schematics/bundles/{index-02a11f43.js → index-761b9f6f.js} +4 -4
  22. package/schematics/bundles/{index-15b61bae.js → index-d05029f9.js} +4 -4
  23. package/schematics/bundles/inject-migration.js +6 -6
  24. package/schematics/bundles/{leading_space-6e7a8ec6.js → leading_space-d190b83b.js} +1 -1
  25. package/schematics/bundles/{migrate_ts_type_references-042ca765.js → migrate_ts_type_references-8d015538.js} +6 -6
  26. package/schematics/bundles/{nodes-88c2157f.js → nodes-a9f0b985.js} +2 -2
  27. package/schematics/bundles/output-migration.js +6 -6
  28. package/schematics/bundles/pending-tasks.js +5 -5
  29. package/schematics/bundles/{program-393ca8f3.js → program-8e222816.js} +52 -22
  30. package/schematics/bundles/{project_tsconfig_paths-6c9cde78.js → project_tsconfig_paths-e9ccccbf.js} +1 -1
  31. package/schematics/bundles/provide-initializer.js +5 -5
  32. package/schematics/bundles/route-lazy-loading.js +4 -4
  33. package/schematics/bundles/signal-input-migration.js +8 -8
  34. package/schematics/bundles/signal-queries-migration.js +8 -8
  35. package/schematics/bundles/signals.js +8 -8
  36. package/schematics/bundles/standalone-migration.js +8 -8
  37. package/testing/index.d.ts +1 -1
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var checker = require('./checker-aa999c96.js');
9
+ var checker = require('./checker-ca858016.js');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -895,7 +895,7 @@ function compileClassDebugInfo(debugInfo) {
895
895
  */
896
896
  function compileHmrInitializer(meta) {
897
897
  const id = encodeURIComponent(`${meta.filePath}@${meta.className}`);
898
- const urlPartial = `/@ng/component?c=${id}&t=`;
898
+ const urlPartial = `./@ng/component?c=${id}&t=`;
899
899
  const moduleName = 'm';
900
900
  const dataName = 'd';
901
901
  const timestampName = 't';
@@ -999,7 +999,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
999
999
  function compileDeclareClassMetadata(metadata) {
1000
1000
  const definitionMap = new checker.DefinitionMap();
1001
1001
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
1002
- definitionMap.set('version', checker.literal('19.1.1'));
1002
+ definitionMap.set('version', checker.literal('19.1.3'));
1003
1003
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1004
1004
  definitionMap.set('type', metadata.type);
1005
1005
  definitionMap.set('decorators', metadata.decorators);
@@ -1017,7 +1017,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
1017
1017
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? checker.literal(null));
1018
1018
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? checker.literal(null));
1019
1019
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
1020
- definitionMap.set('version', checker.literal('19.1.1'));
1020
+ definitionMap.set('version', checker.literal('19.1.3'));
1021
1021
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1022
1022
  definitionMap.set('type', metadata.type);
1023
1023
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1112,7 +1112,7 @@ function createDirectiveDefinitionMap(meta) {
1112
1112
  const definitionMap = new checker.DefinitionMap();
1113
1113
  const minVersion = getMinimumVersionForPartialOutput(meta);
1114
1114
  definitionMap.set('minVersion', checker.literal(minVersion));
1115
- definitionMap.set('version', checker.literal('19.1.1'));
1115
+ definitionMap.set('version', checker.literal('19.1.3'));
1116
1116
  // e.g. `type: MyDirective`
1117
1117
  definitionMap.set('type', meta.type.value);
1118
1118
  if (meta.isStandalone !== undefined) {
@@ -1528,7 +1528,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1528
1528
  function compileDeclareFactoryFunction(meta) {
1529
1529
  const definitionMap = new checker.DefinitionMap();
1530
1530
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1531
- definitionMap.set('version', checker.literal('19.1.1'));
1531
+ definitionMap.set('version', checker.literal('19.1.3'));
1532
1532
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1533
1533
  definitionMap.set('type', meta.type.value);
1534
1534
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1563,7 +1563,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1563
1563
  function createInjectableDefinitionMap(meta) {
1564
1564
  const definitionMap = new checker.DefinitionMap();
1565
1565
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1566
- definitionMap.set('version', checker.literal('19.1.1'));
1566
+ definitionMap.set('version', checker.literal('19.1.3'));
1567
1567
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1568
1568
  definitionMap.set('type', meta.type.value);
1569
1569
  // Only generate providedIn property if it has a non-null value
@@ -1614,7 +1614,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1614
1614
  function createInjectorDefinitionMap(meta) {
1615
1615
  const definitionMap = new checker.DefinitionMap();
1616
1616
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1617
- definitionMap.set('version', checker.literal('19.1.1'));
1617
+ definitionMap.set('version', checker.literal('19.1.3'));
1618
1618
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1619
1619
  definitionMap.set('type', meta.type.value);
1620
1620
  definitionMap.set('providers', meta.providers);
@@ -1647,7 +1647,7 @@ function createNgModuleDefinitionMap(meta) {
1647
1647
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1648
1648
  }
1649
1649
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1650
- definitionMap.set('version', checker.literal('19.1.1'));
1650
+ definitionMap.set('version', checker.literal('19.1.3'));
1651
1651
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1652
1652
  definitionMap.set('type', meta.type.value);
1653
1653
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1698,7 +1698,7 @@ function compileDeclarePipeFromMetadata(meta) {
1698
1698
  function createPipeDefinitionMap(meta) {
1699
1699
  const definitionMap = new checker.DefinitionMap();
1700
1700
  definitionMap.set('minVersion', checker.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1701
- definitionMap.set('version', checker.literal('19.1.1'));
1701
+ definitionMap.set('version', checker.literal('19.1.3'));
1702
1702
  definitionMap.set('ngImport', checker.importExpr(checker.Identifiers.core));
1703
1703
  // e.g. `type: MyPipe`
1704
1704
  definitionMap.set('type', meta.type.value);
@@ -10284,10 +10284,11 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10284
10284
  * TypeScript identifiers are used both when referring to a variable (e.g. `console.log(foo)`)
10285
10285
  * and for names (e.g. `{foo: 123}`). This function determines if the identifier is a top-level
10286
10286
  * variable read, rather than a nested name.
10287
- * @param node Identifier to check.
10287
+ * @param identifier Identifier to check.
10288
10288
  */
10289
- isTopLevelIdentifierReference(node) {
10290
- const parent = node.parent;
10289
+ isTopLevelIdentifierReference(identifier) {
10290
+ let node = identifier;
10291
+ let parent = node.parent;
10291
10292
  // The parent might be undefined for a synthetic node or if `setParentNodes` is set to false
10292
10293
  // when the SourceFile was created. We can account for such cases using the type checker, at
10293
10294
  // the expense of performance. At the moment of writing, we're keeping it simple since the
@@ -10295,6 +10296,14 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10295
10296
  if (!parent) {
10296
10297
  return false;
10297
10298
  }
10299
+ // Unwrap parenthesized identifiers, but use the closest parenthesized expression
10300
+ // as the reference node so that we can check cases like `{prop: ((value))}`.
10301
+ if (ts__default["default"].isParenthesizedExpression(parent) && parent.expression === node) {
10302
+ while (parent && ts__default["default"].isParenthesizedExpression(parent)) {
10303
+ node = parent;
10304
+ parent = parent.parent;
10305
+ }
10306
+ }
10298
10307
  // Identifier referenced at the top level. Unlikely.
10299
10308
  if (ts__default["default"].isSourceFile(parent)) {
10300
10309
  return true;
@@ -10318,7 +10327,8 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10318
10327
  ts__default["default"].isWhileStatement(parent) ||
10319
10328
  ts__default["default"].isSwitchStatement(parent) ||
10320
10329
  ts__default["default"].isCaseClause(parent) ||
10321
- ts__default["default"].isThrowStatement(parent)) {
10330
+ ts__default["default"].isThrowStatement(parent) ||
10331
+ ts__default["default"].isNewExpression(parent)) {
10322
10332
  return parent.expression === node;
10323
10333
  }
10324
10334
  // Identifier used in an array is only top-level if it's one of the elements.
@@ -10365,6 +10375,9 @@ class PotentialTopLevelReadsVisitor extends checker.RecursiveAstVisitor {
10365
10375
  if (ts__default["default"].isImportSpecifier(parent) || ts__default["default"].isExportSpecifier(parent)) {
10366
10376
  return (parent.propertyName || parent.name) === node;
10367
10377
  }
10378
+ if (ts__default["default"].isConditionalExpression(parent)) {
10379
+ return parent.condition === node || parent.whenFalse === node || parent.whenTrue === node;
10380
+ }
10368
10381
  // Otherwise it's not top-level.
10369
10382
  return false;
10370
10383
  }
@@ -11233,14 +11246,31 @@ class ComponentDecoratorHandler {
11233
11246
  // Register all Directives and Pipes used at the top level (outside
11234
11247
  // of any defer blocks), which would be eagerly referenced.
11235
11248
  const eagerlyUsed = new Set();
11236
- for (const dir of bound.getEagerlyUsedDirectives()) {
11237
- eagerlyUsed.add(dir.ref.node);
11249
+ if (this.enableHmr) {
11250
+ // In HMR we need to preserve all the dependencies, because they have to remain consistent
11251
+ // with the initially-generated code no matter what the template looks like.
11252
+ for (const dep of dependencies) {
11253
+ if (dep.ref.node !== node) {
11254
+ eagerlyUsed.add(dep.ref.node);
11255
+ }
11256
+ else {
11257
+ const used = bound.getEagerlyUsedDirectives();
11258
+ if (used.some((current) => current.ref.node === node)) {
11259
+ eagerlyUsed.add(node);
11260
+ }
11261
+ }
11262
+ }
11238
11263
  }
11239
- for (const name of bound.getEagerlyUsedPipes()) {
11240
- if (!pipes.has(name)) {
11241
- continue;
11264
+ else {
11265
+ for (const dir of bound.getEagerlyUsedDirectives()) {
11266
+ eagerlyUsed.add(dir.ref.node);
11267
+ }
11268
+ for (const name of bound.getEagerlyUsedPipes()) {
11269
+ if (!pipes.has(name)) {
11270
+ continue;
11271
+ }
11272
+ eagerlyUsed.add(pipes.get(name).ref.node);
11242
11273
  }
11243
- eagerlyUsed.add(pipes.get(name).ref.node);
11244
11274
  }
11245
11275
  // Set of Directives and Pipes used across the entire template,
11246
11276
  // including all defer blocks.
@@ -20226,7 +20256,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20226
20256
  * @param minVersion Minimum required version for the feature.
20227
20257
  */
20228
20258
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20229
- // A version of `19.1.1` usually means that core is at head so it supports
20259
+ // A version of `19.1.3` usually means that core is at head so it supports
20230
20260
  // all features. Use string interpolation prevent the placeholder from being replaced
20231
20261
  // with the current version during build time.
20232
20262
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,12 +10,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
- var compiler_host = require('./compiler_host-f0b570c8.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
+ var compiler_host = require('./compiler_host-68e159d5.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-31a38653.js');
16
+ var imports = require('./imports-abe29092.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-aa999c96.js');
18
+ require('./checker-ca858016.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -11,10 +11,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var fs = require('fs');
13
13
  var p = require('path');
14
- var compiler_host = require('./compiler_host-f0b570c8.js');
15
- var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
+ var compiler_host = require('./compiler_host-68e159d5.js');
15
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
16
16
  var ts = require('typescript');
17
- var checker = require('./checker-aa999c96.js');
17
+ var checker = require('./checker-ca858016.js');
18
18
  require('os');
19
19
  require('@angular-devkit/core');
20
20
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,17 +9,17 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- var migrate_ts_type_references = require('./migrate_ts_type_references-042ca765.js');
12
+ var migrate_ts_type_references = require('./migrate_ts_type_references-8d015538.js');
13
13
  var ts = require('typescript');
14
14
  require('os');
15
- var checker = require('./checker-aa999c96.js');
16
- var program = require('./program-393ca8f3.js');
15
+ var checker = require('./checker-ca858016.js');
16
+ var program = require('./program-8e222816.js');
17
17
  require('path');
18
- var apply_import_manager = require('./apply_import_manager-5082ccea.js');
19
- var index = require('./index-15b61bae.js');
18
+ var apply_import_manager = require('./apply_import_manager-40cd5384.js');
19
+ var index = require('./index-d05029f9.js');
20
20
  var assert = require('assert');
21
- var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
22
- require('./leading_space-6e7a8ec6.js');
21
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
22
+ require('./leading_space-d190b83b.js');
23
23
  require('fs');
24
24
  require('module');
25
25
  require('url');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,22 +9,22 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
13
- var apply_import_manager = require('./apply_import_manager-5082ccea.js');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
13
+ var apply_import_manager = require('./apply_import_manager-40cd5384.js');
14
14
  require('os');
15
15
  var ts = require('typescript');
16
- var checker = require('./checker-aa999c96.js');
17
- var program = require('./program-393ca8f3.js');
16
+ var checker = require('./checker-ca858016.js');
17
+ var program = require('./program-8e222816.js');
18
18
  require('path');
19
- var migrate_ts_type_references = require('./migrate_ts_type_references-042ca765.js');
19
+ var migrate_ts_type_references = require('./migrate_ts_type_references-8d015538.js');
20
20
  var assert = require('assert');
21
- var index = require('./index-15b61bae.js');
21
+ var index = require('./index-d05029f9.js');
22
22
  require('@angular-devkit/core');
23
23
  require('node:path/posix');
24
24
  require('fs');
25
25
  require('module');
26
26
  require('url');
27
- require('./leading_space-6e7a8ec6.js');
27
+ require('./leading_space-d190b83b.js');
28
28
 
29
29
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
30
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -12,22 +12,22 @@ var schematics = require('@angular-devkit/schematics');
12
12
  var signalQueriesMigration = require('./signal-queries-migration.js');
13
13
  var signalInputMigration = require('./signal-input-migration.js');
14
14
  var outputMigration = require('./output-migration.js');
15
- require('./project_tsconfig_paths-6c9cde78.js');
15
+ require('./project_tsconfig_paths-e9ccccbf.js');
16
16
  require('@angular-devkit/core');
17
- require('./apply_import_manager-5082ccea.js');
17
+ require('./apply_import_manager-40cd5384.js');
18
18
  require('node:path/posix');
19
19
  require('os');
20
20
  require('typescript');
21
- require('./checker-aa999c96.js');
21
+ require('./checker-ca858016.js');
22
22
  require('fs');
23
23
  require('module');
24
24
  require('path');
25
25
  require('url');
26
- require('./program-393ca8f3.js');
27
- require('./migrate_ts_type_references-042ca765.js');
26
+ require('./program-8e222816.js');
27
+ require('./migrate_ts_type_references-8d015538.js');
28
28
  require('assert');
29
- require('./index-15b61bae.js');
30
- require('./leading_space-6e7a8ec6.js');
29
+ require('./index-d05029f9.js');
30
+ require('./leading_space-d190b83b.js');
31
31
 
32
32
  function migrate(options) {
33
33
  // The migrations are independent so we can run them in any order, but we sort them here
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.1.1
3
+ * @license Angular v19.1.3
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,17 +9,17 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- require('./index-02a11f43.js');
12
+ require('./index-761b9f6f.js');
13
13
  var fs = require('fs');
14
14
  var p = require('path');
15
15
  var ts = require('typescript');
16
- var compiler_host = require('./compiler_host-f0b570c8.js');
17
- var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
18
- var nodes = require('./nodes-88c2157f.js');
19
- var imports = require('./imports-31a38653.js');
20
- var checker = require('./checker-aa999c96.js');
16
+ var compiler_host = require('./compiler_host-68e159d5.js');
17
+ var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
18
+ var nodes = require('./nodes-a9f0b985.js');
19
+ var imports = require('./imports-abe29092.js');
20
+ var checker = require('./checker-ca858016.js');
21
21
  require('os');
22
- var program = require('./program-393ca8f3.js');
22
+ var program = require('./program-8e222816.js');
23
23
  require('@angular-devkit/core');
24
24
  require('module');
25
25
  require('url');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.1.1
2
+ * @license Angular v19.1.3
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */