From 780081def0f0cd89b0decf54fc450a48d4d09e5c Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 28 Mar 2019 11:24:02 +0100 Subject: [PATCH] refactor(core): move schematic typescript logic to utility package (#29608) PR Close #29608 --- .../static-queries/angular/analyze_query_usage.ts | 4 +--- .../static-queries/angular/declaration_usage_visitor.ts | 2 +- .../migrations/static-queries/angular/directive_inputs.ts | 5 ++--- .../migrations/static-queries/angular/ng_query_visitor.ts | 6 ++---- .../migrations/static-queries/angular/query-definition.ts | 3 +-- .../static-queries/google3/explicitQueryTimingRule.ts | 1 - packages/core/schematics/migrations/static-queries/index.ts | 2 +- .../core/schematics/migrations/static-queries/transform.ts | 4 +--- .../angular/decorators.ts => utils/ng_decorators.ts} | 2 +- .../typescript/class_declaration.ts | 0 .../static-queries => utils}/typescript/decorators.ts | 1 - .../static-queries => utils}/typescript/functions.ts | 0 .../static-queries => utils}/typescript/imports.ts | 0 .../tsconfig.ts => utils/typescript/parse_tsconfig.ts} | 0 .../static-queries => utils}/typescript/property_name.ts | 0 15 files changed, 10 insertions(+), 20 deletions(-) rename packages/core/schematics/{migrations/static-queries/angular/decorators.ts => utils/ng_decorators.ts} (92%) rename packages/core/schematics/{migrations/static-queries => utils}/typescript/class_declaration.ts (100%) rename packages/core/schematics/{migrations/static-queries => utils}/typescript/decorators.ts (99%) rename packages/core/schematics/{migrations/static-queries => utils}/typescript/functions.ts (100%) rename packages/core/schematics/{migrations/static-queries => utils}/typescript/imports.ts (100%) rename packages/core/schematics/{migrations/static-queries/typescript/tsconfig.ts => utils/typescript/parse_tsconfig.ts} (100%) rename packages/core/schematics/{migrations/static-queries => utils}/typescript/property_name.ts (100%) diff --git a/packages/core/schematics/migrations/static-queries/angular/analyze_query_usage.ts b/packages/core/schematics/migrations/static-queries/angular/analyze_query_usage.ts index af936aede2..f38a0ccf6e 100644 --- a/packages/core/schematics/migrations/static-queries/angular/analyze_query_usage.ts +++ b/packages/core/schematics/migrations/static-queries/angular/analyze_query_usage.ts @@ -7,13 +7,11 @@ */ import * as ts from 'typescript'; - -import {hasPropertyNameText} from '../typescript/property_name'; +import {hasPropertyNameText} from '../../../utils/typescript/property_name'; import {DeclarationUsageVisitor} from './declaration_usage_visitor'; import {ClassMetadataMap} from './ng_query_visitor'; import {NgQueryDefinition, QueryTiming, QueryType} from './query-definition'; - /** * Object that maps a given type of query to a list of lifecycle hooks that * could be used to access such a query statically. diff --git a/packages/core/schematics/migrations/static-queries/angular/declaration_usage_visitor.ts b/packages/core/schematics/migrations/static-queries/angular/declaration_usage_visitor.ts index bf3feecc5d..64189254f9 100644 --- a/packages/core/schematics/migrations/static-queries/angular/declaration_usage_visitor.ts +++ b/packages/core/schematics/migrations/static-queries/angular/declaration_usage_visitor.ts @@ -7,7 +7,7 @@ */ import * as ts from 'typescript'; -import {isFunctionLikeDeclaration, unwrapExpression} from '../typescript/functions'; +import {isFunctionLikeDeclaration, unwrapExpression} from '../../../utils/typescript/functions'; /** * Class that can be used to determine if a given TypeScript node is used within diff --git a/packages/core/schematics/migrations/static-queries/angular/directive_inputs.ts b/packages/core/schematics/migrations/static-queries/angular/directive_inputs.ts index b9c0b661e5..2731d2ceb3 100644 --- a/packages/core/schematics/migrations/static-queries/angular/directive_inputs.ts +++ b/packages/core/schematics/migrations/static-queries/angular/directive_inputs.ts @@ -7,9 +7,8 @@ */ import * as ts from 'typescript'; - -import {getPropertyNameText, hasPropertyNameText} from '../typescript/property_name'; -import {getAngularDecorators} from './decorators'; +import {getAngularDecorators} from '../../../utils/ng_decorators'; +import {getPropertyNameText, hasPropertyNameText} from '../../../utils/typescript/property_name'; /** Analyzes the given class and resolves the name of all inputs which are declared. */ export function getInputNamesOfClass( diff --git a/packages/core/schematics/migrations/static-queries/angular/ng_query_visitor.ts b/packages/core/schematics/migrations/static-queries/angular/ng_query_visitor.ts index 777ee8bbf7..7cb2dded82 100644 --- a/packages/core/schematics/migrations/static-queries/angular/ng_query_visitor.ts +++ b/packages/core/schematics/migrations/static-queries/angular/ng_query_visitor.ts @@ -7,10 +7,8 @@ */ import * as ts from 'typescript'; - -import {findParentClassDeclaration, getBaseTypeIdentifiers} from '../typescript/class_declaration'; - -import {getAngularDecorators} from './decorators'; +import {getAngularDecorators} from '../../../utils/ng_decorators'; +import {findParentClassDeclaration, getBaseTypeIdentifiers} from '../../../utils/typescript/class_declaration'; import {getInputNamesOfClass} from './directive_inputs'; import {NgQueryDefinition, QueryType} from './query-definition'; diff --git a/packages/core/schematics/migrations/static-queries/angular/query-definition.ts b/packages/core/schematics/migrations/static-queries/angular/query-definition.ts index 1a9fbb00c0..413d9334bd 100644 --- a/packages/core/schematics/migrations/static-queries/angular/query-definition.ts +++ b/packages/core/schematics/migrations/static-queries/angular/query-definition.ts @@ -7,8 +7,7 @@ */ import * as ts from 'typescript'; -import {NgDecorator} from './decorators'; - +import {NgDecorator} from '../../../utils/ng_decorators'; /** Timing of a given query. Either static or dynamic. */ export enum QueryTiming { diff --git a/packages/core/schematics/migrations/static-queries/google3/explicitQueryTimingRule.ts b/packages/core/schematics/migrations/static-queries/google3/explicitQueryTimingRule.ts index fd3af7edee..f8c92ef135 100644 --- a/packages/core/schematics/migrations/static-queries/google3/explicitQueryTimingRule.ts +++ b/packages/core/schematics/migrations/static-queries/google3/explicitQueryTimingRule.ts @@ -8,7 +8,6 @@ import {Replacement, RuleFailure, Rules} from 'tslint'; import * as ts from 'typescript'; - import {analyzeNgQueryUsage} from '../angular/analyze_query_usage'; import {NgQueryResolveVisitor} from '../angular/ng_query_visitor'; import {QueryTiming} from '../angular/query-definition'; diff --git a/packages/core/schematics/migrations/static-queries/index.ts b/packages/core/schematics/migrations/static-queries/index.ts index 9cf086eadc..b8cd5c119c 100644 --- a/packages/core/schematics/migrations/static-queries/index.ts +++ b/packages/core/schematics/migrations/static-queries/index.ts @@ -11,11 +11,11 @@ import {dirname, relative} from 'path'; import * as ts from 'typescript'; import {getProjectTsConfigPaths} from '../../utils/project_tsconfig_paths'; +import {parseTsconfigFile} from '../../utils/typescript/parse_tsconfig'; import {analyzeNgQueryUsage} from './angular/analyze_query_usage'; import {NgQueryResolveVisitor} from './angular/ng_query_visitor'; import {getTransformedQueryCallExpr} from './transform'; -import {parseTsconfigFile} from './typescript/tsconfig'; /** Entry point for the V8 static-query migration. */ diff --git a/packages/core/schematics/migrations/static-queries/transform.ts b/packages/core/schematics/migrations/static-queries/transform.ts index 29cb187ae3..7410b1bad4 100644 --- a/packages/core/schematics/migrations/static-queries/transform.ts +++ b/packages/core/schematics/migrations/static-queries/transform.ts @@ -7,10 +7,8 @@ */ import * as ts from 'typescript'; - +import {getPropertyNameText} from '../../utils/typescript/property_name'; import {NgQueryDefinition, QueryTiming} from './angular/query-definition'; -import {getPropertyNameText} from './typescript/property_name'; - /** * Transforms the given query decorator by explicitly specifying the timing based on the diff --git a/packages/core/schematics/migrations/static-queries/angular/decorators.ts b/packages/core/schematics/utils/ng_decorators.ts similarity index 92% rename from packages/core/schematics/migrations/static-queries/angular/decorators.ts rename to packages/core/schematics/utils/ng_decorators.ts index 2e11f6966d..5e0bdb67f9 100644 --- a/packages/core/schematics/migrations/static-queries/angular/decorators.ts +++ b/packages/core/schematics/utils/ng_decorators.ts @@ -7,7 +7,7 @@ */ import * as ts from 'typescript'; -import {getCallDecoratorImport} from '../typescript/decorators'; +import {getCallDecoratorImport} from './typescript/decorators'; export interface NgDecorator { name: string; diff --git a/packages/core/schematics/migrations/static-queries/typescript/class_declaration.ts b/packages/core/schematics/utils/typescript/class_declaration.ts similarity index 100% rename from packages/core/schematics/migrations/static-queries/typescript/class_declaration.ts rename to packages/core/schematics/utils/typescript/class_declaration.ts diff --git a/packages/core/schematics/migrations/static-queries/typescript/decorators.ts b/packages/core/schematics/utils/typescript/decorators.ts similarity index 99% rename from packages/core/schematics/migrations/static-queries/typescript/decorators.ts rename to packages/core/schematics/utils/typescript/decorators.ts index 75a900c2b4..de1df266e8 100644 --- a/packages/core/schematics/migrations/static-queries/typescript/decorators.ts +++ b/packages/core/schematics/utils/typescript/decorators.ts @@ -7,7 +7,6 @@ */ import * as ts from 'typescript'; - import {Import, getImportOfIdentifier} from './imports'; export function getCallDecoratorImport( diff --git a/packages/core/schematics/migrations/static-queries/typescript/functions.ts b/packages/core/schematics/utils/typescript/functions.ts similarity index 100% rename from packages/core/schematics/migrations/static-queries/typescript/functions.ts rename to packages/core/schematics/utils/typescript/functions.ts diff --git a/packages/core/schematics/migrations/static-queries/typescript/imports.ts b/packages/core/schematics/utils/typescript/imports.ts similarity index 100% rename from packages/core/schematics/migrations/static-queries/typescript/imports.ts rename to packages/core/schematics/utils/typescript/imports.ts diff --git a/packages/core/schematics/migrations/static-queries/typescript/tsconfig.ts b/packages/core/schematics/utils/typescript/parse_tsconfig.ts similarity index 100% rename from packages/core/schematics/migrations/static-queries/typescript/tsconfig.ts rename to packages/core/schematics/utils/typescript/parse_tsconfig.ts diff --git a/packages/core/schematics/migrations/static-queries/typescript/property_name.ts b/packages/core/schematics/utils/typescript/property_name.ts similarity index 100% rename from packages/core/schematics/migrations/static-queries/typescript/property_name.ts rename to packages/core/schematics/utils/typescript/property_name.ts