@@ -13638,8 +13638,8 @@ import { outputAst as o3 } from "@angular/compiler";
1363813638// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/hmr/src/extract_dependencies.mjs
1363913639import { outputAst as o2 } from "@angular/compiler";
1364013640import ts45 from "typescript";
13641- function extractHmrDependencies(node, definition, factory, classMetadata, debugInfo) {
13642- var _a;
13641+ function extractHmrDependencies(node, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
13642+ var _a, _b ;
1364313643 const name = ts45.isClassDeclaration(node) && node.name ? node.name.text : null;
1364413644 const visitor = new PotentialTopLevelReadsVisitor();
1364513645 const sourceFile = node.getSourceFile();
@@ -13649,6 +13649,11 @@ function extractHmrDependencies(node, definition, factory, classMetadata, debugI
1364913649 factory.statements.forEach((statement) => statement.visitStatement(visitor, null));
1365013650 classMetadata == null ? void 0 : classMetadata.visitStatement(visitor, null);
1365113651 debugInfo == null ? void 0 : debugInfo.visitStatement(visitor, null);
13652+ if (deferBlockMetadata.mode === 0) {
13653+ deferBlockMetadata.blocks.forEach((loader) => loader == null ? void 0 : loader.visitExpression(visitor, null));
13654+ } else {
13655+ (_b = deferBlockMetadata.dependenciesFn) == null ? void 0 : _b.visitExpression(visitor, null);
13656+ }
1365213657 const availableTopLevel = getTopLevelDeclarationNames(sourceFile);
1365313658 return {
1365413659 local: Array.from(visitor.allReads).filter((r) => r !== name && availableTopLevel.has(r)),
@@ -13747,7 +13752,7 @@ var PotentialTopLevelReadsVisitor = class extends o2.RecursiveAstVisitor {
1374713752 if (ts45.isCallExpression(parent)) {
1374813753 return parent.expression === node || parent.arguments.includes(node);
1374913754 }
13750- if (ts45.isPropertyAccessExpression(parent)) {
13755+ if (ts45.isPropertyAccessExpression(parent) || ts45.isComputedPropertyName(parent) || ts45.isTemplateSpan(parent) || ts45.isSpreadAssignment(parent) || ts45.isSpreadElement(parent) || ts45.isAwaitExpression(parent) || ts45.isNonNullExpression(parent) || ts45.isIfStatement(parent) || ts45.isDoStatement(parent) || ts45.isWhileStatement(parent) || ts45.isForInStatement(parent) || ts45.isForOfStatement(parent) || ts45.isSwitchStatement(parent) || ts45.isCaseClause(parent) || ts45.isThrowStatement(parent) ) {
1375113756 return parent.expression === node;
1375213757 }
1375313758 if (ts45.isArrayLiteralExpression(parent)) {
@@ -13756,9 +13761,18 @@ var PotentialTopLevelReadsVisitor = class extends o2.RecursiveAstVisitor {
1375613761 if (ts45.isPropertyAssignment(parent)) {
1375713762 return parent.initializer === node;
1375813763 }
13759- if (ts45.isClassDeclaration(parent)) {
13764+ if (ts45.isClassDeclaration(parent) || ts45.isFunctionDeclaration(parent) || ts45.isVariableDeclaration(parent) || ts45.isShorthandPropertyAssignment(parent) ) {
1376013765 return parent.name === node;
1376113766 }
13767+ if (ts45.isElementAccessExpression(parent)) {
13768+ return parent.expression === node || parent.argumentExpression === node;
13769+ }
13770+ if (ts45.isBinaryExpression(parent)) {
13771+ return parent.left === node || parent.right === node;
13772+ }
13773+ if (ts45.isImportSpecifier(parent) || ts45.isExportSpecifier(parent)) {
13774+ return (parent.propertyName || parent.name) === node;
13775+ }
1376213776 return false;
1376313777 }
1376413778 isTypeScriptNode(value) {
@@ -13767,13 +13781,13 @@ var PotentialTopLevelReadsVisitor = class extends o2.RecursiveAstVisitor {
1376713781};
1376813782
1376913783// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/hmr/src/metadata.mjs
13770- function extractHmrMetatadata(clazz, reflection, compilerHost, rootDirs, definition, factory, classMetadata, debugInfo) {
13784+ function extractHmrMetatadata(clazz, reflection, compilerHost, rootDirs, definition, factory, deferBlockMetadata, classMetadata, debugInfo) {
1377113785 if (!reflection.isClass(clazz)) {
1377213786 return null;
1377313787 }
1377413788 const sourceFile = clazz.getSourceFile();
1377513789 const filePath = getProjectRelativePath(sourceFile.fileName, rootDirs, compilerHost) || compilerHost.getCanonicalFileName(sourceFile.fileName);
13776- const dependencies = extractHmrDependencies(clazz, definition, factory, classMetadata, debugInfo);
13790+ const dependencies = extractHmrDependencies(clazz, definition, factory, deferBlockMetadata, classMetadata, debugInfo);
1377713791 const meta = {
1377813792 type: new o3.WrappedNodeExpr(clazz.name),
1377913793 className: clazz.name.text,
@@ -14658,10 +14672,11 @@ var ComponentDecoratorHandler = class {
1465814672 return [];
1465914673 }
1466014674 const perComponentDeferredDeps = this.canDeferDeps ? this.resolveAllDeferredDependencies(resolution) : null;
14675+ const defer = this.compileDeferBlocks(resolution);
1466114676 const meta = {
1466214677 ...analysis.meta,
1466314678 ...resolution,
14664- defer: this.compileDeferBlocks(resolution)
14679+ defer
1466514680 };
1466614681 const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
1466714682 if (perComponentDeferredDeps !== null) {
@@ -14671,7 +14686,7 @@ var ComponentDecoratorHandler = class {
1467114686 const inputTransformFields = compileInputTransformFields(analysis.inputs);
1467214687 const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, perComponentDeferredDeps).toStmt() : null;
1467314688 const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
14674- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, classMetadata, debugInfo) : null;
14689+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
1467514690 const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
1467614691 const deferrableImports = this.canDeferDeps ? this.deferredSymbolTracker.getDeferrableImportDecls() : null;
1467714692 return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, debugInfo, hmrInitializer);
@@ -14687,26 +14702,28 @@ var ComponentDecoratorHandler = class {
1468714702 inlineTemplateLiteralExpression: analysis.template.sourceMapping.type === "direct" ? new o4.WrappedNodeExpr(analysis.template.sourceMapping.node) : null
1468814703 };
1468914704 const perComponentDeferredDeps = this.canDeferDeps ? this.resolveAllDeferredDependencies(resolution) : null;
14705+ const defer = this.compileDeferBlocks(resolution);
1469014706 const meta = {
1469114707 ...analysis.meta,
1469214708 ...resolution,
14693- defer: this.compileDeferBlocks(resolution)
14709+ defer
1469414710 };
1469514711 const fac = compileDeclareFactory(toFactoryMetadata(meta, FactoryTarget3.Component));
1469614712 const inputTransformFields = compileInputTransformFields(analysis.inputs);
1469714713 const def = compileDeclareComponentFromMetadata(meta, analysis.template, templateInfo);
1469814714 const classMetadata = analysis.classMetadata !== null ? compileComponentDeclareClassMetadata(analysis.classMetadata, perComponentDeferredDeps).toStmt() : null;
14699- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, classMetadata, null) : null;
14715+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, null) : null;
1470014716 const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
1470114717 const deferrableImports = this.canDeferDeps ? this.deferredSymbolTracker.getDeferrableImportDecls() : null;
1470214718 return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, null, hmrInitializer);
1470314719 }
1470414720 compileLocal(node, analysis, resolution, pool) {
1470514721 const deferrableTypes = this.canDeferDeps ? analysis.explicitlyDeferredTypes : null;
14722+ const defer = this.compileDeferBlocks(resolution);
1470614723 const meta = {
1470714724 ...analysis.meta,
1470814725 ...resolution,
14709- defer: this.compileDeferBlocks(resolution)
14726+ defer
1471014727 };
1471114728 if (deferrableTypes !== null) {
1471214729 removeDeferrableTypesFromComponentDecorator(analysis, deferrableTypes);
@@ -14716,7 +14733,7 @@ var ComponentDecoratorHandler = class {
1471614733 const inputTransformFields = compileInputTransformFields(analysis.inputs);
1471714734 const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, deferrableTypes).toStmt() : null;
1471814735 const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
14719- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, classMetadata, debugInfo) : null;
14736+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
1472014737 const hmrInitializer = hmrMeta ? compileHmrInitializer(hmrMeta).toStmt() : null;
1472114738 const deferrableImports = this.canDeferDeps ? this.deferredSymbolTracker.getDeferrableImportDecls() : null;
1472214739 return compileResults(fac, def, classMetadata, "\u0275cmp", inputTransformFields, deferrableImports, debugInfo, hmrInitializer);
@@ -14726,16 +14743,17 @@ var ComponentDecoratorHandler = class {
1472614743 return null;
1472714744 }
1472814745 const pool = new ConstantPool2();
14746+ const defer = this.compileDeferBlocks(resolution);
1472914747 const meta = {
1473014748 ...analysis.meta,
1473114749 ...resolution,
14732- defer: this.compileDeferBlocks(resolution)
14750+ defer
1473314751 };
1473414752 const fac = compileNgFactoryDefField(toFactoryMetadata(meta, FactoryTarget3.Component));
1473514753 const def = compileComponentFromMetadata(meta, pool, makeBindingParser2());
1473614754 const classMetadata = analysis.classMetadata !== null ? compileComponentClassMetadata(analysis.classMetadata, null).toStmt() : null;
1473714755 const debugInfo = analysis.classDebugInfo !== null ? compileClassDebugInfo(analysis.classDebugInfo).toStmt() : null;
14738- const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, classMetadata, debugInfo) : null;
14756+ const hmrMeta = this.enableHmr ? extractHmrMetatadata(node, this.reflector, this.compilerHost, this.rootDirs, def, fac, defer, classMetadata, debugInfo) : null;
1473914757 const res = compileResults(fac, def, classMetadata, "\u0275cmp", null, null, debugInfo, null);
1474014758 return hmrMeta === null || res.length === 0 ? null : getHmrUpdateDeclaration(res, pool.statements, hmrMeta, node.getSourceFile());
1474114759 }
@@ -15465,4 +15483,4 @@ export {
1546515483 * Use of this source code is governed by an MIT-style license that can be
1546615484 * found in the LICENSE file at https://angular.dev/license
1546715485 */
15468- //# sourceMappingURL=chunk-SZOY5MZR .js.map
15486+ //# sourceMappingURL=chunk-SRQTOWD4 .js.map
0 commit comments