Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@

import ts from 'typescript';

import {DtsMetadataReader, MetadataReader} from '../../../../../compiler-cli/src/ngtsc/metadata';
import {PartialEvaluator} from '../../../../../compiler-cli/src/ngtsc/partial_evaluator';
import {NgtscProgram} from '../../../../../compiler-cli/src/ngtsc/program';
import {TypeScriptReflectionHost} from '../../../../../compiler-cli/src/ngtsc/reflection';
import {DtsMetadataReader, MetadataReader} from '@angular/compiler-cli/src/ngtsc/metadata';
import {PartialEvaluator} from '@angular/compiler-cli/src/ngtsc/partial_evaluator';
import {NgtscProgram} from '@angular/compiler-cli/src/ngtsc/program';
import {TypeScriptReflectionHost} from '@angular/compiler-cli/src/ngtsc/reflection';

import assert from 'assert';
import {ProgramInfo} from '../../../utils/tsurge/program_info';
import {ResourceLoader} from '../../../../../compiler-cli/src/ngtsc/annotations';
import {NgCompiler} from '../../../../../compiler-cli/src/ngtsc/core';
import {ReferenceEmitter} from '../../../../../compiler-cli/src/ngtsc/imports';
import {isShim} from '../../../../../compiler-cli/src/ngtsc/shims';
import {TemplateTypeChecker} from '../../../../../compiler-cli/src/ngtsc/typecheck/api';
import {ResourceLoader} from '@angular/compiler-cli/src/ngtsc/annotations';
import {NgCompiler} from '@angular/compiler-cli/src/ngtsc/core';
import {ReferenceEmitter} from '@angular/compiler-cli/src/ngtsc/imports';
import {isShim} from '@angular/compiler-cli/src/ngtsc/shims';
import {TemplateTypeChecker} from '@angular/compiler-cli/src/ngtsc/typecheck/api';

