@angular/compiler 18.2.6 → 18.2.8

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.
@@ -11,5 +11,5 @@
11
11
  * Entry point for all public APIs of the compiler package.
12
12
  */
13
13
  import { Version } from './util';
14
- export const VERSION = new Version('18.2.6');
14
+ export const VERSION = new Version('18.2.8');
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGUgY29tcGlsZXIgcGFja2FnZS5cbiAqL1xuXG5pbXBvcnQge1ZlcnNpb259IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v18.2.6
2
+ * @license Angular v18.2.8
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -7271,7 +7271,7 @@ class ShadowCss {
7271
7271
  * captures how many (if any) leading whitespaces are present or a comma
7272
7272
  * - (?:(?:(['"])((?:\\\\|\\\2|(?!\2).)+)\2)|(-?[A-Za-z][\w\-]*))
7273
7273
  * captures two different possible keyframes, ones which are quoted or ones which are valid css
7274
- * idents (custom properties excluded)
7274
+ * indents (custom properties excluded)
7275
7275
  * - (?=[,\s;]|$)
7276
7276
  * simply matches the end of the possible keyframe, valid endings are: a comma, a space, a
7277
7277
  * semicolon or the end of the string
@@ -7500,7 +7500,7 @@ class ShadowCss {
7500
7500
  */
7501
7501
  _scopeCssText(cssText, scopeSelector, hostSelector) {
7502
7502
  const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);
7503
- // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively
7503
+ // replace :host and :host-context with -shadowcsshost and -shadowcsshostcontext respectively
7504
7504
  cssText = this._insertPolyfillHostInCssText(cssText);
7505
7505
  cssText = this._convertColonHost(cssText);
7506
7506
  cssText = this._convertColonHostContext(cssText);
@@ -7578,7 +7578,7 @@ class ShadowCss {
7578
7578
  * .foo<scopeName> .bar { ... }
7579
7579
  */
7580
7580
  _convertColonHostContext(cssText) {
7581
- return cssText.replace(_cssColonHostContextReGlobal, (selectorText) => {
7581
+ return cssText.replace(_cssColonHostContextReGlobal, (selectorText, pseudoPrefix) => {
7582
7582
  // We have captured a selector that contains a `:host-context` rule.
7583
7583
  // For backward compatibility `:host-context` may contain a comma separated list of selectors.
7584
7584
  // Each context selector group will contain a list of host-context selectors that must match
@@ -7627,10 +7627,10 @@ class ShadowCss {
7627
7627
  selectorText = match[2];
7628
7628
  }
7629
7629
  // The context selectors now must be combined with each other to capture all the possible
7630
- // selectors that `:host-context` can match. See `combineHostContextSelectors()` for more
7630
+ // selectors that `:host-context` can match. See `_combineHostContextSelectors()` for more
7631
7631
  // info about how this is done.
7632
7632
  return contextSelectorGroups
7633
- .map((contextSelectors) => combineHostContextSelectors(contextSelectors, selectorText))
7633
+ .map((contextSelectors) => _combineHostContextSelectors(contextSelectors, selectorText, pseudoPrefix))
7634
7634
  .join(', ');
7635
7635
  });
7636
7636
  }
@@ -7647,7 +7647,12 @@ class ShadowCss {
7647
7647
  let selector = rule.selector;
7648
7648
  let content = rule.content;
7649
7649
  if (rule.selector[0] !== '@') {
7650
- selector = this._scopeSelector(rule.selector, scopeSelector, hostSelector);
7650
+ selector = this._scopeSelector({
7651
+ selector,
7652
+ scopeSelector,
7653
+ hostSelector,
7654
+ isParentSelector: true,
7655
+ });
7651
7656
  }
7652
7657
  else if (scopedAtRuleIdentifiers.some((atRule) => rule.selector.startsWith(atRule))) {
7653
7658
  content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);
@@ -7687,15 +7692,29 @@ class ShadowCss {
7687
7692
  return new CssRule(selector, rule.content);
7688
7693
  });
7689
7694
  }
7690
- _scopeSelector(selector, scopeSelector, hostSelector) {
7695
+ // `isParentSelector` is used to distinguish the selectors which are coming from
7696
+ // the initial selector string and any nested selectors, parsed recursively,
7697
+ // for example `selector = 'a:where(.one)'` could be the parent, while recursive call
7698
+ // would have `selector = '.one'`.
7699
+ _scopeSelector({ selector, scopeSelector, hostSelector, isParentSelector = false, }) {
7700
+ // Split the selector into independent parts by `,` (comma) unless
7701
+ // comma is within parenthesis, for example `:is(.one, two)`.
7702
+ // Negative lookup after comma allows not splitting inside nested parenthesis,
7703
+ // up to three levels (((,))).
7704
+ const selectorSplitRe = / ?,(?!(?:[^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\))) ?/;
7691
7705
  return selector
7692
- .split(/ ?, ?/)
7706
+ .split(selectorSplitRe)
7693
7707
  .map((part) => part.split(_shadowDeepSelectors))
7694
7708
  .map((deepParts) => {
7695
7709
  const [shallowPart, ...otherParts] = deepParts;
7696
7710
  const applyScope = (shallowPart) => {
7697
7711
  if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {
7698
- return this._applySelectorScope(shallowPart, scopeSelector, hostSelector);
7712
+ return this._applySelectorScope({
7713
+ selector: shallowPart,
7714
+ scopeSelector,
7715
+ hostSelector,
7716
+ isParentSelector,
7717
+ });
7699
7718
  }
7700
7719
  else {
7701
7720
  return shallowPart;
@@ -7722,8 +7741,8 @@ class ShadowCss {
7722
7741
  if (_polyfillHostRe.test(selector)) {
7723
7742
  const replaceBy = `[${hostSelector}]`;
7724
7743
  return selector
7725
- .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {
7726
- return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {
7744
+ .replace(_polyfillHostNoCombinatorReGlobal, (_hnc, selector) => {
7745
+ return selector.replace(/([^:\)]*)(:*)(.*)/, (_, before, colon, after) => {
7727
7746
  return before + replaceBy + colon + after;
7728
7747
  });
7729
7748
  })
@@ -7733,7 +7752,7 @@ class ShadowCss {
7733
7752
  }
7734
7753
  // return a selector with [name] suffix on each simple selector
7735
7754
  // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */
7736
- _applySelectorScope(selector, scopeSelector, hostSelector) {
7755
+ _applySelectorScope({ selector, scopeSelector, hostSelector, isParentSelector, }) {
7737
7756
  const isRe = /\[is=([^\]]*)\]/g;
7738
7757
  scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);
7739
7758
  const attrName = '[' + scopeSelector + ']';
@@ -7744,6 +7763,10 @@ class ShadowCss {
7744
7763
  }
7745
7764
  if (p.includes(_polyfillHostNoCombinator)) {
7746
7765
  scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);
7766
+ if (_polyfillHostNoCombinatorWithinPseudoFunction.test(p)) {
7767
+ const [_, before, colon, after] = scopedP.match(/([^:]*)(:*)(.*)/);
7768
+ scopedP = before + attrName + colon + after;
7769
+ }
7747
7770
  }
7748
7771
  else {
7749
7772
  // remove :host since it should be unnecessary
@@ -7757,12 +7780,50 @@ class ShadowCss {
7757
7780
  }
7758
7781
  return scopedP;
7759
7782
  };
7760
- const safeContent = new SafeSelector(selector);
7761
- selector = safeContent.content();
7783
+ // Wraps `_scopeSelectorPart()` to not use it directly on selectors with
7784
+ // pseudo selector functions like `:where()`. Selectors within pseudo selector
7785
+ // functions are recursively sent to `_scopeSelector()`.
7786
+ const _pseudoFunctionAwareScopeSelectorPart = (selectorPart) => {
7787
+ let scopedPart = '';
7788
+ const cssPrefixWithPseudoSelectorFunctionMatch = selectorPart.match(_cssPrefixWithPseudoSelectorFunction);
7789
+ if (cssPrefixWithPseudoSelectorFunctionMatch) {
7790
+ const [cssPseudoSelectorFunction] = cssPrefixWithPseudoSelectorFunctionMatch;
7791
+ // Unwrap the pseudo selector to scope its contents.
7792
+ // For example,
7793
+ // - `:where(selectorToScope)` -> `selectorToScope`;
7794
+ // - `:is(.foo, .bar)` -> `.foo, .bar`.
7795
+ const selectorToScope = selectorPart.slice(cssPseudoSelectorFunction.length, -1);
7796
+ if (selectorToScope.includes(_polyfillHostNoCombinator)) {
7797
+ this._shouldScopeIndicator = true;
7798
+ }
7799
+ const scopedInnerPart = this._scopeSelector({
7800
+ selector: selectorToScope,
7801
+ scopeSelector,
7802
+ hostSelector,
7803
+ });
7804
+ // Put the result back into the pseudo selector function.
7805
+ scopedPart = `${cssPseudoSelectorFunction}${scopedInnerPart})`;
7806
+ }
7807
+ else {
7808
+ this._shouldScopeIndicator =
7809
+ this._shouldScopeIndicator || selectorPart.includes(_polyfillHostNoCombinator);
7810
+ scopedPart = this._shouldScopeIndicator ? _scopeSelectorPart(selectorPart) : selectorPart;
7811
+ }
7812
+ return scopedPart;
7813
+ };
7814
+ if (isParentSelector) {
7815
+ this._safeSelector = new SafeSelector(selector);
7816
+ selector = this._safeSelector.content();
7817
+ }
7762
7818
  let scopedSelector = '';
7763
7819
  let startIndex = 0;
7764
7820
  let res;
7765
- const sep = /( |>|\+|~(?!=))\s*/g;
7821
+ // Combinators aren't used as a delimiter if they are within parenthesis,
7822
+ // for example `:where(.one .two)` stays intact.
7823
+ // Similarly to selector separation by comma initially, negative lookahead
7824
+ // is used here to not break selectors within nested parenthesis up to three
7825
+ // nested layers.
7826
+ const sep = /( |>|\+|~(?!=))(?!([^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\)))\s*/g;
7766
7827
  // If a selector appears before :host it should not be shimmed as it
7767
7828
  // matches on ancestor elements and not on elements in the host's shadow
7768
7829
  // `:host-context(div)` is transformed to
@@ -7775,8 +7836,13 @@ class ShadowCss {
7775
7836
  // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a
7776
7837
  // `:host-context(tag)`)
7777
7838
  const hasHost = selector.includes(_polyfillHostNoCombinator);
7778
- // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present
7779
- let shouldScope = !hasHost;
7839
+ // Only scope parts after or on the same level as the first `-shadowcsshost-no-combinator`
7840
+ // when it is present. The selector has the same level when it is a part of a pseudo
7841
+ // selector, like `:where()`, for example `:where(:host, .foo)` would result in `.foo`
7842
+ // being scoped.
7843
+ if (isParentSelector || this._shouldScopeIndicator) {
7844
+ this._shouldScopeIndicator = !hasHost;
7845
+ }
7780
7846
  while ((res = sep.exec(selector)) !== null) {
7781
7847
  const separator = res[1];
7782
7848
  // Do not trim the selector, as otherwise this will break sourcemaps
@@ -7792,16 +7858,15 @@ class ShadowCss {
7792
7858
  if (part.match(/__esc-ph-(\d+)__/) && selector[res.index + 1]?.match(/[a-fA-F\d]/)) {
7793
7859
  continue;
7794
7860
  }
7795
- shouldScope = shouldScope || part.includes(_polyfillHostNoCombinator);
7796
- const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;
7861
+ const scopedPart = _pseudoFunctionAwareScopeSelectorPart(part);
7797
7862
  scopedSelector += `${scopedPart} ${separator} `;
7798
7863
  startIndex = sep.lastIndex;
7799
7864
  }
7800
7865
  const part = selector.substring(startIndex);
7801
- shouldScope = shouldScope || part.includes(_polyfillHostNoCombinator);
7802
- scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
7866
+ scopedSelector += _pseudoFunctionAwareScopeSelectorPart(part);
7803
7867
  // replace the placeholders with their original values
7804
- return safeContent.restore(scopedSelector);
7868
+ // using values stored inside the `safeSelector` instance.
7869
+ return this._safeSelector.restore(scopedSelector);
7805
7870
  }
7806
7871
  _insertPolyfillHostInCssText(selector) {
7807
7872
  return selector
@@ -7856,6 +7921,8 @@ class SafeSelector {
7856
7921
  });
7857
7922
  }
7858
7923
  }
7924
+ const _cssScopedPseudoFunctionPrefix = '(:(where|is)\\()?';
7925
+ const _cssPrefixWithPseudoSelectorFunction = /^:(where|is)\(/i;
7859
7926
  const _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim;
7860
7927
  const _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim;
7861
7928
  const _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim;
@@ -7864,10 +7931,12 @@ const _polyfillHost = '-shadowcsshost';
7864
7931
  const _polyfillHostContext = '-shadowcsscontext';
7865
7932
  const _parenSuffix = '(?:\\((' + '(?:\\([^)(]*\\)|[^)(]*)+?' + ')\\))?([^,{]*)';
7866
7933
  const _cssColonHostRe = new RegExp(_polyfillHost + _parenSuffix, 'gim');
7867
- const _cssColonHostContextReGlobal = new RegExp(_polyfillHostContext + _parenSuffix, 'gim');
7934
+ const _cssColonHostContextReGlobal = new RegExp(_cssScopedPseudoFunctionPrefix + '(' + _polyfillHostContext + _parenSuffix + ')', 'gim');
7868
7935
  const _cssColonHostContextRe = new RegExp(_polyfillHostContext + _parenSuffix, 'im');
7869
7936
  const _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
7937
+ const _polyfillHostNoCombinatorWithinPseudoFunction = new RegExp(`:.*\\(.*${_polyfillHostNoCombinator}.*\\)`);
7870
7938
  const _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
7939
+ const _polyfillHostNoCombinatorReGlobal = new RegExp(_polyfillHostNoCombinatorRe, 'g');
7871
7940
  const _shadowDOMSelectorsRe = [
7872
7941
  /::shadow/g,
7873
7942
  /::content/g,
@@ -8101,7 +8170,7 @@ function unescapeQuotes(str, isQuoted) {
8101
8170
  * @param contextSelectors an array of context selectors that will be combined.
8102
8171
  * @param otherSelectors the rest of the selectors that are not context selectors.
8103
8172
  */
8104
- function combineHostContextSelectors(contextSelectors, otherSelectors) {
8173
+ function _combineHostContextSelectors(contextSelectors, otherSelectors, pseudoPrefix = '') {
8105
8174
  const hostMarker = _polyfillHostNoCombinator;
8106
8175
  _polyfillHostRe.lastIndex = 0; // reset the regex to ensure we get an accurate test
8107
8176
  const otherSelectorsHasHost = _polyfillHostRe.test(otherSelectors);
@@ -8127,8 +8196,8 @@ function combineHostContextSelectors(contextSelectors, otherSelectors) {
8127
8196
  // (A<hostMarker>) or as an ancestor (A <hostMarker>).
8128
8197
  return combined
8129
8198
  .map((s) => otherSelectorsHasHost
8130
- ? `${s}${otherSelectors}`
8131
- : `${s}${hostMarker}${otherSelectors}, ${s} ${hostMarker}${otherSelectors}`)
8199
+ ? `${pseudoPrefix}${s}${otherSelectors}`
8200
+ : `${pseudoPrefix}${s}${hostMarker}${otherSelectors}, ${pseudoPrefix}${s} ${hostMarker}${otherSelectors}`)
8132
8201
  .join(',');
8133
8202
  }
8134
8203
  /**
@@ -29805,7 +29874,7 @@ function publishFacade(global) {
29805
29874
  * @description
29806
29875
  * Entry point for all public APIs of the compiler package.
29807
29876
  */
29808
- const VERSION = new Version('18.2.6');
29877
+ const VERSION = new Version('18.2.8');
29809
29878
 
29810
29879
  class CompilerConfig {
29811
29880
  constructor({ defaultEncapsulation = ViewEncapsulation.Emulated, preserveWhitespaces, strictInjectionParameters, } = {}) {
@@ -31456,7 +31525,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
31456
31525
  function compileDeclareClassMetadata(metadata) {
31457
31526
  const definitionMap = new DefinitionMap();
31458
31527
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
31459
- definitionMap.set('version', literal('18.2.6'));
31528
+ definitionMap.set('version', literal('18.2.8'));
31460
31529
  definitionMap.set('ngImport', importExpr(Identifiers.core));
31461
31530
  definitionMap.set('type', metadata.type);
31462
31531
  definitionMap.set('decorators', metadata.decorators);
@@ -31474,7 +31543,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
31474
31543
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? literal(null));
31475
31544
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? literal(null));
31476
31545
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
31477
- definitionMap.set('version', literal('18.2.6'));
31546
+ definitionMap.set('version', literal('18.2.8'));
31478
31547
  definitionMap.set('ngImport', importExpr(Identifiers.core));
31479
31548
  definitionMap.set('type', metadata.type);
31480
31549
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -31569,7 +31638,7 @@ function createDirectiveDefinitionMap(meta) {
31569
31638
  const definitionMap = new DefinitionMap();
31570
31639
  const minVersion = getMinimumVersionForPartialOutput(meta);
31571
31640
  definitionMap.set('minVersion', literal(minVersion));
31572
- definitionMap.set('version', literal('18.2.6'));
31641
+ definitionMap.set('version', literal('18.2.8'));
31573
31642
  // e.g. `type: MyDirective`
31574
31643
  definitionMap.set('type', meta.type.value);
31575
31644
  if (meta.isStandalone) {
@@ -31991,7 +32060,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
31991
32060
  function compileDeclareFactoryFunction(meta) {
31992
32061
  const definitionMap = new DefinitionMap();
31993
32062
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
31994
- definitionMap.set('version', literal('18.2.6'));
32063
+ definitionMap.set('version', literal('18.2.8'));
31995
32064
  definitionMap.set('ngImport', importExpr(Identifiers.core));
31996
32065
  definitionMap.set('type', meta.type.value);
31997
32066
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -32026,7 +32095,7 @@ function compileDeclareInjectableFromMetadata(meta) {
32026
32095
  function createInjectableDefinitionMap(meta) {
32027
32096
  const definitionMap = new DefinitionMap();
32028
32097
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
32029
- definitionMap.set('version', literal('18.2.6'));
32098
+ definitionMap.set('version', literal('18.2.8'));
32030
32099
  definitionMap.set('ngImport', importExpr(Identifiers.core));
32031
32100
  definitionMap.set('type', meta.type.value);
32032
32101
  // Only generate providedIn property if it has a non-null value
@@ -32077,7 +32146,7 @@ function compileDeclareInjectorFromMetadata(meta) {
32077
32146
  function createInjectorDefinitionMap(meta) {
32078
32147
  const definitionMap = new DefinitionMap();
32079
32148
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
32080
- definitionMap.set('version', literal('18.2.6'));
32149
+ definitionMap.set('version', literal('18.2.8'));
32081
32150
  definitionMap.set('ngImport', importExpr(Identifiers.core));
32082
32151
  definitionMap.set('type', meta.type.value);
32083
32152
  definitionMap.set('providers', meta.providers);
@@ -32110,7 +32179,7 @@ function createNgModuleDefinitionMap(meta) {
32110
32179
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
32111
32180
  }
32112
32181
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
32113
- definitionMap.set('version', literal('18.2.6'));
32182
+ definitionMap.set('version', literal('18.2.8'));
32114
32183
  definitionMap.set('ngImport', importExpr(Identifiers.core));
32115
32184
  definitionMap.set('type', meta.type.value);
32116
32185
  // We only generate the keys in the metadata if the arrays contain values.
@@ -32161,7 +32230,7 @@ function compileDeclarePipeFromMetadata(meta) {
32161
32230
  function createPipeDefinitionMap(meta) {
32162
32231
  const definitionMap = new DefinitionMap();
32163
32232
  definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
32164
- definitionMap.set('version', literal('18.2.6'));
32233
+ definitionMap.set('version', literal('18.2.8'));
32165
32234
  definitionMap.set('ngImport', importExpr(Identifiers.core));
32166
32235
  // e.g. `type: MyPipe`
32167
32236
  definitionMap.set('type', meta.type.value);