11/**
2- * @license Angular v19.1.0-next.0+sha-13f1de3
2+ * @license Angular v19.1.0-next.0+sha-7d0ba0c
33 * (c) 2010-2024 Google LLC. https://angular.io/
44 * License: MIT
55 */
@@ -30836,7 +30836,7 @@ function publishFacade(global) {
3083630836 * @description
3083730837 * Entry point for all public APIs of the compiler package.
3083830838 */
30839- const VERSION = new Version('19.1.0-next.0+sha-13f1de3 ');
30839+ const VERSION = new Version('19.1.0-next.0+sha-7d0ba0c ');
3084030840
3084130841class CompilerConfig {
3084230842 defaultEncapsulation;
@@ -32591,38 +32591,57 @@ function compileHmrInitializer(meta) {
3259132591 const urlPartial = `/@ng/component?c=${id}&t=`;
3259232592 const moduleName = 'm';
3259332593 const dataName = 'd';
32594+ const timestampName = 't';
32595+ const importCallbackName = `${meta.className}_HmrLoad`;
3259432596 const locals = meta.locals.map((localName) => variable(localName));
32595- // ɵɵreplaceMetadata(Comp, m.default, core, [...]);
32596- const replaceMetadata = importExpr(Identifiers.replaceMetadata)
32597- .callFn([
32598- meta.type,
32599- variable(moduleName).prop('default'),
32600- new ExternalExpr(Identifiers.core),
32601- literalArr(locals),
32602- ]);
32603- // (m) => ɵɵreplaceMetadata(...)
32604- const replaceCallback = arrowFn([new FnParam(moduleName)], replaceMetadata);
32605- // '<urlPartial>' + encodeURIComponent(d.timestamp)
32597+ // m.default
32598+ const defaultRead = variable(moduleName).prop('default');
32599+ // ɵɵreplaceMetadata(Comp, m.default, [...]);
32600+ const replaceCall = importExpr(Identifiers.replaceMetadata)
32601+ .callFn([meta.type, defaultRead, new ExternalExpr(Identifiers.core), literalArr(locals)]);
32602+ // (m) => m.default && ɵɵreplaceMetadata(...)
32603+ const replaceCallback = arrowFn([new FnParam(moduleName)], defaultRead.and(replaceCall));
32604+ // '<urlPartial>' + encodeURIComponent(t)
3260632605 const urlValue = literal(urlPartial)
32607- .plus(variable('encodeURIComponent').callFn([variable(dataName).prop('timestamp')]));
32608- // import(/* @vite-ignore */ url).then(() => replaceMetadata(...));
32609- // The vite-ignore special comment is required to avoid Vite from generating a superfluous
32610- // warning for each usage within the development code. If Vite provides a method to
32611- // programmatically avoid this warning in the future, this added comment can be removed here.
32612- const dynamicImport = new DynamicImportExpr(urlValue, null, '@vite-ignore')
32613- .prop('then')
32614- .callFn([replaceCallback]);
32615- // (d) => { if (d.id === <id>) { replaceMetadata(...) } }
32616- const listenerCallback = arrowFn([new FnParam(dataName)], [ifStmt(variable(dataName).prop('id').equals(literal(id)), [dynamicImport.toStmt()])]);
32606+ .plus(variable('encodeURIComponent').callFn([variable(timestampName)]));
32607+ // function Cmp_HmrLoad(t) {
32608+ // import(/* @vite-ignore */ url).then((m) => m.default && replaceMetadata(...));
32609+ // }
32610+ const importCallback = new DeclareFunctionStmt(importCallbackName, [new FnParam(timestampName)], [
32611+ // The vite-ignore special comment is required to prevent Vite from generating a superfluous
32612+ // warning for each usage within the development code. If Vite provides a method to
32613+ // programmatically avoid this warning in the future, this added comment can be removed here.
32614+ new DynamicImportExpr(urlValue, null, '@vite-ignore')
32615+ .prop('then')
32616+ .callFn([replaceCallback])
32617+ .toStmt(),
32618+ ], null, StmtModifier.Final);
32619+ // (d) => d.id === <id> && Cmp_HmrLoad(d.timestamp)
32620+ const updateCallback = arrowFn([new FnParam(dataName)], variable(dataName)
32621+ .prop('id')
32622+ .identical(literal(id))
32623+ .and(variable(importCallbackName).callFn([variable(dataName).prop('timestamp')])));
32624+ // Cmp_HmrLoad(Date.now());
32625+ // Initial call to kick off the loading in order to avoid edge cases with components
32626+ // coming from lazy chunks that change before the chunk has loaded.
32627+ const initialCall = variable(importCallbackName)
32628+ .callFn([variable('Date').prop('now').callFn([])]);
3261732629 // import.meta.hot
3261832630 const hotRead = variable('import').prop('meta').prop('hot');
3261932631 // import.meta.hot.on('angular:component-update', () => ...);
3262032632 const hotListener = hotRead
3262132633 .clone()
3262232634 .prop('on')
32623- .callFn([literal('angular:component-update'), listenerCallback]);
32624- // import.meta.hot && import.meta.hot.on(...)
32625- return arrowFn([], [devOnlyGuardedExpression(hotRead.and(hotListener)).toStmt()]).callFn([]);
32635+ .callFn([literal('angular:component-update'), updateCallback]);
32636+ return arrowFn([], [
32637+ // function Cmp_HmrLoad() {...}.
32638+ importCallback,
32639+ // ngDevMode && Cmp_HmrLoad(Date.now());
32640+ devOnlyGuardedExpression(initialCall).toStmt(),
32641+ // ngDevMode && import.meta.hot && import.meta.hot.on(...)
32642+ devOnlyGuardedExpression(hotRead.and(hotListener)).toStmt(),
32643+ ])
32644+ .callFn([]);
3262632645}
3262732646/**
3262832647 * Compiles the HMR update callback for a class.
@@ -32661,7 +32680,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
3266132680function compileDeclareClassMetadata(metadata) {
3266232681 const definitionMap = new DefinitionMap();
3266332682 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
32664- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
32683+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3266532684 definitionMap.set('ngImport', importExpr(Identifiers.core));
3266632685 definitionMap.set('type', metadata.type);
3266732686 definitionMap.set('decorators', metadata.decorators);
@@ -32679,7 +32698,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
3267932698 callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? literal(null));
3268032699 callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? literal(null));
3268132700 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
32682- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
32701+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3268332702 definitionMap.set('ngImport', importExpr(Identifiers.core));
3268432703 definitionMap.set('type', metadata.type);
3268532704 definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -32774,7 +32793,7 @@ function createDirectiveDefinitionMap(meta) {
3277432793 const definitionMap = new DefinitionMap();
3277532794 const minVersion = getMinimumVersionForPartialOutput(meta);
3277632795 definitionMap.set('minVersion', literal(minVersion));
32777- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
32796+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3277832797 // e.g. `type: MyDirective`
3277932798 definitionMap.set('type', meta.type.value);
3278032799 if (meta.isStandalone !== undefined) {
@@ -33193,7 +33212,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
3319333212function compileDeclareFactoryFunction(meta) {
3319433213 const definitionMap = new DefinitionMap();
3319533214 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
33196- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
33215+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3319733216 definitionMap.set('ngImport', importExpr(Identifiers.core));
3319833217 definitionMap.set('type', meta.type.value);
3319933218 definitionMap.set('deps', compileDependencies(meta.deps));
@@ -33228,7 +33247,7 @@ function compileDeclareInjectableFromMetadata(meta) {
3322833247function createInjectableDefinitionMap(meta) {
3322933248 const definitionMap = new DefinitionMap();
3323033249 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
33231- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
33250+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3323233251 definitionMap.set('ngImport', importExpr(Identifiers.core));
3323333252 definitionMap.set('type', meta.type.value);
3323433253 // Only generate providedIn property if it has a non-null value
@@ -33279,7 +33298,7 @@ function compileDeclareInjectorFromMetadata(meta) {
3327933298function createInjectorDefinitionMap(meta) {
3328033299 const definitionMap = new DefinitionMap();
3328133300 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
33282- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
33301+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3328333302 definitionMap.set('ngImport', importExpr(Identifiers.core));
3328433303 definitionMap.set('type', meta.type.value);
3328533304 definitionMap.set('providers', meta.providers);
@@ -33312,7 +33331,7 @@ function createNgModuleDefinitionMap(meta) {
3331233331 throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
3331333332 }
3331433333 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
33315- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
33334+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3331633335 definitionMap.set('ngImport', importExpr(Identifiers.core));
3331733336 definitionMap.set('type', meta.type.value);
3331833337 // We only generate the keys in the metadata if the arrays contain values.
@@ -33363,7 +33382,7 @@ function compileDeclarePipeFromMetadata(meta) {
3336333382function createPipeDefinitionMap(meta) {
3336433383 const definitionMap = new DefinitionMap();
3336533384 definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
33366- definitionMap.set('version', literal('19.1.0-next.0+sha-13f1de3 '));
33385+ definitionMap.set('version', literal('19.1.0-next.0+sha-7d0ba0c '));
3336733386 definitionMap.set('ngImport', importExpr(Identifiers.core));
3336833387 // e.g. `type: MyPipe`
3336933388 definitionMap.set('type', meta.type.value);
0 commit comments