/**
* Interface containing the analysis information
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import assert from 'assert';
import ts from 'typescript';

import {ConvertInputPreparation} from './prepare_and_check';
import {DecoratorInputTransform} from '../../../../../../compiler-cli/src/ngtsc/metadata';
import {ImportManager} from '../../../../../../compiler-cli/src/ngtsc/translator';
import {DecoratorInputTransform} from '@angular/compiler-cli/src/ngtsc/metadata';
import {ImportManager} from '@angular/compiler-cli/src/ngtsc/translator';
import {removeFromUnionIfPossible} from '../utils/remove_from_union';

const printer = ts.createPrinter({newLine: ts.NewLineKind.LineFeed});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
InputMemberIncompatibility,
} from '../input_detection/incompatibility';
import {InputNode} from '../input_detection/input_node';
import {Decorator} from '../../../../../../compiler-cli/src/ngtsc/reflection';
import {Decorator} from '@angular/compiler-cli/src/ngtsc/reflection';
import assert from 'assert';

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,26 @@

import ts from 'typescript';

import {getAngularDecorators} from '../../../../../../compiler-cli/src/ngtsc/annotations';
import {parseDecoratorInputTransformFunction} from '../../../../../../compiler-cli/src/ngtsc/annotations/directive';
import {FatalDiagnosticError} from '../../../../../../compiler-cli/src/ngtsc/diagnostics';
import {Reference, ReferenceEmitter} from '../../../../../../compiler-cli/src/ngtsc/imports';
import {getAngularDecorators} from '@angular/compiler-cli/src/ngtsc/annotations';
import {parseDecoratorInputTransformFunction} from '@angular/compiler-cli/src/ngtsc/annotations/directive';
import {FatalDiagnosticError} from '@angular/compiler-cli/src/ngtsc/diagnostics';
import {Reference, ReferenceEmitter} from '@angular/compiler-cli/src/ngtsc/imports';
import {
DecoratorInputTransform,
DtsMetadataReader,
InputMapping,
} from '../../../../../../compiler-cli/src/ngtsc/metadata';
} from '@angular/compiler-cli/src/ngtsc/metadata';
import {
DynamicValue,
PartialEvaluator,
ResolvedValueMap,
} from '../../../../../../compiler-cli/src/ngtsc/partial_evaluator';
} from '@angular/compiler-cli/src/ngtsc/partial_evaluator';
import {
ClassDeclaration,
Decorator,
ReflectionHost,
} from '../../../../../../compiler-cli/src/ngtsc/reflection';
import {CompilationMode} from '../../../../../../compiler-cli/src/ngtsc/transform';
} from '@angular/compiler-cli/src/ngtsc/reflection';
import {CompilationMode} from '@angular/compiler-cli/src/ngtsc/transform';
import {MigrationHost} from '../migration_host';
import {InputNode, isInputContainerNode} from '../input_detection/input_node';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,7 @@ import {
TmplAstTemplate,
tmplAstVisitAll,
} from '../../../../../../compiler';
import {
SymbolKind,
TemplateTypeChecker,
} from '../../../../../../compiler-cli/src/ngtsc/typecheck/api';
import {SymbolKind, TemplateTypeChecker} from '@angular/compiler-cli/src/ngtsc/typecheck/api';
import {KnownInputs} from './known_inputs';
import {attemptRetrieveInputFromSymbol} from './nodes_to_input';
import {MigrationHost} from '../migration_host';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/

import {FileSystem} from '../../../../../compiler-cli/src/ngtsc/file_system';
import {FileSystem} from '@angular/compiler-cli/src/ngtsc/file_system';
import {confirmAsSerializable, Serializable} from '../../../utils/tsurge/helpers/serializable';
import {BaseProgramInfo, ProgramInfo} from '../../../utils/tsurge/program_info';
import {TsurgeComplexMigration} from '../../../utils/tsurge/migration';
Expand Down Expand Up @@ -38,6 +38,12 @@ export class SignalInputMigration extends TsurgeComplexMigration<
upgradeAnalysisPhaseToAvoidBatch = false;
upgradedAnalysisPhaseResults: Replacement[] | null = null;

// Necessary for language service configuration.
reportProgressFn: ((percentage: number, updateMessage: string) => void) | null = null;
beforeMigrateHook:
| ((host: MigrationHost, knownInputs: KnownInputs, result: MigrationResult) => void)
| null = null;

bestEffortMode = false;

// Override the default ngtsc program creation, to add extra flags.
Expand Down Expand Up @@ -70,7 +76,10 @@ export class SignalInputMigration extends TsurgeComplexMigration<
const result = new MigrationResult();
const host = createMigrationHost(info);

this.reportProgressFn?.(10, 'Analyzing project (input usages)..');
const {inheritanceGraph} = executeAnalysisPhase(host, knownInputs, result, analysisDeps);

this.reportProgressFn?.(40, 'Checking inheritance..');
pass4__checkInheritanceOfInputs(host, inheritanceGraph, metaRegistry, knownInputs);
if (this.bestEffortMode) {
filterIncompatibilitiesForBestEffortMode(knownInputs);
Expand All @@ -81,13 +90,16 @@ export class SignalInputMigration extends TsurgeComplexMigration<
// Non-batch mode!
if (this.upgradeAnalysisPhaseToAvoidBatch) {
const merged = await this.merge([unitData]);

this.reportProgressFn?.(60, 'Collecting migration changes..');
const replacements = await this.migrate(merged, info, {
knownInputs,
result,
host,
inheritanceGraph,
analysisDeps,
});
this.reportProgressFn?.(100, 'Completed migration.');

// Expose the upgraded analysis stage results.
this.upgradedAnalysisPhaseResults = replacements;
Expand Down Expand Up @@ -122,15 +134,21 @@ export class SignalInputMigration extends TsurgeComplexMigration<
const analysisRes = executeAnalysisPhase(host, knownInputs, result, analysisDeps);
inheritanceGraph = analysisRes.inheritanceGraph;
populateKnownInputsFromGlobalData(knownInputs, globalMetadata);
} else {
inheritanceGraph = nonBatchData.inheritanceGraph;
}

pass4__checkInheritanceOfInputs(host, inheritanceGraph, analysisDeps.metaRegistry, knownInputs);
if (this.bestEffortMode) {
filterIncompatibilitiesForBestEffortMode(knownInputs);
pass4__checkInheritanceOfInputs(
host,
inheritanceGraph,
analysisDeps.metaRegistry,
knownInputs,
);
if (this.bestEffortMode) {
filterIncompatibilitiesForBestEffortMode(knownInputs);
}
}

// Optional before migrate hook. Used by the language service.
this.beforeMigrateHook?.(host, knownInputs, result);

executeMigrationPhase(host, knownInputs, result, analysisDeps);

return result.replacements;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import path from 'path';
import ts from 'typescript';
import {NgCompilerOptions} from '../../../../../compiler-cli/src/ngtsc/core/api';
import {NgCompilerOptions} from '@angular/compiler-cli/src/ngtsc/core/api';

/**
* A migration host is in practice a container object that
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
* found in the LICENSE file at https://angular.io/license
*/

