Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e85ac5c

Browse files
devversionpkozlowski-opensource
authored andcommitted
fix(migrations): properly bundle shared compiler code into migrations (#58515)
The use of relative imports vs. module imports and the existing mismatch can cause symbols to be duplicated in migrations. This is problematic as it breaks migration logic or compiler logic in the worst case. Long-term we will solve this by having a better Bazel toolchain where both relative and module imports can point to the same files; but in practice this is not the case right now. This commit fixes the fallback template logic in the signal input/queries migration; in case no type check block information is available. PR Close #58515
1 parent 8ae84be commit e85ac5c

File tree

7 files changed

+13
-14
lines changed

7 files changed

+13
-14
lines changed

‎packages/core/schematics/migrations/output-migration/output-migration.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {initMockFileSystem} from '../../../../compiler-cli/src/ngtsc/file_system/testing';
9+
import {initMockFileSystem} from '@angular/compiler-cli/src/ngtsc/file_system/testing';
1010
import {runTsurgeMigration} from '../../utils/tsurge/testing';
1111
import {diffText} from '../../utils/tsurge/testing/diff';
1212
import {absoluteFrom} from '@angular/compiler-cli';

‎packages/core/schematics/migrations/output-migration/output-migration.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import {
2020
TsurgeFunnelMigration,
2121
} from '../../utils/tsurge';
2222

23-
import {DtsMetadataReader} from '../../../../compiler-cli/src/ngtsc/metadata';
24-
import {TypeScriptReflectionHost} from '../../../../compiler-cli/src/ngtsc/reflection';
23+
import {DtsMetadataReader} from '@angular/compiler-cli/src/ngtsc/metadata';
24+
import {TypeScriptReflectionHost} from '@angular/compiler-cli/src/ngtsc/reflection';
2525
import {PartialEvaluator} from '@angular/compiler-cli/private/migrations';
2626
import {
2727
getUniqueIdForProperty,

‎packages/core/schematics/migrations/output-migration/output-replacements.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import ts from 'typescript';
1010

11-
import {ImportManager, PartialEvaluator} from '../../../../compiler-cli/private/migrations';
11+
import {ImportManager, PartialEvaluator} from '@angular/compiler-cli/private/migrations';
1212
import {
1313
ProgramInfo,
1414
ProjectFile,

‎packages/core/schematics/migrations/output-migration/output_helpers.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import {
1111
ReflectionHost,
1212
ClassDeclaration,
1313
Decorator,
14-
} from '../../../../compiler-cli/src/ngtsc/reflection';
15-
import {DtsMetadataReader} from '../../../../compiler-cli/src/ngtsc/metadata';
16-
import {Reference} from '../../../../compiler-cli/src/ngtsc/imports';
17-
import {getAngularDecorators} from '../../../../compiler-cli/src/ngtsc/annotations';
14+
} from '@angular/compiler-cli/src/ngtsc/reflection';
15+
import {DtsMetadataReader} from '@angular/compiler-cli/src/ngtsc/metadata';
16+
import {Reference} from '@angular/compiler-cli/src/ngtsc/imports';
17+
import {getAngularDecorators} from '@angular/compiler-cli/src/ngtsc/annotations';
1818

1919
import {ProgramInfo, projectFile} from '../../utils/tsurge';
2020
import {

‎packages/core/schematics/migrations/signal-migration/src/passes/reference_resolution/identify_host_references.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
ParsedEvent,
1818
ParsedProperty,
1919
makeBindingParser,
20-
} from '../../../../../../../compiler/public_api';
20+
} from '@angular/compiler';
2121
import {ProgramInfo, projectFile} from '../../../../../utils/tsurge';
2222
import {
2323
TemplateExpressionReferenceVisitor,

‎packages/core/schematics/migrations/signal-migration/src/passes/reference_resolution/template_reference_visitor.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ import {
3333
TmplAstSwitchBlockCase,
3434
TmplAstTemplate,
3535
tmplAstVisitAll,
36-
} from '../../../../../../../compiler';
37-
import {BoundAttribute, BoundEvent} from '../../../../../../../compiler/src/render3/r3_ast';
36+
} from '@angular/compiler';
3837
import {lookupPropertyAccess} from '../../../../../utils/tsurge/helpers/ast/lookup_property_access';
3938
import {ClassFieldDescriptor, KnownFields} from './known_fields';
4039

@@ -462,7 +461,7 @@ function traverseReceiverAndLookupSymbol(
462461
/** Whether the given node refers to a two-way binding AST node. */
463462
function isTwoWayBindingNode(node: unknown): boolean {
464463
return (
465-
(node instanceof BoundAttribute && node.type === BindingType.TwoWay) ||
466-
(node instanceof BoundEvent && node.type === ParsedEventType.TwoWay)
464+
(node instanceof TmplAstBoundAttribute && node.type === BindingType.TwoWay) ||
465+
(node instanceof TmplAstBoundEvent && node.type === ParsedEventType.TwoWay)
467466
);
468467
}

‎packages/core/schematics/migrations/signal-queries-migration/identify_queries.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
import {extractDecoratorQueryMetadata} from '@angular/compiler-cli/src/ngtsc/annotations/directive';
1515
import {Decorator, ReflectionHost} from '@angular/compiler-cli/src/ngtsc/reflection';
1616
import ts from 'typescript';
17-
import {R3QueryMetadata} from '../../../../compiler';
17+
import {R3QueryMetadata} from '@angular/compiler';
1818
import {ProgramInfo} from '../../utils/tsurge';
1919
import {ClassFieldUniqueKey} from '../signal-migration/src/passes/reference_resolution/known_fields';
2020
import {getUniqueIDForClassProperty} from './field_tracking';

0 commit comments

Comments
 (0)