@@ -45,7 +45,7 @@ import {
4545 translateStatement,
4646 translateType,
4747 typeNodeToValueExpr
48- } from "./chunk-JA7OVXDZ .js";
48+ } from "./chunk-IXRL26J5 .js";
4949import {
5050 PerfCheckpoint,
5151 PerfEvent,
@@ -4802,7 +4802,7 @@ var queryDecoratorNames = [
48024802 "ContentChildren"
48034803];
48044804var QUERY_TYPES = new Set(queryDecoratorNames);
4805- function extractDirectiveMetadata(clazz, decorator, reflector, importTracker, evaluator, refEmitter, referencesRegistry, isCore, annotateForClosureCompiler, compilationMode, defaultSelector) {
4805+ function extractDirectiveMetadata(clazz, decorator, reflector, importTracker, evaluator, refEmitter, referencesRegistry, isCore, annotateForClosureCompiler, compilationMode, defaultSelector, strictStandalone ) {
48064806 let directive;
48074807 if (decorator.args === null || decorator.args.length === 0) {
48084808 directive = /* @__PURE__ */ new Map();
@@ -4877,6 +4877,9 @@ function extractDirectiveMetadata(clazz, decorator, reflector, importTracker, ev
48774877 throw createValueHasWrongTypeError(expr, resolved, `standalone flag must be a boolean`);
48784878 }
48794879 isStandalone = resolved;
4880+ if (!isStandalone && strictStandalone) {
4881+ throw new FatalDiagnosticError(ErrorCode.NON_STANDALONE_NOT_ALLOWED, expr, `Only standalone components/directives are allowed when 'strictStandalone' is enabled.`);
4882+ }
48804883 }
48814884 let isSignal = false;
48824885 if (directive.has("signals")) {
@@ -5697,7 +5700,7 @@ var LIFECYCLE_HOOKS = /* @__PURE__ */ new Set([
56975700 "ngAfterContentChecked"
56985701]);
56995702var DirectiveDecoratorHandler = class {
5700- constructor(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, annotateForClosureCompiler, perf, importTracker, includeClassMetadata, compilationMode, jitDeclarationRegistry) {
5703+ constructor(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, refEmitter, referencesRegistry, isCore, strictCtorDeps, semanticDepGraphUpdater, annotateForClosureCompiler, perf, importTracker, includeClassMetadata, compilationMode, jitDeclarationRegistry, strictStandalone ) {
57015704 this.reflector = reflector;
57025705 this.evaluator = evaluator;
57035706 this.metaRegistry = metaRegistry;
@@ -5715,6 +5718,7 @@ var DirectiveDecoratorHandler = class {
57155718 this.includeClassMetadata = includeClassMetadata;
57165719 this.compilationMode = compilationMode;
57175720 this.jitDeclarationRegistry = jitDeclarationRegistry;
5721+ this.strictStandalone = strictStandalone;
57185722 this.precedence = HandlerPrecedence.PRIMARY;
57195723 this.name = "DirectiveDecoratorHandler";
57205724 }
@@ -5747,7 +5751,8 @@ var DirectiveDecoratorHandler = class {
57475751 this.isCore,
57485752 this.annotateForClosureCompiler,
57495753 this.compilationMode,
5750- null
5754+ null,
5755+ this.strictStandalone
57515756 );
57525757 if (directiveResult.jitForced) {
57535758 this.jitDeclarationRegistry.jitDeclarations.add(node);
@@ -11970,7 +11975,7 @@ var TemplateSourceManager = class {
1197011975};
1197111976
1197211977// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
11973- import { AST, ASTWithSource as ASTWithSource2, BindingPipe as BindingPipe2, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, R3Identifiers as R3Identifiers5, SafePropertyRead as SafePropertyRead4, TmplAstBoundAttribute as TmplAstBoundAttribute2, TmplAstBoundEvent, TmplAstElement as TmplAstElement3, TmplAstLetDeclaration as TmplAstLetDeclaration3, TmplAstReference as TmplAstReference3, TmplAstTemplate as TmplAstTemplate2, TmplAstTextAttribute as TmplAstTextAttribute3, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
11978+ import { AST, ASTWithName, ASTWithSource as ASTWithSource2, BindingPipe as BindingPipe2, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, R3Identifiers as R3Identifiers5, SafePropertyRead as SafePropertyRead4, TmplAstBoundAttribute as TmplAstBoundAttribute2, TmplAstBoundEvent, TmplAstElement as TmplAstElement3, TmplAstLetDeclaration as TmplAstLetDeclaration3, TmplAstReference as TmplAstReference3, TmplAstTemplate as TmplAstTemplate2, TmplAstTextAttribute as TmplAstTextAttribute3, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
1197411979import ts44 from "typescript";
1197511980var SymbolBuilder = class {
1197611981 constructor(tcbPath, tcbIsShim, typeCheckBlock, templateData, componentScopeReader, getTypeChecker) {
@@ -12450,7 +12455,7 @@ var SymbolBuilder = class {
1245012455 return this.getSymbol(expressionTarget);
1245112456 }
1245212457 let withSpan = expression.sourceSpan;
12453- if (expression instanceof PropertyWrite3) {
12458+ if (expression instanceof PropertyWrite3 || expression instanceof ASTWithName && !(expression instanceof SafePropertyRead4) ) {
1245412459 withSpan = expression.nameSpan;
1245512460 }
1245612461 let node = null;
@@ -12492,6 +12497,8 @@ var SymbolBuilder = class {
1249212497 let tsSymbol;
1249312498 if (ts44.isPropertyAccessExpression(node)) {
1249412499 tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.name);
12500+ } else if (ts44.isCallExpression(node)) {
12501+ tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.expression);
1249512502 } else {
1249612503 tsSymbol = this.getTypeChecker().getSymbolAtLocation(node);
1249712504 }
@@ -13247,7 +13254,7 @@ var EMPTY_ARRAY2 = [];
1324713254var isUsedDirective = (decl) => decl.kind === R3TemplateDependencyKind.Directive;
1324813255var isUsedPipe = (decl) => decl.kind === R3TemplateDependencyKind.Pipe;
1324913256var ComponentDecoratorHandler = class {
13250- constructor(reflector, evaluator, metaRegistry, metaReader, scopeReader, dtsScopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, resourceLoader, rootDirs, defaultPreserveWhitespaces, i18nUseExternalIds, enableI18nLegacyMessageIdFormat, usePoisonedData, i18nNormalizeLineEndingsInICUs, moduleResolver, cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, depTracker, injectableRegistry, semanticDepGraphUpdater, annotateForClosureCompiler, perf, hostDirectivesResolver, importTracker, includeClassMetadata, compilationMode, deferredSymbolTracker, forbidOrphanRendering, enableBlockSyntax, enableLetSyntax, localCompilationExtraImportsTracker, jitDeclarationRegistry, i18nPreserveSignificantWhitespace) {
13257+ constructor(reflector, evaluator, metaRegistry, metaReader, scopeReader, dtsScopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, strictCtorDeps, resourceLoader, rootDirs, defaultPreserveWhitespaces, i18nUseExternalIds, enableI18nLegacyMessageIdFormat, usePoisonedData, i18nNormalizeLineEndingsInICUs, moduleResolver, cycleAnalyzer, cycleHandlingStrategy, refEmitter, referencesRegistry, depTracker, injectableRegistry, semanticDepGraphUpdater, annotateForClosureCompiler, perf, hostDirectivesResolver, importTracker, includeClassMetadata, compilationMode, deferredSymbolTracker, forbidOrphanRendering, enableBlockSyntax, enableLetSyntax, localCompilationExtraImportsTracker, jitDeclarationRegistry, i18nPreserveSignificantWhitespace, strictStandalone ) {
1325113258 this.reflector = reflector;
1325213259 this.evaluator = evaluator;
1325313260 this.metaRegistry = metaRegistry;
@@ -13287,6 +13294,7 @@ var ComponentDecoratorHandler = class {
1328713294 this.localCompilationExtraImportsTracker = localCompilationExtraImportsTracker;
1328813295 this.jitDeclarationRegistry = jitDeclarationRegistry;
1328913296 this.i18nPreserveSignificantWhitespace = i18nPreserveSignificantWhitespace;
13297+ this.strictStandalone = strictStandalone;
1329013298 this.literalCache = /* @__PURE__ */ new Map();
1329113299 this.elementSchemaRegistry = new DomElementSchemaRegistry3();
1329213300 this.preanalyzeTemplateCache = /* @__PURE__ */ new Map();
@@ -13377,7 +13385,7 @@ var ComponentDecoratorHandler = class {
1337713385 this.literalCache.delete(decorator);
1337813386 let diagnostics;
1337913387 let isPoisoned = false;
13380- const directiveResult = extractDirectiveMetadata(node, decorator, this.reflector, this.importTracker, this.evaluator, this.refEmitter, this.referencesRegistry, this.isCore, this.annotateForClosureCompiler, this.compilationMode, this.elementSchemaRegistry.getDefaultComponentElementName());
13388+ const directiveResult = extractDirectiveMetadata(node, decorator, this.reflector, this.importTracker, this.evaluator, this.refEmitter, this.referencesRegistry, this.isCore, this.annotateForClosureCompiler, this.compilationMode, this.elementSchemaRegistry.getDefaultComponentElementName(), this.strictStandalone );
1338113389 if (directiveResult.jitForced) {
1338213390 this.jitDeclarationRegistry.jitDeclarations.add(node);
1338313391 return {};
@@ -14545,7 +14553,7 @@ var PipeSymbol = class extends SemanticSymbol {
1454514553 }
1454614554};
1454714555var PipeDecoratorHandler = class {
14548- constructor(reflector, evaluator, metaRegistry, scopeRegistry, injectableRegistry, isCore, perf, includeClassMetadata, compilationMode, generateExtraImportsInLocalMode) {
14556+ constructor(reflector, evaluator, metaRegistry, scopeRegistry, injectableRegistry, isCore, perf, includeClassMetadata, compilationMode, generateExtraImportsInLocalMode, strictStandalone ) {
1454914557 this.reflector = reflector;
1455014558 this.evaluator = evaluator;
1455114559 this.metaRegistry = metaRegistry;
@@ -14556,6 +14564,7 @@ var PipeDecoratorHandler = class {
1455614564 this.includeClassMetadata = includeClassMetadata;
1455714565 this.compilationMode = compilationMode;
1455814566 this.generateExtraImportsInLocalMode = generateExtraImportsInLocalMode;
14567+ this.strictStandalone = strictStandalone;
1455914568 this.precedence = HandlerPrecedence.PRIMARY;
1456014569 this.name = "PipeDecoratorHandler";
1456114570 }
@@ -14615,6 +14624,9 @@ var PipeDecoratorHandler = class {
1461514624 throw createValueHasWrongTypeError(expr, resolved, `standalone flag must be a boolean`);
1461614625 }
1461714626 isStandalone = resolved;
14627+ if (!isStandalone && this.strictStandalone) {
14628+ throw new FatalDiagnosticError(ErrorCode.NON_STANDALONE_NOT_ALLOWED, expr, `Only standalone pipes are allowed when 'strictStandalone' is enabled.`);
14629+ }
1461814630 }
1461914631 return {
1462014632 analysis: {
@@ -14756,4 +14768,4 @@ export {
1475614768 * Use of this source code is governed by an MIT-style license that can be
1475714769 * found in the LICENSE file at https://angular.dev/license
1475814770 */
14759- //# sourceMappingURL=chunk-OF5ENI43 .js.map
14771+ //# sourceMappingURL=chunk-6JG6NFJ7 .js.map
0 commit comments