import {ImportManager} from '@angular/compiler-cli/src/ngtsc/translator';
import ts from 'typescript';
import {ImportManager} from '../../../../../../compiler-cli/src/ngtsc/translator';
import {applyImportManagerChanges} from '../../../../utils/tsurge/helpers/apply_import_manager';
import {MigrationResult} from '../result';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@

import assert from 'assert';
import ts from 'typescript';
import {ReferenceEmitter} from '../../../../../../compiler-cli/src/ngtsc/imports';
import {DtsMetadataReader} from '../../../../../../compiler-cli/src/ngtsc/metadata';
import {PartialEvaluator} from '../../../../../../compiler-cli/src/ngtsc/partial_evaluator';
import {TypeScriptReflectionHost} from '../../../../../../compiler-cli/src/ngtsc/reflection';
import {ReferenceEmitter} from '@angular/compiler-cli/src/ngtsc/imports';
import {DtsMetadataReader} from '@angular/compiler-cli/src/ngtsc/metadata';
import {PartialEvaluator} from '@angular/compiler-cli/src/ngtsc/partial_evaluator';
import {TypeScriptReflectionHost} from '@angular/compiler-cli/src/ngtsc/reflection';
import {extractDecoratorInput} from '../input_detection/input_decorator';
import {isInputContainerNode} from '../input_detection/input_node';
import {KnownInputs} from '../input_detection/known_inputs';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
*/

import ts from 'typescript';
import {ReflectionHost} from '../../../../../../compiler-cli/src/ngtsc/reflection';
import {TemplateTypeChecker} from '../../../../../../compiler-cli/src/ngtsc/typecheck/api';
import {ReflectionHost} from '@angular/compiler-cli/src/ngtsc/reflection';
import {TemplateTypeChecker} from '@angular/compiler-cli/src/ngtsc/typecheck/api';
import {isInputContainerNode} from '../input_detection/input_node';
import {KnownInputs} from '../input_detection/known_inputs';
import {MigrationHost} from '../migration_host';
Expand All @@ -20,8 +20,8 @@ import {identifyPotentialTypeScriptReference} from './references/identify_ts_ref
import {PartialDirectiveTypeInCatalystTests} from '../pattern_advisors/partial_directive_type';
import {InputReferenceKind} from '../utils/input_reference';
import {GroupedTsAstVisitor} from '../utils/grouped_ts_ast_visitor';
import {ResourceLoader} from '../../../../../../compiler-cli/src/ngtsc/annotations';
import {PartialEvaluator} from '../../../../../../compiler-cli/src/ngtsc/partial_evaluator';
import {ResourceLoader} from '@angular/compiler-cli/src/ngtsc/annotations';
import {PartialEvaluator} from '@angular/compiler-cli/src/ngtsc/partial_evaluator';

