diff --git a/packages/core/schematics/migrations/self-closing-tags-migration/self-closing-tags-migration.ts b/packages/core/schematics/migrations/self-closing-tags-migration/self-closing-tags-migration.ts index e3ffe0f5e10..0c8ba375a42 100644 --- a/packages/core/schematics/migrations/self-closing-tags-migration/self-closing-tags-migration.ts +++ b/packages/core/schematics/migrations/self-closing-tags-migration/self-closing-tags-migration.ts @@ -110,12 +110,9 @@ export class SelfClosingTagsMigration extends TsurgeFunnelMigration< unitA: SelfClosingTagsCompilationUnitData, unitB: SelfClosingTagsCompilationUnitData, ): Promise> { - const uniqueReplacements = removeDuplicateReplacements([ - ...unitA.tagReplacements, - ...unitB.tagReplacements, - ]); - - return confirmAsSerializable({tagReplacements: uniqueReplacements}); + return confirmAsSerializable({ + tagReplacements: [...unitA.tagReplacements, ...unitB.tagReplacements], + }); } override async globalMeta( @@ -165,20 +162,3 @@ function prepareTextReplacement( }), ); } - -function removeDuplicateReplacements( - replacements: SelfClosingTagsMigrationData[], -): SelfClosingTagsMigrationData[] { - const uniqueFiles = new Set(); - const result: SelfClosingTagsMigrationData[] = []; - - for (const replacement of replacements) { - const fileId = replacement.file.id; - if (!uniqueFiles.has(fileId)) { - uniqueFiles.add(fileId); - result.push(replacement); - } - } - - return result; -} diff --git a/packages/core/schematics/ng-generate/cleanup-unused-imports/unused_imports_migration.ts b/packages/core/schematics/ng-generate/cleanup-unused-imports/unused_imports_migration.ts index 36429f80b30..b08708338a9 100644 --- a/packages/core/schematics/ng-generate/cleanup-unused-imports/unused_imports_migration.ts +++ b/packages/core/schematics/ng-generate/cleanup-unused-imports/unused_imports_migration.ts @@ -94,6 +94,11 @@ export class UnusedImportsMigration extends TsurgeFunnelMigration< diag.length !== undefined && diag.code === ngErrorCode(ErrorCode.UNUSED_STANDALONE_IMPORTS) ) { + // Skip files that aren't owned by this compilation unit. + if (!info.sourceFiles.includes(diag.file)) { + return; + } + if (!nodePositions.has(diag.file)) { nodePositions.set(diag.file, new Set()); }