/**
* Phase where we iterate through all source file references and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import assert from 'assert';
import ts from 'typescript';
import {unwrapExpression} from '../../../../../../compiler-cli/src/ngtsc/annotations/common';
import {unwrapExpression} from '@angular/compiler-cli/src/ngtsc/annotations/common';
import {ClassIncompatibilityReason} from '../input_detection/incompatibility';
import {KnownInputs} from '../input_detection/known_inputs';
import {getMemberName} from '../utils/class_member_names';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ import {InheritanceGraph} from '../utils/inheritance_graph';
import {topologicalSort} from '../utils/inheritance_sort';
import {getMemberName} from '../utils/class_member_names';
import ts from 'typescript';
import {MetadataReader} from '../../../../../../compiler-cli/src/ngtsc/metadata';
import {Reference} from '../../../../../../compiler-cli/src/ngtsc/imports';
import {ClassDeclaration} from '../../../../../../compiler-cli/src/ngtsc/reflection';
import {MetadataReader} from '@angular/compiler-cli/src/ngtsc/metadata';
import {Reference} from '@angular/compiler-cli/src/ngtsc/imports';
import {ClassDeclaration} from '@angular/compiler-cli/src/ngtsc/reflection';
import {isInputContainerNode} from '../input_detection/input_node';
import {getInputDescriptor} from '../utils/input_id';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {isTsInputReference} from '../utils/input_reference';
import {traverseAccess} from '../utils/traverse_access';
import {KnownInputs} from '../input_detection/known_inputs';
import {UniqueNamesGenerator} from '../utils/unique_names';
import {absoluteFromSourceFile} from '../../../../../../compiler-cli/src/ngtsc/file_system';
import {absoluteFromSourceFile} from '@angular/compiler-cli/src/ngtsc/file_system';

/**
* Phase that migrates TypeScript input references to be signal compatible.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import {MigrationResult} from '../result';
import {convertToSignalInput} from '../convert-input/convert_to_signal';
import assert from 'assert';
import {KnownInputs} from '../input_detection/known_inputs';
import {ImportManager} from '../../../../../../compiler-cli/src/ngtsc/translator';
import {ImportManager} from '@angular/compiler-cli/src/ngtsc/translator';
import {Replacement, TextUpdate} from '../../../../utils/tsurge/replacement';
import {absoluteFromSourceFile} from '../../../../../../compiler-cli/src/ngtsc/file_system';
import {absoluteFromSourceFile} from '@angular/compiler-cli/src/ngtsc/file_system';

/**
* Phase that migrates `@Input()` declarations to signal inputs and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*/

import {MigrationHost} from '../migration_host';
import {absoluteFrom} from '../../../../../../compiler-cli/src/ngtsc/file_system';
import {absoluteFrom} from '@angular/compiler-cli/src/ngtsc/file_system';
import {MigrationResult} from '../result';
import {isTemplateInputReference} from '../utils/input_reference';
import {KnownInputs} from '../input_detection/known_inputs';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*/

import ts from 'typescript';
import {absoluteFromSourceFile} from '../../../../../../compiler-cli/src/ngtsc/file_system';
import {absoluteFromSourceFile} from '@angular/compiler-cli/src/ngtsc/file_system';
import {Replacement, TextUpdate} from '../../../../utils/tsurge/replacement';
import {MigrationResult} from '../result';
import {isHostBindingInputReference} from '../utils/input_reference';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import ts from 'typescript';
import {KnownInputs} from '../input_detection/known_inputs';
import {MigrationResult} from '../result';
import {isTsInputClassTypeReference} from '../utils/input_reference';
import {absoluteFromSourceFile} from '../../../../../../compiler-cli/src/ngtsc/file_system';
import {absoluteFromSourceFile} from '@angular/compiler-cli/src/ngtsc/file_system';
import {Replacement, TextUpdate} from '../../../../utils/tsurge/replacement';
import assert from 'assert';
import {ImportManager} from '../../../../../../compiler-cli/src/ngtsc/translator';
import {ImportManager} from '@angular/compiler-cli/src/ngtsc/translator';

/**
* Migrates TypeScript "ts.Type" references. E.g.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,9 @@
*/

import ts from 'typescript';
import {getAngularDecorators} from '../../../../../../../compiler-cli/src/ngtsc/annotations';
import {unwrapExpression} from '../../../../../../../compiler-cli/src/ngtsc/annotations/common';
import {
ReflectionHost,
reflectObjectLiteral,
} from '../../../../../../../compiler-cli/src/ngtsc/reflection';
import {getAngularDecorators} from '@angular/compiler-cli/src/ngtsc/annotations';
import {unwrapExpression} from '@angular/compiler-cli/src/ngtsc/annotations/common';
import {ReflectionHost, reflectObjectLiteral} from '@angular/compiler-cli/src/ngtsc/reflection';
import {
AST,
ParseLocation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,20 @@
*/

import ts from 'typescript';
import {ResourceLoader} from '../../../../../../../compiler-cli/src/ngtsc/annotations';
import {TemplateTypeChecker} from '../../../../../../../compiler-cli/src/ngtsc/typecheck/api';
import {ResourceLoader} from '@angular/compiler-cli/src/ngtsc/annotations';
import {TemplateTypeChecker} from '@angular/compiler-cli/src/ngtsc/typecheck/api';
import {InputIncompatibilityReason} from '../../input_detection/incompatibility';
import {KnownInputs} from '../../input_detection/known_inputs';
import {TemplateReferenceVisitor} from '../../input_detection/template_reference_visitor';
import {MigrationHost} from '../../migration_host';
import {MigrationResult} from '../../result';
import {InputReferenceKind} from '../../utils/input_reference';
import {
ClassDeclaration,
ReflectionHost,
} from '../../../../../../../compiler-cli/src/ngtsc/reflection';
import {PartialEvaluator} from '../../../../../../../compiler-cli/src/ngtsc/partial_evaluator';
import {extractTemplate} from '../../../../../../../compiler-cli/src/ngtsc/annotations/component/src/resources';
import {ClassDeclaration, ReflectionHost} from '@angular/compiler-cli/src/ngtsc/reflection';
import {PartialEvaluator} from '@angular/compiler-cli/src/ngtsc/partial_evaluator';
import {extractTemplate} from '@angular/compiler-cli/src/ngtsc/annotations/component/src/resources';
import {attemptExtractTemplateDefinition} from '../../utils/extract_template';
import {NgCompilerOptions} from '../../../../../../../compiler-cli/src/ngtsc/core/api';
import {CompilationMode} from '../../../../../../../compiler-cli/src/ngtsc/transform';
import {NgCompilerOptions} from '@angular/compiler-cli/src/ngtsc/core/api';
import {CompilationMode} from '@angular/compiler-cli/src/ngtsc/transform';
import {TmplAstNode} from '@angular/compiler';

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/

import {isShim} from '../../../../../compiler-cli/src/ngtsc/shims';
import {isShim} from '@angular/compiler-cli/src/ngtsc/shims';
import {AnalysisProgramInfo} from './analysis_deps';
import {KnownInputs} from './input_detection/known_inputs';
import {MigrationHost} from './migration_host';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {pass8__migrateHostBindings} from './passes/8_migrate_host_bindings';
import {pass9__migrateTypeScriptTypeReferences} from './passes/9_migrate_ts_type_references';
import {MigrationResult} from './result';
import {pass10_applyImportManager} from './passes/10_apply_import_manager';
import {ImportManager} from '../../../../../compiler-cli/src/ngtsc/translator';
import {ImportManager} from '@angular/compiler-cli/src/ngtsc/translator';

/**
* Executes the migration phase.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
*/

import ts from 'typescript';
import {
ReflectionHost,
reflectObjectLiteral,
} from '../../../../../../compiler-cli/src/ngtsc/reflection';
import {ReflectionHost, reflectObjectLiteral} from '@angular/compiler-cli/src/ngtsc/reflection';
import {MigrationHost} from '../migration_host';
import {getAngularDecorators} from '../../../../../../compiler-cli/src/ngtsc/annotations';
import {PartialEvaluator} from './../../../../../../compiler-cli/src/ngtsc/partial_evaluator';
import {getAngularDecorators} from '@angular/compiler-cli/src/ngtsc/annotations';
import {PartialEvaluator} from '@angular/compiler-cli/src/ngtsc/partial_evaluator';
import {
ExternalTemplateDeclaration,
InlineTemplateDeclaration,
} from '../../../../../../compiler-cli/src/ngtsc/annotations/component/src/resources';
} from '@angular/compiler-cli/src/ngtsc/annotations/component/src/resources';
import {DEFAULT_INTERPOLATION_CONFIG} from '@angular/compiler';
import path from 'path';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import ts from 'typescript';
import {ExtractedQuery} from './identify_queries';
import {Replacement, TextUpdate} from '../../utils/tsurge';
import {absoluteFromSourceFile} from '../../../../compiler-cli';
import {ImportManager} from '../../../../compiler-cli/private/migrations';
import {ImportManager} from '@angular/compiler-cli/private/migrations';
import assert from 'assert';
import {WrappedNodeExpr} from '@angular/compiler';
import {removeFromUnionIfPossible} from '../signal-migration/src/utils/remove_from_union';
Expand Down
Loading