jqwidgets-ng 14.1.10 → 14.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/schematics/cdk/schematics/collection.json +17 -0
- package/schematics/cdk/schematics/index.d.ts +13 -0
- package/schematics/cdk/schematics/index.js +37 -0
- package/schematics/cdk/schematics/index.mjs +37 -0
- package/schematics/cdk/schematics/migration.json +50 -0
- package/schematics/cdk/schematics/ng-add/index.d.ts +17 -0
- package/schematics/cdk/schematics/ng-add/index.js +39 -0
- package/schematics/cdk/schematics/ng-add/index.mjs +39 -0
- package/schematics/cdk/schematics/ng-add/package-config.d.ts +12 -0
- package/schematics/cdk/schematics/ng-add/package-config.js +52 -0
- package/schematics/cdk/schematics/ng-add/package-config.mjs +52 -0
- package/schematics/cdk/schematics/ng-add/schema.d.ts +11 -0
- package/schematics/cdk/schematics/ng-add/schema.js +10 -0
- package/schematics/cdk/schematics/ng-add/schema.json +16 -0
- package/schematics/cdk/schematics/ng-add/schema.mjs +10 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +29 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +43 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.d.ts +11 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +39 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.mjs +39 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js +10 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.json +93 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.mjs +10 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +23 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.mjs +23 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.js +42 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.mjs +42 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +74 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.mjs +74 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.d.ts +27 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.js +15 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.mjs +15 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.js +15 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.mjs +15 -0
- package/schematics/cdk/schematics/ng-update/data/index.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/data/index.js +34 -0
- package/schematics/cdk/schematics/ng-update/data/index.mjs +34 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.js +105 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.mjs +105 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +57 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.mjs +57 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.js +29 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.mjs +29 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.d.ts +20 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.js +137 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.mjs +137 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.js +12 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.mjs +12 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.d.ts +30 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.js +80 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.mjs +80 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +139 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.mjs +139 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +35 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.js +20 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.mjs +20 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.d.ts +16 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.js +42 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.mjs +42 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.d.ts +15 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.js +52 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.mjs +52 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +25 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +64 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.mjs +64 -0
- package/schematics/cdk/schematics/ng-update/index.d.ts +24 -0
- package/schematics/cdk/schematics/ng-update/index.js +66 -0
- package/schematics/cdk/schematics/ng-update/index.mjs +66 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +71 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.mjs +71 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +58 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.mjs +58 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.d.ts +32 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.js +91 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.mjs +91 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +139 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.mjs +139 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +75 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.mjs +75 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +66 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.mjs +66 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.js +59 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.mjs +59 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +62 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.mjs +62 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +38 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.mjs +38 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.js +46 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.mjs +46 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.d.ts +22 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.js +60 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.mjs +60 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +47 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.mjs +47 -0
- package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +14 -0
- package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +39 -0
- package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +39 -0
- package/schematics/cdk/schematics/ng-update/public-api.d.ts +17 -0
- package/schematics/cdk/schematics/ng-update/public-api.js +34 -0
- package/schematics/cdk/schematics/ng-update/public-api.mjs +34 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.d.ts +10 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.js +24 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.mjs +24 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.js +54 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.mjs +54 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.d.ts +18 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.js +33 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.mjs +33 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js +35 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.d.ts +34 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.js +36 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.mjs +36 -0
- package/schematics/cdk/schematics/package.json +3 -0
- package/schematics/cdk/schematics/paths.d.ts +11 -0
- package/schematics/cdk/schematics/paths.js +16 -0
- package/schematics/cdk/schematics/paths.mjs +16 -0
- package/schematics/cdk/schematics/schematics.externs.js +0 -0
- package/schematics/cdk/schematics/tsconfig.json +28 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +43 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.js +147 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.mjs +147 -0
- package/schematics/cdk/schematics/update-tool/file-system.d.ts +72 -0
- package/schematics/cdk/schematics/update-tool/file-system.js +18 -0
- package/schematics/cdk/schematics/update-tool/file-system.mjs +18 -0
- package/schematics/cdk/schematics/update-tool/index.d.ts +70 -0
- package/schematics/cdk/schematics/update-tool/index.js +162 -0
- package/schematics/cdk/schematics/update-tool/index.mjs +162 -0
- package/schematics/cdk/schematics/update-tool/logger.d.ts +15 -0
- package/schematics/cdk/schematics/update-tool/logger.js +18 -0
- package/schematics/cdk/schematics/update-tool/logger.mjs +18 -0
- package/schematics/cdk/schematics/update-tool/migration.d.ts +81 -0
- package/schematics/cdk/schematics/update-tool/migration.js +67 -0
- package/schematics/cdk/schematics/update-tool/migration.mjs +67 -0
- package/schematics/cdk/schematics/update-tool/public-api.d.ts +15 -0
- package/schematics/cdk/schematics/update-tool/public-api.js +32 -0
- package/schematics/cdk/schematics/update-tool/public-api.mjs +32 -0
- package/schematics/cdk/schematics/update-tool/target-version.d.ts +23 -0
- package/schematics/cdk/schematics/update-tool/target-version.js +35 -0
- package/schematics/cdk/schematics/update-tool/target-version.mjs +35 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.d.ts +13 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.js +10 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.mjs +10 -0
- package/schematics/cdk/schematics/update-tool/update-tool.externs.js +0 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +22 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.js +42 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.mjs +42 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.d.ts +14 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.js +21 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.mjs +21 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.d.ts +17 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.js +111 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.mjs +111 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.d.ts +21 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.js +76 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.mjs +76 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +10 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +19 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.mjs +19 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +18 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.js +28 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.mjs +28 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +34 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +62 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.mjs +62 -0
- package/schematics/cdk/schematics/update-tool/version-changes.d.ts +32 -0
- package/schematics/cdk/schematics/update-tool/version-changes.js +39 -0
- package/schematics/cdk/schematics/update-tool/version-changes.mjs +39 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.d.ts +12 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.js +83 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.mjs +83 -0
- package/schematics/cdk/schematics/utils/ast.d.ts +25 -0
- package/schematics/cdk/schematics/utils/ast.js +79 -0
- package/schematics/cdk/schematics/utils/ast.mjs +79 -0
- package/schematics/cdk/schematics/utils/build-component.d.ts +20 -0
- package/schematics/cdk/schematics/utils/build-component.js +189 -0
- package/schematics/cdk/schematics/utils/build-component.mjs +189 -0
- package/schematics/cdk/schematics/utils/get-project.d.ts +13 -0
- package/schematics/cdk/schematics/utils/get-project.js +24 -0
- package/schematics/cdk/schematics/utils/get-project.mjs +24 -0
- package/schematics/cdk/schematics/utils/html-manipulation.d.ts +15 -0
- package/schematics/cdk/schematics/utils/html-manipulation.js +92 -0
- package/schematics/cdk/schematics/utils/html-manipulation.mjs +92 -0
- package/schematics/cdk/schematics/utils/index.d.ts +18 -0
- package/schematics/cdk/schematics/utils/index.js +35 -0
- package/schematics/cdk/schematics/utils/index.mjs +35 -0
- package/schematics/cdk/schematics/utils/parse5-element.d.ts +10 -0
- package/schematics/cdk/schematics/utils/parse5-element.js +31 -0
- package/schematics/cdk/schematics/utils/parse5-element.mjs +31 -0
- package/schematics/cdk/schematics/utils/project-index-file.d.ts +11 -0
- package/schematics/cdk/schematics/utils/project-index-file.js +21 -0
- package/schematics/cdk/schematics/utils/project-index-file.mjs +21 -0
- package/schematics/cdk/schematics/utils/project-main-file.d.ts +11 -0
- package/schematics/cdk/schematics/utils/project-main-file.js +23 -0
- package/schematics/cdk/schematics/utils/project-main-file.mjs +23 -0
- package/schematics/cdk/schematics/utils/project-style-file.d.ts +13 -0
- package/schematics/cdk/schematics/utils/project-style-file.js +42 -0
- package/schematics/cdk/schematics/utils/project-style-file.mjs +42 -0
- package/schematics/cdk/schematics/utils/project-targets.d.ts +18 -0
- package/schematics/cdk/schematics/utils/project-targets.js +34 -0
- package/schematics/cdk/schematics/utils/project-targets.mjs +34 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +14 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +50 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.mjs +50 -0
- package/schematics/cdk/schematics/utils/schematic-options.d.ts +17 -0
- package/schematics/cdk/schematics/utils/schematic-options.js +58 -0
- package/schematics/cdk/schematics/utils/schematic-options.mjs +58 -0
- package/schematics/cdk/schematics/utils/vendored-ast-utils/index.d.ts +70 -0
- package/schematics/cdk/schematics/utils/vendored-ast-utils/index.js +480 -0
- package/schematics/cdk/schematics/utils/vendored-ast-utils/index.mjs +480 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-generate/grid/index.js +1 -1
- package/schematics/ng-generate/grid/index.ts +1 -1
- package/schematics/theming/theming.js +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { Rule, SchematicContext } from '@angular-devkit/schematics';
|
|
9
|
+
import { MigrationCtor } from '../update-tool/migration';
|
|
10
|
+
import { TargetVersion } from '../update-tool/target-version';
|
|
11
|
+
import { DevkitContext, DevkitMigrationCtor } from './devkit-migration';
|
|
12
|
+
import { UpgradeData } from './upgrade-data';
|
|
13
|
+
/** List of migrations which run for the CDK update. */
|
|
14
|
+
export declare const cdkMigrations: MigrationCtor<UpgradeData>[];
|
|
15
|
+
export declare type NullableDevkitMigration = MigrationCtor<UpgradeData | null, DevkitContext>;
|
|
16
|
+
declare type PostMigrationFn = (context: SchematicContext, targetVersion: TargetVersion, hasFailure: boolean) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a Angular schematic rule that runs the upgrade for the
|
|
19
|
+
* specified target version.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createMigrationSchematicRule(targetVersion: TargetVersion, extraMigrations: NullableDevkitMigration[], upgradeData: UpgradeData, onMigrationCompleteFn?: PostMigrationFn): Rule;
|
|
22
|
+
/** Whether the given migration type refers to a devkit migration */
|
|
23
|
+
export declare function isDevkitMigration(value: MigrationCtor<any, any>): value is DevkitMigrationCtor<any>;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
10
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
11
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
12
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
13
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
14
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
15
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.isDevkitMigration = exports.createMigrationSchematicRule = exports.cdkMigrations = void 0;
|
|
20
|
+
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
21
|
+
const update_tool_1 = require("../update-tool");
|
|
22
|
+
const project_tsconfig_paths_1 = require("../utils/project-tsconfig-paths");
|
|
23
|
+
const devkit_file_system_1 = require("./devkit-file-system");
|
|
24
|
+
const devkit_migration_1 = require("./devkit-migration");
|
|
25
|
+
const find_stylesheets_1 = require("./find-stylesheets");
|
|
26
|
+
const attribute_selectors_1 = require("./migrations/attribute-selectors");
|
|
27
|
+
const class_inheritance_1 = require("./migrations/class-inheritance");
|
|
28
|
+
const class_names_1 = require("./migrations/class-names");
|
|
29
|
+
const constructor_signature_1 = require("./migrations/constructor-signature");
|
|
30
|
+
const css_selectors_1 = require("./migrations/css-selectors");
|
|
31
|
+
const element_selectors_1 = require("./migrations/element-selectors");
|
|
32
|
+
const input_names_1 = require("./migrations/input-names");
|
|
33
|
+
const method_call_arguments_1 = require("./migrations/method-call-arguments");
|
|
34
|
+
const misc_template_1 = require("./migrations/misc-template");
|
|
35
|
+
const output_names_1 = require("./migrations/output-names");
|
|
36
|
+
const property_names_1 = require("./migrations/property-names");
|
|
37
|
+
const symbol_removal_1 = require("./migrations/symbol-removal");
|
|
38
|
+
/** List of migrations which run for the CDK update. */
|
|
39
|
+
exports.cdkMigrations = [
|
|
40
|
+
attribute_selectors_1.AttributeSelectorsMigration,
|
|
41
|
+
class_inheritance_1.ClassInheritanceMigration,
|
|
42
|
+
class_names_1.ClassNamesMigration,
|
|
43
|
+
constructor_signature_1.ConstructorSignatureMigration,
|
|
44
|
+
css_selectors_1.CssSelectorsMigration,
|
|
45
|
+
element_selectors_1.ElementSelectorsMigration,
|
|
46
|
+
input_names_1.InputNamesMigration,
|
|
47
|
+
method_call_arguments_1.MethodCallArgumentsMigration,
|
|
48
|
+
misc_template_1.MiscTemplateMigration,
|
|
49
|
+
output_names_1.OutputNamesMigration,
|
|
50
|
+
property_names_1.PropertyNamesMigration,
|
|
51
|
+
symbol_removal_1.SymbolRemovalMigration,
|
|
52
|
+
];
|
|
53
|
+
/**
|
|
54
|
+
* Creates a Angular schematic rule that runs the upgrade for the
|
|
55
|
+
* specified target version.
|
|
56
|
+
*/
|
|
57
|
+
function createMigrationSchematicRule(targetVersion, extraMigrations, upgradeData, onMigrationCompleteFn) {
|
|
58
|
+
return (tree, context) => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const logger = context.logger;
|
|
60
|
+
const workspace = yield (0, project_tsconfig_paths_1.getWorkspaceConfigGracefully)(tree);
|
|
61
|
+
if (workspace === null) {
|
|
62
|
+
logger.error('Could not find workspace configuration file.');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Keep track of all project source files which have been checked/migrated. This is
|
|
66
|
+
// necessary because multiple TypeScript projects can contain the same source file and
|
|
67
|
+
// we don't want to check these again, as this would result in duplicated failure messages.
|
|
68
|
+
const analyzedFiles = new Set();
|
|
69
|
+
const fileSystem = new devkit_file_system_1.DevkitFileSystem(tree);
|
|
70
|
+
const projectNames = workspace.projects.keys();
|
|
71
|
+
const migrations = [...exports.cdkMigrations, ...extraMigrations];
|
|
72
|
+
let hasFailures = false;
|
|
73
|
+
for (const projectName of projectNames) {
|
|
74
|
+
const project = workspace.projects.get(projectName);
|
|
75
|
+
const buildTsconfigPath = (0, project_tsconfig_paths_1.getTargetTsconfigPath)(project, 'build');
|
|
76
|
+
const testTsconfigPath = (0, project_tsconfig_paths_1.getTargetTsconfigPath)(project, 'test');
|
|
77
|
+
if (!buildTsconfigPath && !testTsconfigPath) {
|
|
78
|
+
logger.warn(`Skipping migration for project ${projectName}. Unable to determine 'tsconfig.json' file in workspace config.`);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
// In some applications, developers will have global stylesheets which are not
|
|
82
|
+
// specified in any Angular component. Therefore we glob up all CSS and SCSS files
|
|
83
|
+
// in the project and migrate them if needed.
|
|
84
|
+
// TODO: rework this to collect global stylesheets from the workspace config. COMP-280.
|
|
85
|
+
const additionalStylesheetPaths = (0, find_stylesheets_1.findStylesheetFiles)(tree, project.root);
|
|
86
|
+
if (buildTsconfigPath !== null) {
|
|
87
|
+
runMigrations(project, projectName, buildTsconfigPath, additionalStylesheetPaths, false);
|
|
88
|
+
}
|
|
89
|
+
if (testTsconfigPath !== null) {
|
|
90
|
+
runMigrations(project, projectName, testTsconfigPath, additionalStylesheetPaths, true);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
let runPackageManager = false;
|
|
94
|
+
// Run the global post migration static members for all
|
|
95
|
+
// registered devkit migrations.
|
|
96
|
+
migrations.forEach(m => {
|
|
97
|
+
const actionResult = isDevkitMigration(m) && m.globalPostMigration !== undefined
|
|
98
|
+
? m.globalPostMigration(tree, targetVersion, context)
|
|
99
|
+
: null;
|
|
100
|
+
if (actionResult) {
|
|
101
|
+
runPackageManager = runPackageManager || actionResult.runPackageManager;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
// If a migration requested the package manager to run, we run it as an
|
|
105
|
+
// asynchronous post migration task. We cannot run it synchronously,
|
|
106
|
+
// as file changes from the current migration task are not applied to
|
|
107
|
+
// the file system yet.
|
|
108
|
+
if (runPackageManager) {
|
|
109
|
+
context.addTask(new tasks_1.NodePackageInstallTask({ quiet: false }));
|
|
110
|
+
}
|
|
111
|
+
if (onMigrationCompleteFn) {
|
|
112
|
+
onMigrationCompleteFn(context, targetVersion, hasFailures);
|
|
113
|
+
}
|
|
114
|
+
/** Runs the migrations for the specified workspace project. */
|
|
115
|
+
function runMigrations(project, projectName, tsconfigPath, additionalStylesheetPaths, isTestTarget) {
|
|
116
|
+
const program = update_tool_1.UpdateProject.createProgramFromTsconfig(tsconfigPath, fileSystem);
|
|
117
|
+
const updateContext = {
|
|
118
|
+
isTestTarget,
|
|
119
|
+
projectName,
|
|
120
|
+
project,
|
|
121
|
+
tree,
|
|
122
|
+
};
|
|
123
|
+
const updateProject = new update_tool_1.UpdateProject(updateContext, program, fileSystem, analyzedFiles, context.logger);
|
|
124
|
+
const result = updateProject.migrate(migrations, targetVersion, upgradeData, additionalStylesheetPaths);
|
|
125
|
+
// Commit all recorded edits in the update recorder. We apply the edits after all
|
|
126
|
+
// migrations ran because otherwise offsets in the TypeScript program would be
|
|
127
|
+
// shifted and individual migrations could no longer update the same source file.
|
|
128
|
+
fileSystem.commitEdits();
|
|
129
|
+
hasFailures = hasFailures || result.hasFailures;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
exports.createMigrationSchematicRule = createMigrationSchematicRule;
|
|
134
|
+
/** Whether the given migration type refers to a devkit migration */
|
|
135
|
+
function isDevkitMigration(value) {
|
|
136
|
+
return devkit_migration_1.DevkitMigration.isPrototypeOf(value);
|
|
137
|
+
}
|
|
138
|
+
exports.isDevkitMigration = isDevkitMigration;
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LW1pZ3JhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS9kZXZraXQtbWlncmF0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0FBR0gsNERBQXdFO0FBR3hFLGdEQUE2QztBQUk3Qyw0RUFBb0c7QUFFcEcsNkRBQXNEO0FBQ3RELHlEQUF1RjtBQUN2Rix5REFBdUQ7QUFDdkQsMEVBQTZFO0FBQzdFLHNFQUF5RTtBQUN6RSwwREFBNkQ7QUFDN0QsOEVBQWlGO0FBQ2pGLDhEQUFpRTtBQUNqRSxzRUFBeUU7QUFDekUsMERBQTZEO0FBQzdELDhFQUFnRjtBQUNoRiw4REFBaUU7QUFDakUsNERBQStEO0FBQy9ELGdFQUFtRTtBQUVuRSxnRUFBbUU7QUFFbkUsdURBQXVEO0FBQzFDLFFBQUEsYUFBYSxHQUFpQztJQUN6RCxpREFBMkI7SUFDM0IsNkNBQXlCO0lBQ3pCLGlDQUFtQjtJQUNuQixxREFBNkI7SUFDN0IscUNBQXFCO0lBQ3JCLDZDQUF5QjtJQUN6QixpQ0FBbUI7SUFDbkIsb0RBQTRCO0lBQzVCLHFDQUFxQjtJQUNyQixtQ0FBb0I7SUFDcEIsdUNBQXNCO0lBQ3RCLHVDQUFzQjtDQUN2QixDQUFDO0FBVUY7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLGFBQTRCLEVBQzVCLGVBQTBDLEVBQzFDLFdBQXdCLEVBQ3hCLHFCQUF1QztJQUV2QyxPQUFPLENBQU8sSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxxREFBNEIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUUzRCxJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxD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VSxDQUFDLENBQUM7WUFDbEYsTUFBTSxhQUFhLEdBQWtCO2dCQUNuQyxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsT0FBTztnQkFDUCxJQUFJO2FBQ0wsQ0FBQztZQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQWEsQ0FDckMsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQ2xDLFVBQVUsRUFDVixhQUFhLEVBQ2IsV0FBVyxFQUNYLHlCQUF5QixDQUMxQixDQUFDO1lBRUYsaUZBQWlGO1lBQ2pGLDhFQUE4RTtZQUM5RSxpRkFBaUY7WUFDakYsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRXpCLFdBQVcsR0FBRyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQyxDQUFBLENBQUM7QUFDSixDQUFDO0FBbEhELG9FQWtIQztBQUVELG9FQUFvRTtBQUNwRSxTQUFnQixpQkFBaUIsQ0FDL0IsS0FBOEI7SUFFOUIsT0FBTyxrQ0FBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBSkQsOENBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge05vZGVQYWNrYWdlSW5zdGFsbFRhc2t9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzL3Rhc2tzJztcbmltcG9ydCB7UHJvamVjdERlZmluaXRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlL3NyYy93b3Jrc3BhY2UnO1xuXG5pbXBvcnQge1VwZGF0ZVByb2plY3R9IGZyb20gJy4uL3VwZGF0ZS10b29sJztcbmltcG9ydCB7V29ya3NwYWNlUGF0aH0gZnJvbSAnLi4vdXBkYXRlLXRvb2wvZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHtNaWdyYXRpb25DdG9yfSBmcm9tICcuLi91cGRhdGUtdG9vbC9taWdyYXRpb24nO1xuaW1wb3J0IHtUYXJnZXRWZXJzaW9ufSBmcm9tICcuLi91cGRhdGUtdG9vbC90YXJnZXQtdmVyc2lvbic7XG5pbXBvcnQge2dldFRhcmdldFRzY29uZmlnUGF0aCwgZ2V0V29ya3NwYWNlQ29uZmlnR3JhY2VmdWxseX0gZnJvbSAnLi4vdXRpbHMvcHJvamVjdC10c2NvbmZpZy1wYXRocyc7XG5cbmltcG9ydCB7RGV2a2l0RmlsZVN5c3RlbX0gZnJvbSAnLi9kZXZraXQtZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHtEZXZraXRDb250ZXh0LCBEZXZraXRNaWdyYXRpb24sIERldmtpdE1pZ3JhdGlvbkN0b3J9IGZyb20gJy4vZGV2a2l0LW1pZ3JhdGlvbic7XG5pbXBvcnQge2ZpbmRTdHlsZXNoZWV0RmlsZXN9IGZyb20gJy4vZmluZC1zdHlsZXNoZWV0cyc7XG5pbXBvcnQge0F0dHJpYnV0ZVNlbGVjdG9yc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2F0dHJpYnV0ZS1zZWxlY3RvcnMnO1xuaW1wb3J0IHtDbGFzc0luaGVyaXRhbmNlTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvY2xhc3MtaW5oZXJpdGFuY2UnO1xuaW1wb3J0IHtDbGFzc05hbWVzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvY2xhc3MtbmFtZXMnO1xuaW1wb3J0IHtDb25zdHJ1Y3RvclNpZ25hdHVyZU1pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2NvbnN0cnVjdG9yLXNpZ25hdHVyZSc7XG5pbXBvcnQge0Nzc1NlbGVjdG9yc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2Nzcy1zZWxlY3RvcnMnO1xuaW1wb3J0IHtFbGVtZW50U2VsZWN0b3JzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvZWxlbWVudC1zZWxlY3RvcnMnO1xuaW1wb3J0IHtJbnB1dE5hbWVzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvaW5wdXQtbmFtZXMnO1xuaW1wb3J0IHtNZXRob2RDYWxsQXJndW1lbnRzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvbWV0aG9kLWNhbGwtYXJndW1lbnRzJztcbmltcG9ydCB7TWlzY1RlbXBsYXRlTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvbWlzYy10ZW1wbGF0ZSc7XG5pbXBvcnQge091dHB1dE5hbWVzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvb3V0cHV0LW5hbWVzJztcbmltcG9ydCB7UHJvcGVydHlOYW1lc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL3Byb3BlcnR5LW5hbWVzJztcbmltcG9ydCB7VXBncmFkZURhdGF9IGZyb20gJy4vdXBncmFkZS1kYXRhJztcbmltcG9ydCB7U3ltYm9sUmVtb3ZhbE1pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL3N5bWJvbC1yZW1vdmFsJztcblxuLyoqIExpc3Qgb2YgbWlncmF0aW9ucyB3aGljaCBydW4gZm9yIHRoZSBDREsgdXBkYXRlLiAqL1xuZXhwb3J0IGNvbnN0IGNka01pZ3JhdGlvbnM6IE1pZ3JhdGlvbkN0b3I8VXBncmFkZURhdGE+W10gPSBbXG4gIEF0dHJpYnV0ZVNlbGVjdG9yc01pZ3JhdGlvbixcbiAgQ2xhc3NJbmhlcml0YW5jZU1pZ3JhdGlvbixcbiAgQ2xhc3NOYW1lc01pZ3JhdGlvbixcbiAgQ29uc3RydWN0b3JTaWduYXR1cmVNaWdyYXRpb24sXG4gIENzc1NlbGVjdG9yc01pZ3JhdGlvbixcbiAgRWxlbWVudFNlbGVjdG9yc01pZ3JhdGlvbixcbiAgSW5wdXROYW1lc01pZ3JhdGlvbixcbiAgTWV0aG9kQ2FsbEFyZ3VtZW50c01pZ3JhdGlvbixcbiAgTWlzY1RlbXBsYXRlTWlncmF0aW9uLFxuICBPdXRwdXROYW1lc01pZ3JhdGlvbixcbiAgUHJvcGVydHlOYW1lc01pZ3JhdGlvbixcbiAgU3ltYm9sUmVtb3ZhbE1pZ3JhdGlvbixcbl07XG5cbmV4cG9ydCB0eXBlIE51bGxhYmxlRGV2a2l0TWlncmF0aW9uID0gTWlncmF0aW9uQ3RvcjxVcGdyYWRlRGF0YSB8IG51bGwsIERldmtpdENvbnRleHQ+O1xuXG50eXBlIFBvc3RNaWdyYXRpb25GbiA9IChcbiAgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCxcbiAgdGFyZ2V0VmVyc2lvbjogVGFyZ2V0VmVyc2lvbixcbiAgaGFzRmFpbHVyZTogYm9vbGVhbixcbikgPT4gdm9pZDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgQW5ndWxhciBzY2hlbWF0aWMgcnVsZSB0aGF0IHJ1bnMgdGhlIHVwZ3JhZGUgZm9yIHRoZVxuICogc3BlY2lmaWVkIHRhcmdldCB2ZXJzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZShcbiAgdGFyZ2V0VmVyc2lvbjogVGFyZ2V0VmVyc2lvbixcbiAgZXh0cmFNaWdyYXRpb25zOiBOdWxsYWJsZURldmtpdE1pZ3JhdGlvbltdLFxuICB1cGdyYWRlRGF0YTogVXBncmFkZURhdGEsXG4gIG9uTWlncmF0aW9uQ29tcGxldGVGbj86IFBvc3RNaWdyYXRpb25Gbixcbik6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlcjtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSBhd2FpdCBnZXRXb3Jrc3BhY2VDb25maWdHcmFjZWZ1bGx5KHRyZWUpO1xuXG4gICAgaWYgKHdvcmtzcGFjZSA9PT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmVycm9yKCdDb3VsZCBub3QgZmluZCB3b3Jrc3BhY2UgY29uZmlndXJhdGlvbiBmaWxlLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdHJhY2sgb2YgYWxsIHByb2plY3Qgc291cmNlIGZpbGVzIHdoaWNoIGhhdmUgYmVlbiBjaGVja2VkL21pZ3JhdGVkLiBUaGlzIGlzXG4gICAgLy8gbmVjZXNzYXJ5IGJlY2F1c2UgbXVsdGlwbGUgVHlwZVNjcmlwdCBwcm9qZWN0cyBjYW4gY29udGFpbiB0aGUgc2FtZSBzb3VyY2UgZmlsZSBhbmRcbiAgICAvLyB3ZSBkb24ndCB3YW50IHRvIGNoZWNrIHRoZXNlIGFnYWluLCBhcyB0aGlzIHdvdWxkIHJlc3VsdCBpbiBkdXBsaWNhdGVkIGZhaWx1cmUgbWVzc2FnZXMuXG4gICAgY29uc3QgYW5hbHl6ZWRGaWxlcyA9IG5ldyBTZXQ8V29ya3NwYWNlUGF0aD4oKTtcbiAgICBjb25zdCBmaWxlU3lzdGVtID0gbmV3IERldmtpdEZpbGVTeXN0ZW0odHJlZSk7XG4gICAgY29uc3QgcHJvamVjdE5hbWVzID0gd29ya3NwYWNlLnByb2plY3RzLmtleXMoKTtcbiAgICBjb25zdCBtaWdyYXRpb25zID0gWy4uLmNka01pZ3JhdGlvbnMsIC4uLmV4dHJhTWlncmF0aW9uc10gYXMgTnVsbGFibGVEZXZraXRNaWdyYXRpb25bXTtcbiAgICBsZXQgaGFzRmFpbHVyZXMgPSBmYWxzZTtcblxuICAgIGZvciAoY29uc3QgcHJvamVjdE5hbWUgb2YgcHJvamVjdE5hbWVzKSB7XG4gICAgICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChwcm9qZWN0TmFtZSkhO1xuICAgICAgY29uc3QgYnVpbGRUc2NvbmZpZ1BhdGggPSBnZXRUYXJnZXRUc2NvbmZpZ1BhdGgocHJvamVjdCwgJ2J1aWxkJyk7XG4gICAgICBjb25zdCB0ZXN0VHNjb25maWdQYXRoID0gZ2V0VGFyZ2V0VHNjb25maWdQYXRoKHByb2plY3QsICd0ZXN0Jyk7XG5cbiAgICAgIGlmICghYnVpbGRUc2NvbmZpZ1BhdGggJiYgIXRlc3RUc2NvbmZpZ1BhdGgpIHtcbiAgICAgICAgbG9nZ2VyLndhcm4oXG4gICAgICAgICAgYFNraXBwaW5nIG1pZ3JhdGlvbiBmb3IgcHJvamVjdCAke3Byb2plY3ROYW1lfS4gVW5hYmxlIHRvIGRldGVybWluZSAndHNjb25maWcuanNvbicgZmlsZSBpbiB3b3Jrc3BhY2UgY29uZmlnLmAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBJbiBzb21lIGFwcGxpY2F0aW9ucywgZGV2ZWxvcGVycyB3aWxsIGhhdmUgZ2xvYmFsIHN0eWxlc2hlZXRzIHdoaWNoIGFyZSBub3RcbiAgICAgIC8vIHNwZWNpZmllZCBpbiBhbnkgQW5ndWxhciBjb21wb25lbnQuIFRoZXJlZm9yZSB3ZSBnbG9iIHVwIGFsbCBDU1MgYW5kIFNDU1MgZmlsZXNcbiAgICAgIC8vIGluIHRoZSBwcm9qZWN0IGFuZCBtaWdyYXRlIHRoZW0gaWYgbmVlZGVkLlxuICAgICAgLy8gVE9ETzogcmV3b3JrIHRoaXMgdG8gY29sbGVjdCBnbG9iYWwgc3R5bGVzaGVldHMgZnJvbSB0aGUgd29ya3NwYWNlIGNvbmZpZy4gQ09NUC0yODAuXG4gICAgICBjb25zdCBhZGRpdGlvbmFsU3R5bGVzaGVldFBhdGhzID0gZmluZFN0eWxlc2hlZXRGaWxlcyh0cmVlLCBwcm9qZWN0LnJvb3QpO1xuXG4gICAgICBpZiAoYnVpbGRUc2NvbmZpZ1BhdGggIT09IG51bGwpIHtcbiAgICAgICAgcnVuTWlncmF0aW9ucyhwcm9qZWN0LCBwcm9qZWN0TmFtZSwgYnVpbGRUc2NvbmZpZ1BhdGgsIGFkZGl0aW9uYWxTdHlsZXNoZWV0UGF0aHMsIGZhbHNlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0ZXN0VHNjb25maWdQYXRoICE9PSBudWxsKSB7XG4gICAgICAgIHJ1bk1pZ3JhdGlvbnMocHJvamVjdCwgcHJvamVjdE5hbWUsIHRlc3RUc2NvbmZpZ1BhdGgsIGFkZGl0aW9uYWxTdHlsZXNoZWV0UGF0aHMsIHRydWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBydW5QYWNrYWdlTWFuYWdlciA9IGZhbHNlO1xuICAgIC8vIFJ1biB0aGUgZ2xvYmFsIHBvc3QgbWlncmF0aW9uIHN0YXRpYyBtZW1iZXJzIGZvciBhbGxcbiAgICAvLyByZWdpc3RlcmVkIGRldmtpdCBtaWdyYXRpb25zLlxuICAgIG1pZ3JhdGlvbnMuZm9yRWFjaChtID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvblJlc3VsdCA9XG4gICAgICAgIGlzRGV2a2l0TWlncmF0aW9uKG0pICYmIG0uZ2xvYmFsUG9zdE1pZ3JhdGlvbiAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBtLmdsb2JhbFBvc3RNaWdyYXRpb24odHJlZSwgdGFyZ2V0VmVyc2lvbiwgY29udGV4dClcbiAgICAgICAgICA6IG51bGw7XG4gICAgICBpZiAoYWN0aW9uUmVzdWx0KSB7XG4gICAgICAgIHJ1blBhY2thZ2VNYW5hZ2VyID0gcnVuUGFja2FnZU1hbmFnZXIgfHwgYWN0aW9uUmVzdWx0LnJ1blBhY2thZ2VNYW5hZ2VyO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gSWYgYSBtaWdyYXRpb24gcmVxdWVzdGVkIHRoZSBwYWNrYWdlIG1hbmFnZXIgdG8gcnVuLCB3ZSBydW4gaXQgYXMgYW5cbiAgICAvLyBhc3luY2hyb25vdXMgcG9zdCBtaWdyYXRpb24gdGFzay4gV2UgY2Fubm90IHJ1biBpdCBzeW5jaHJvbm91c2x5LFxuICAgIC8vIGFzIGZpbGUgY2hhbmdlcyBmcm9tIHRoZSBjdXJyZW50IG1pZ3JhdGlvbiB0YXNrIGFyZSBub3QgYXBwbGllZCB0b1xuICAgIC8vIHRoZSBmaWxlIHN5c3RlbSB5ZXQuXG4gICAgaWYgKHJ1blBhY2thZ2VNYW5hZ2VyKSB7XG4gICAgICBjb250ZXh0LmFkZFRhc2sobmV3IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2soe3F1aWV0OiBmYWxzZX0pKTtcbiAgICB9XG5cbiAgICBpZiAob25NaWdyYXRpb25Db21wbGV0ZUZuKSB7XG4gICAgICBvbk1pZ3JhdGlvbkNvbXBsZXRlRm4oY29udGV4dCwgdGFyZ2V0VmVyc2lvbiwgaGFzRmFpbHVyZXMpO1xuICAgIH1cblxuICAgIC8qKiBSdW5zIHRoZSBtaWdyYXRpb25zIGZvciB0aGUgc3BlY2lmaWVkIHdvcmtzcGFjZSBwcm9qZWN0LiAqL1xuICAgIGZ1bmN0aW9uIHJ1bk1pZ3JhdGlvbnMoXG4gICAgICBwcm9qZWN0OiBQcm9qZWN0RGVmaW5pdGlvbixcbiAgICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICAgICB0c2NvbmZpZ1BhdGg6IFdvcmtzcGFjZVBhdGgsXG4gICAgICBhZGRpdGlvbmFsU3R5bGVzaGVldFBhdGhzOiBzdHJpbmdbXSxcbiAgICAgIGlzVGVzdFRhcmdldDogYm9vbGVhbixcbiAgICApIHtcbiAgICAgIGNvbnN0IHByb2dyYW0gPSBVcGRhdGVQcm9qZWN0LmNyZWF0ZVByb2dyYW1Gcm9tVHNjb25maWcodHNjb25maWdQYXRoLCBmaWxlU3lzdGVtKTtcbiAgICAgIGNvbnN0IHVwZGF0ZUNvbnRleHQ6IERldmtpdENvbnRleHQgPSB7XG4gICAgICAgIGlzVGVzdFRhcmdldCxcbiAgICAgICAgcHJvamVjdE5hbWUsXG4gICAgICAgIHByb2plY3QsXG4gICAgICAgIHRyZWUsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB1cGRhdGVQcm9qZWN0ID0gbmV3IFVwZGF0ZVByb2plY3QoXG4gICAgICAgIHVwZGF0ZUNvbnRleHQsXG4gICAgICAgIHByb2dyYW0sXG4gICAgICAgIGZpbGVTeXN0ZW0sXG4gICAgICAgIGFuYWx5emVkRmlsZXMsXG4gICAgICAgIGNvbnRleHQubG9nZ2VyLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gdXBkYXRlUHJvamVjdC5taWdyYXRlKFxuICAgICAgICBtaWdyYXRpb25zLFxuICAgICAgICB0YXJnZXRWZXJzaW9uLFxuICAgICAgICB1cGdyYWRlRGF0YSxcbiAgICAgICAgYWRkaXRpb25hbFN0eWxlc2hlZXRQYXRocyxcbiAgICAgICk7XG5cbiAgICAgIC8vIENvbW1pdCBhbGwgcmVjb3JkZWQgZWRpdHMgaW4gdGhlIHVwZGF0ZSByZWNvcmRlci4gV2UgYXBwbHkgdGhlIGVkaXRzIGFmdGVyIGFsbFxuICAgICAgLy8gbWlncmF0aW9ucyByYW4gYmVjYXVzZSBvdGhlcndpc2Ugb2Zmc2V0cyBpbiB0aGUgVHlwZVNjcmlwdCBwcm9ncmFtIHdvdWxkIGJlXG4gICAgICAvLyBzaGlmdGVkIGFuZCBpbmRpdmlkdWFsIG1pZ3JhdGlvbnMgY291bGQgbm8gbG9uZ2VyIHVwZGF0ZSB0aGUgc2FtZSBzb3VyY2UgZmlsZS5cbiAgICAgIGZpbGVTeXN0ZW0uY29tbWl0RWRpdHMoKTtcblxuICAgICAgaGFzRmFpbHVyZXMgPSBoYXNGYWlsdXJlcyB8fCByZXN1bHQuaGFzRmFpbHVyZXM7XG4gICAgfVxuICB9O1xufVxuXG4vKiogV2hldGhlciB0aGUgZ2l2ZW4gbWlncmF0aW9uIHR5cGUgcmVmZXJzIHRvIGEgZGV2a2l0IG1pZ3JhdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGV2a2l0TWlncmF0aW9uKFxuICB2YWx1ZTogTWlncmF0aW9uQ3RvcjxhbnksIGFueT4sXG4pOiB2YWx1ZSBpcyBEZXZraXRNaWdyYXRpb25DdG9yPGFueT4ge1xuICByZXR1cm4gRGV2a2l0TWlncmF0aW9uLmlzUHJvdG90eXBlT2YodmFsdWUpO1xufVxuIl19
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
10
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
11
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
12
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
13
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
14
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
15
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.isDevkitMigration = exports.createMigrationSchematicRule = exports.cdkMigrations = void 0;
|
|
20
|
+
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
21
|
+
const update_tool_1 = require("../update-tool");
|
|
22
|
+
const project_tsconfig_paths_1 = require("../utils/project-tsconfig-paths");
|
|
23
|
+
const devkit_file_system_1 = require("./devkit-file-system");
|
|
24
|
+
const devkit_migration_1 = require("./devkit-migration");
|
|
25
|
+
const find_stylesheets_1 = require("./find-stylesheets");
|
|
26
|
+
const attribute_selectors_1 = require("./migrations/attribute-selectors");
|
|
27
|
+
const class_inheritance_1 = require("./migrations/class-inheritance");
|
|
28
|
+
const class_names_1 = require("./migrations/class-names");
|
|
29
|
+
const constructor_signature_1 = require("./migrations/constructor-signature");
|
|
30
|
+
const css_selectors_1 = require("./migrations/css-selectors");
|
|
31
|
+
const element_selectors_1 = require("./migrations/element-selectors");
|
|
32
|
+
const input_names_1 = require("./migrations/input-names");
|
|
33
|
+
const method_call_arguments_1 = require("./migrations/method-call-arguments");
|
|
34
|
+
const misc_template_1 = require("./migrations/misc-template");
|
|
35
|
+
const output_names_1 = require("./migrations/output-names");
|
|
36
|
+
const property_names_1 = require("./migrations/property-names");
|
|
37
|
+
const symbol_removal_1 = require("./migrations/symbol-removal");
|
|
38
|
+
/** List of migrations which run for the CDK update. */
|
|
39
|
+
exports.cdkMigrations = [
|
|
40
|
+
attribute_selectors_1.AttributeSelectorsMigration,
|
|
41
|
+
class_inheritance_1.ClassInheritanceMigration,
|
|
42
|
+
class_names_1.ClassNamesMigration,
|
|
43
|
+
constructor_signature_1.ConstructorSignatureMigration,
|
|
44
|
+
css_selectors_1.CssSelectorsMigration,
|
|
45
|
+
element_selectors_1.ElementSelectorsMigration,
|
|
46
|
+
input_names_1.InputNamesMigration,
|
|
47
|
+
method_call_arguments_1.MethodCallArgumentsMigration,
|
|
48
|
+
misc_template_1.MiscTemplateMigration,
|
|
49
|
+
output_names_1.OutputNamesMigration,
|
|
50
|
+
property_names_1.PropertyNamesMigration,
|
|
51
|
+
symbol_removal_1.SymbolRemovalMigration,
|
|
52
|
+
];
|
|
53
|
+
/**
|
|
54
|
+
* Creates a Angular schematic rule that runs the upgrade for the
|
|
55
|
+
* specified target version.
|
|
56
|
+
*/
|
|
57
|
+
function createMigrationSchematicRule(targetVersion, extraMigrations, upgradeData, onMigrationCompleteFn) {
|
|
58
|
+
return (tree, context) => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const logger = context.logger;
|
|
60
|
+
const workspace = yield (0, project_tsconfig_paths_1.getWorkspaceConfigGracefully)(tree);
|
|
61
|
+
if (workspace === null) {
|
|
62
|
+
logger.error('Could not find workspace configuration file.');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Keep track of all project source files which have been checked/migrated. This is
|
|
66
|
+
// necessary because multiple TypeScript projects can contain the same source file and
|
|
67
|
+
// we don't want to check these again, as this would result in duplicated failure messages.
|
|
68
|
+
const analyzedFiles = new Set();
|
|
69
|
+
const fileSystem = new devkit_file_system_1.DevkitFileSystem(tree);
|
|
70
|
+
const projectNames = workspace.projects.keys();
|
|
71
|
+
const migrations = [...exports.cdkMigrations, ...extraMigrations];
|
|
72
|
+
let hasFailures = false;
|
|
73
|
+
for (const projectName of projectNames) {
|
|
74
|
+
const project = workspace.projects.get(projectName);
|
|
75
|
+
const buildTsconfigPath = (0, project_tsconfig_paths_1.getTargetTsconfigPath)(project, 'build');
|
|
76
|
+
const testTsconfigPath = (0, project_tsconfig_paths_1.getTargetTsconfigPath)(project, 'test');
|
|
77
|
+
if (!buildTsconfigPath && !testTsconfigPath) {
|
|
78
|
+
logger.warn(`Skipping migration for project ${projectName}. Unable to determine 'tsconfig.json' file in workspace config.`);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
// In some applications, developers will have global stylesheets which are not
|
|
82
|
+
// specified in any Angular component. Therefore we glob up all CSS and SCSS files
|
|
83
|
+
// in the project and migrate them if needed.
|
|
84
|
+
// TODO: rework this to collect global stylesheets from the workspace config. COMP-280.
|
|
85
|
+
const additionalStylesheetPaths = (0, find_stylesheets_1.findStylesheetFiles)(tree, project.root);
|
|
86
|
+
if (buildTsconfigPath !== null) {
|
|
87
|
+
runMigrations(project, projectName, buildTsconfigPath, additionalStylesheetPaths, false);
|
|
88
|
+
}
|
|
89
|
+
if (testTsconfigPath !== null) {
|
|
90
|
+
runMigrations(project, projectName, testTsconfigPath, additionalStylesheetPaths, true);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
let runPackageManager = false;
|
|
94
|
+
// Run the global post migration static members for all
|
|
95
|
+
// registered devkit migrations.
|
|
96
|
+
migrations.forEach(m => {
|
|
97
|
+
const actionResult = isDevkitMigration(m) && m.globalPostMigration !== undefined
|
|
98
|
+
? m.globalPostMigration(tree, targetVersion, context)
|
|
99
|
+
: null;
|
|
100
|
+
if (actionResult) {
|
|
101
|
+
runPackageManager = runPackageManager || actionResult.runPackageManager;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
// If a migration requested the package manager to run, we run it as an
|
|
105
|
+
// asynchronous post migration task. We cannot run it synchronously,
|
|
106
|
+
// as file changes from the current migration task are not applied to
|
|
107
|
+
// the file system yet.
|
|
108
|
+
if (runPackageManager) {
|
|
109
|
+
context.addTask(new tasks_1.NodePackageInstallTask({ quiet: false }));
|
|
110
|
+
}
|
|
111
|
+
if (onMigrationCompleteFn) {
|
|
112
|
+
onMigrationCompleteFn(context, targetVersion, hasFailures);
|
|
113
|
+
}
|
|
114
|
+
/** Runs the migrations for the specified workspace project. */
|
|
115
|
+
function runMigrations(project, projectName, tsconfigPath, additionalStylesheetPaths, isTestTarget) {
|
|
116
|
+
const program = update_tool_1.UpdateProject.createProgramFromTsconfig(tsconfigPath, fileSystem);
|
|
117
|
+
const updateContext = {
|
|
118
|
+
isTestTarget,
|
|
119
|
+
projectName,
|
|
120
|
+
project,
|
|
121
|
+
tree,
|
|
122
|
+
};
|
|
123
|
+
const updateProject = new update_tool_1.UpdateProject(updateContext, program, fileSystem, analyzedFiles, context.logger);
|
|
124
|
+
const result = updateProject.migrate(migrations, targetVersion, upgradeData, additionalStylesheetPaths);
|
|
125
|
+
// Commit all recorded edits in the update recorder. We apply the edits after all
|
|
126
|
+
// migrations ran because otherwise offsets in the TypeScript program would be
|
|
127
|
+
// shifted and individual migrations could no longer update the same source file.
|
|
128
|
+
fileSystem.commitEdits();
|
|
129
|
+
hasFailures = hasFailures || result.hasFailures;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
exports.createMigrationSchematicRule = createMigrationSchematicRule;
|
|
134
|
+
/** Whether the given migration type refers to a devkit migration */
|
|
135
|
+
function isDevkitMigration(value) {
|
|
136
|
+
return devkit_migration_1.DevkitMigration.isPrototypeOf(value);
|
|
137
|
+
}
|
|
138
|
+
exports.isDevkitMigration = isDevkitMigration;
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LW1pZ3JhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS9kZXZraXQtbWlncmF0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0FBR0gsNERBQXdFO0FBR3hFLGdEQUE2QztBQUk3Qyw0RUFBb0c7QUFFcEcsNkRBQXNEO0FBQ3RELHlEQUF1RjtBQUN2Rix5REFBdUQ7QUFDdkQsMEVBQTZFO0FBQzdFLHNFQUF5RTtBQUN6RSwwREFBNkQ7QUFDN0QsOEVBQWlGO0FBQ2pGLDhEQUFpRTtBQUNqRSxzRUFBeUU7QUFDekUsMERBQTZEO0FBQzdELDhFQUFnRjtBQUNoRiw4REFBaUU7QUFDakUsNERBQStEO0FBQy9ELGdFQUFtRTtBQUVuRSxnRUFBbUU7QUFFbkUsdURBQXVEO0FBQzFDLFFBQUEsYUFBYSxHQUFpQztJQUN6RCxpREFBMkI7SUFDM0IsNkNBQXlCO0lBQ3pCLGlDQUFtQjtJQUNuQixxREFBNkI7SUFDN0IscUNBQXFCO0lBQ3JCLDZDQUF5QjtJQUN6QixpQ0FBbUI7SUFDbkIsb0RBQTRCO0lBQzVCLHFDQUFxQjtJQUNyQixtQ0FBb0I7SUFDcEIsdUNBQXNCO0lBQ3RCLHVDQUFzQjtDQUN2QixDQUFDO0FBVUY7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLGFBQTRCLEVBQzVCLGVBQTBDLEVBQzFDLFdBQXdCLEVBQ3hCLHFCQUF1QztJQUV2QyxPQUFPLENBQU8sSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxxREFBNEIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUUzRCxJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxD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VSxDQUFDLENBQUM7WUFDbEYsTUFBTSxhQUFhLEdBQWtCO2dCQUNuQyxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsT0FBTztnQkFDUCxJQUFJO2FBQ0wsQ0FBQztZQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksMkJBQWEsQ0FDckMsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQ2xDLFVBQVUsRUFDVixhQUFhLEVBQ2IsV0FBVyxFQUNYLHlCQUF5QixDQUMxQixDQUFDO1lBRUYsaUZBQWlGO1lBQ2pGLDhFQUE4RTtZQUM5RSxpRkFBaUY7WUFDakYsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRXpCLFdBQVcsR0FBRyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQyxDQUFBLENBQUM7QUFDSixDQUFDO0FBbEhELG9FQWtIQztBQUVELG9FQUFvRTtBQUNwRSxTQUFnQixpQkFBaUIsQ0FDL0IsS0FBOEI7SUFFOUIsT0FBTyxrQ0FBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBSkQsOENBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtSdWxlLCBTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge05vZGVQYWNrYWdlSW5zdGFsbFRhc2t9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzL3Rhc2tzJztcbmltcG9ydCB7UHJvamVjdERlZmluaXRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlL3NyYy93b3Jrc3BhY2UnO1xuXG5pbXBvcnQge1VwZGF0ZVByb2plY3R9IGZyb20gJy4uL3VwZGF0ZS10b29sJztcbmltcG9ydCB7V29ya3NwYWNlUGF0aH0gZnJvbSAnLi4vdXBkYXRlLXRvb2wvZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHtNaWdyYXRpb25DdG9yfSBmcm9tICcuLi91cGRhdGUtdG9vbC9taWdyYXRpb24nO1xuaW1wb3J0IHtUYXJnZXRWZXJzaW9ufSBmcm9tICcuLi91cGRhdGUtdG9vbC90YXJnZXQtdmVyc2lvbic7XG5pbXBvcnQge2dldFRhcmdldFRzY29uZmlnUGF0aCwgZ2V0V29ya3NwYWNlQ29uZmlnR3JhY2VmdWxseX0gZnJvbSAnLi4vdXRpbHMvcHJvamVjdC10c2NvbmZpZy1wYXRocyc7XG5cbmltcG9ydCB7RGV2a2l0RmlsZVN5c3RlbX0gZnJvbSAnLi9kZXZraXQtZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHtEZXZraXRDb250ZXh0LCBEZXZraXRNaWdyYXRpb24sIERldmtpdE1pZ3JhdGlvbkN0b3J9IGZyb20gJy4vZGV2a2l0LW1pZ3JhdGlvbic7XG5pbXBvcnQge2ZpbmRTdHlsZXNoZWV0RmlsZXN9IGZyb20gJy4vZmluZC1zdHlsZXNoZWV0cyc7XG5pbXBvcnQge0F0dHJpYnV0ZVNlbGVjdG9yc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2F0dHJpYnV0ZS1zZWxlY3RvcnMnO1xuaW1wb3J0IHtDbGFzc0luaGVyaXRhbmNlTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvY2xhc3MtaW5oZXJpdGFuY2UnO1xuaW1wb3J0IHtDbGFzc05hbWVzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvY2xhc3MtbmFtZXMnO1xuaW1wb3J0IHtDb25zdHJ1Y3RvclNpZ25hdHVyZU1pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2NvbnN0cnVjdG9yLXNpZ25hdHVyZSc7XG5pbXBvcnQge0Nzc1NlbGVjdG9yc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2Nzcy1zZWxlY3RvcnMnO1xuaW1wb3J0IHtFbGVtZW50U2VsZWN0b3JzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvZWxlbWVudC1zZWxlY3RvcnMnO1xuaW1wb3J0IHtJbnB1dE5hbWVzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvaW5wdXQtbmFtZXMnO1xuaW1wb3J0IHtNZXRob2RDYWxsQXJndW1lbnRzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvbWV0aG9kLWNhbGwtYXJndW1lbnRzJztcbmltcG9ydCB7TWlzY1RlbXBsYXRlTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvbWlzYy10ZW1wbGF0ZSc7XG5pbXBvcnQge091dHB1dE5hbWVzTWlncmF0aW9ufSBmcm9tICcuL21pZ3JhdGlvbnMvb3V0cHV0LW5hbWVzJztcbmltcG9ydCB7UHJvcGVydHlOYW1lc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL3Byb3BlcnR5LW5hbWVzJztcbmltcG9ydCB7VXBncmFkZURhdGF9IGZyb20gJy4vdXBncmFkZS1kYXRhJztcbmltcG9ydCB7U3ltYm9sUmVtb3ZhbE1pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL3N5bWJvbC1yZW1vdmFsJztcblxuLyoqIExpc3Qgb2YgbWlncmF0aW9ucyB3aGljaCBydW4gZm9yIHRoZSBDREsgdXBkYXRlLiAqL1xuZXhwb3J0IGNvbnN0IGNka01pZ3JhdGlvbnM6IE1pZ3JhdGlvbkN0b3I8VXBncmFkZURhdGE+W10gPSBbXG4gIEF0dHJpYnV0ZVNlbGVjdG9yc01pZ3JhdGlvbixcbiAgQ2xhc3NJbmhlcml0YW5jZU1pZ3JhdGlvbixcbiAgQ2xhc3NOYW1lc01pZ3JhdGlvbixcbiAgQ29uc3RydWN0b3JTaWduYXR1cmVNaWdyYXRpb24sXG4gIENzc1NlbGVjdG9yc01pZ3JhdGlvbixcbiAgRWxlbWVudFNlbGVjdG9yc01pZ3JhdGlvbixcbiAgSW5wdXROYW1lc01pZ3JhdGlvbixcbiAgTWV0aG9kQ2FsbEFyZ3VtZW50c01pZ3JhdGlvbixcbiAgTWlzY1RlbXBsYXRlTWlncmF0aW9uLFxuICBPdXRwdXROYW1lc01pZ3JhdGlvbixcbiAgUHJvcGVydHlOYW1lc01pZ3JhdGlvbixcbiAgU3ltYm9sUmVtb3ZhbE1pZ3JhdGlvbixcbl07XG5cbmV4cG9ydCB0eXBlIE51bGxhYmxlRGV2a2l0TWlncmF0aW9uID0gTWlncmF0aW9uQ3RvcjxVcGdyYWRlRGF0YSB8IG51bGwsIERldmtpdENvbnRleHQ+O1xuXG50eXBlIFBvc3RNaWdyYXRpb25GbiA9IChcbiAgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCxcbiAgdGFyZ2V0VmVyc2lvbjogVGFyZ2V0VmVyc2lvbixcbiAgaGFzRmFpbHVyZTogYm9vbGVhbixcbikgPT4gdm9pZDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgQW5ndWxhciBzY2hlbWF0aWMgcnVsZSB0aGF0IHJ1bnMgdGhlIHVwZ3JhZGUgZm9yIHRoZVxuICogc3BlY2lmaWVkIHRhcmdldCB2ZXJzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZShcbiAgdGFyZ2V0VmVyc2lvbjogVGFyZ2V0VmVyc2lvbixcbiAgZXh0cmFNaWdyYXRpb25zOiBOdWxsYWJsZURldmtpdE1pZ3JhdGlvbltdLFxuICB1cGdyYWRlRGF0YTogVXBncmFkZURhdGEsXG4gIG9uTWlncmF0aW9uQ29tcGxldGVGbj86IFBvc3RNaWdyYXRpb25Gbixcbik6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKHRyZWU6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb25zdCBsb2dnZXIgPSBjb250ZXh0LmxvZ2dlcjtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSBhd2FpdCBnZXRXb3Jrc3BhY2VDb25maWdHcmFjZWZ1bGx5KHRyZWUpO1xuXG4gICAgaWYgKHdvcmtzcGFjZSA9PT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmVycm9yKCdDb3VsZCBub3QgZmluZCB3b3Jrc3BhY2UgY29uZmlndXJhdGlvbiBmaWxlLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdHJhY2sgb2YgYWxsIHByb2plY3Qgc291cmNlIGZpbGVzIHdoaWNoIGhhdmUgYmVlbiBjaGVja2VkL21pZ3JhdGVkLiBUaGlzIGlzXG4gICAgLy8gbmVjZXNzYXJ5IGJlY2F1c2UgbXVsdGlwbGUgVHlwZVNjcmlwdCBwcm9qZWN0cyBjYW4gY29udGFpbiB0aGUgc2FtZSBzb3VyY2UgZmlsZSBhbmRcbiAgICAvLyB3ZSBkb24ndCB3YW50IHRvIGNoZWNrIHRoZXNlIGFnYWluLCBhcyB0aGlzIHdvdWxkIHJlc3VsdCBpbiBkdXBsaWNhdGVkIGZhaWx1cmUgbWVzc2FnZXMuXG4gICAgY29uc3QgYW5hbHl6ZWRGaWxlcyA9IG5ldyBTZXQ8V29ya3NwYWNlUGF0aD4oKTtcbiAgICBjb25zdCBmaWxlU3lzdGVtID0gbmV3IERldmtpdEZpbGVTeXN0ZW0odHJlZSk7XG4gICAgY29uc3QgcHJvamVjdE5hbWVzID0gd29ya3NwYWNlLnByb2plY3RzLmtleXMoKTtcbiAgICBjb25zdCBtaWdyYXRpb25zID0gWy4uLmNka01pZ3JhdGlvbnMsIC4uLmV4dHJhTWlncmF0aW9uc10gYXMgTnVsbGFibGVEZXZraXRNaWdyYXRpb25bXTtcbiAgICBsZXQgaGFzRmFpbHVyZXMgPSBmYWxzZTtcblxuICAgIGZvciAoY29uc3QgcHJvamVjdE5hbWUgb2YgcHJvamVjdE5hbWVzKSB7XG4gICAgICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChwcm9qZWN0TmFtZSkhO1xuICAgICAgY29uc3QgYnVpbGRUc2NvbmZpZ1BhdGggPSBnZXRUYXJnZXRUc2NvbmZpZ1BhdGgocHJvamVjdCwgJ2J1aWxkJyk7XG4gICAgICBjb25zdCB0ZXN0VHNjb25maWdQYXRoID0gZ2V0VGFyZ2V0VHNjb25maWdQYXRoKHByb2plY3QsICd0ZXN0Jyk7XG5cbiAgICAgIGlmICghYnVpbGRUc2NvbmZpZ1BhdGggJiYgIXRlc3RUc2NvbmZpZ1BhdGgpIHtcbiAgICAgICAgbG9nZ2VyLndhcm4oXG4gICAgICAgICAgYFNraXBwaW5nIG1pZ3JhdGlvbiBmb3IgcHJvamVjdCAke3Byb2plY3ROYW1lfS4gVW5hYmxlIHRvIGRldGVybWluZSAndHNjb25maWcuanNvbicgZmlsZSBpbiB3b3Jrc3BhY2UgY29uZmlnLmAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBJbiBzb21lIGFwcGxpY2F0aW9ucywgZGV2ZWxvcGVycyB3aWxsIGhhdmUgZ2xvYmFsIHN0eWxlc2hlZXRzIHdoaWNoIGFyZSBub3RcbiAgICAgIC8vIHNwZWNpZmllZCBpbiBhbnkgQW5ndWxhciBjb21wb25lbnQuIFRoZXJlZm9yZSB3ZSBnbG9iIHVwIGFsbCBDU1MgYW5kIFNDU1MgZmlsZXNcbiAgICAgIC8vIGluIHRoZSBwcm9qZWN0IGFuZCBtaWdyYXRlIHRoZW0gaWYgbmVlZGVkLlxuICAgICAgLy8gVE9ETzogcmV3b3JrIHRoaXMgdG8gY29sbGVjdCBnbG9iYWwgc3R5bGVzaGVldHMgZnJvbSB0aGUgd29ya3NwYWNlIGNvbmZpZy4gQ09NUC0yODAuXG4gICAgICBjb25zdCBhZGRpdGlvbmFsU3R5bGVzaGVldFBhdGhzID0gZmluZFN0eWxlc2hlZXRGaWxlcyh0cmVlLCBwcm9qZWN0LnJvb3QpO1xuXG4gICAgICBpZiAoYnVpbGRUc2NvbmZpZ1BhdGggIT09IG51bGwpIHtcbiAgICAgICAgcnVuTWlncmF0aW9ucyhwcm9qZWN0LCBwcm9qZWN0TmFtZSwgYnVpbGRUc2NvbmZpZ1BhdGgsIGFkZGl0aW9uYWxTdHlsZXNoZWV0UGF0aHMsIGZhbHNlKTtcbiAgICAgIH1cbiAgICAgIGlmICh0ZXN0VHNjb25maWdQYXRoICE9PSBudWxsKSB7XG4gICAgICAgIHJ1bk1pZ3JhdGlvbnMocHJvamVjdCwgcHJvamVjdE5hbWUsIHRlc3RUc2NvbmZpZ1BhdGgsIGFkZGl0aW9uYWxTdHlsZXNoZWV0UGF0aHMsIHRydWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBydW5QYWNrYWdlTWFuYWdlciA9IGZhbHNlO1xuICAgIC8vIFJ1biB0aGUgZ2xvYmFsIHBvc3QgbWlncmF0aW9uIHN0YXRpYyBtZW1iZXJzIGZvciBhbGxcbiAgICAvLyByZWdpc3RlcmVkIGRldmtpdCBtaWdyYXRpb25zLlxuICAgIG1pZ3JhdGlvbnMuZm9yRWFjaChtID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvblJlc3VsdCA9XG4gICAgICAgIGlzRGV2a2l0TWlncmF0aW9uKG0pICYmIG0uZ2xvYmFsUG9zdE1pZ3JhdGlvbiAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBtLmdsb2JhbFBvc3RNaWdyYXRpb24odHJlZSwgdGFyZ2V0VmVyc2lvbiwgY29udGV4dClcbiAgICAgICAgICA6IG51bGw7XG4gICAgICBpZiAoYWN0aW9uUmVzdWx0KSB7XG4gICAgICAgIHJ1blBhY2thZ2VNYW5hZ2VyID0gcnVuUGFja2FnZU1hbmFnZXIgfHwgYWN0aW9uUmVzdWx0LnJ1blBhY2thZ2VNYW5hZ2VyO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gSWYgYSBtaWdyYXRpb24gcmVxdWVzdGVkIHRoZSBwYWNrYWdlIG1hbmFnZXIgdG8gcnVuLCB3ZSBydW4gaXQgYXMgYW5cbiAgICAvLyBhc3luY2hyb25vdXMgcG9zdCBtaWdyYXRpb24gdGFzay4gV2UgY2Fubm90IHJ1biBpdCBzeW5jaHJvbm91c2x5LFxuICAgIC8vIGFzIGZpbGUgY2hhbmdlcyBmcm9tIHRoZSBjdXJyZW50IG1pZ3JhdGlvbiB0YXNrIGFyZSBub3QgYXBwbGllZCB0b1xuICAgIC8vIHRoZSBmaWxlIHN5c3RlbSB5ZXQuXG4gICAgaWYgKHJ1blBhY2thZ2VNYW5hZ2VyKSB7XG4gICAgICBjb250ZXh0LmFkZFRhc2sobmV3IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2soe3F1aWV0OiBmYWxzZX0pKTtcbiAgICB9XG5cbiAgICBpZiAob25NaWdyYXRpb25Db21wbGV0ZUZuKSB7XG4gICAgICBvbk1pZ3JhdGlvbkNvbXBsZXRlRm4oY29udGV4dCwgdGFyZ2V0VmVyc2lvbiwgaGFzRmFpbHVyZXMpO1xuICAgIH1cblxuICAgIC8qKiBSdW5zIHRoZSBtaWdyYXRpb25zIGZvciB0aGUgc3BlY2lmaWVkIHdvcmtzcGFjZSBwcm9qZWN0LiAqL1xuICAgIGZ1bmN0aW9uIHJ1bk1pZ3JhdGlvbnMoXG4gICAgICBwcm9qZWN0OiBQcm9qZWN0RGVmaW5pdGlvbixcbiAgICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICAgICB0c2NvbmZpZ1BhdGg6IFdvcmtzcGFjZVBhdGgsXG4gICAgICBhZGRpdGlvbmFsU3R5bGVzaGVldFBhdGhzOiBzdHJpbmdbXSxcbiAgICAgIGlzVGVzdFRhcmdldDogYm9vbGVhbixcbiAgICApIHtcbiAgICAgIGNvbnN0IHByb2dyYW0gPSBVcGRhdGVQcm9qZWN0LmNyZWF0ZVByb2dyYW1Gcm9tVHNjb25maWcodHNjb25maWdQYXRoLCBmaWxlU3lzdGVtKTtcbiAgICAgIGNvbnN0IHVwZGF0ZUNvbnRleHQ6IERldmtpdENvbnRleHQgPSB7XG4gICAgICAgIGlzVGVzdFRhcmdldCxcbiAgICAgICAgcHJvamVjdE5hbWUsXG4gICAgICAgIHByb2plY3QsXG4gICAgICAgIHRyZWUsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCB1cGRhdGVQcm9qZWN0ID0gbmV3IFVwZGF0ZVByb2plY3QoXG4gICAgICAgIHVwZGF0ZUNvbnRleHQsXG4gICAgICAgIHByb2dyYW0sXG4gICAgICAgIGZpbGVTeXN0ZW0sXG4gICAgICAgIGFuYWx5emVkRmlsZXMsXG4gICAgICAgIGNvbnRleHQubG9nZ2VyLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gdXBkYXRlUHJvamVjdC5taWdyYXRlKFxuICAgICAgICBtaWdyYXRpb25zLFxuICAgICAgICB0YXJnZXRWZXJzaW9uLFxuICAgICAgICB1cGdyYWRlRGF0YSxcbiAgICAgICAgYWRkaXRpb25hbFN0eWxlc2hlZXRQYXRocyxcbiAgICAgICk7XG5cbiAgICAgIC8vIENvbW1pdCBhbGwgcmVjb3JkZWQgZWRpdHMgaW4gdGhlIHVwZGF0ZSByZWNvcmRlci4gV2UgYXBwbHkgdGhlIGVkaXRzIGFmdGVyIGFsbFxuICAgICAgLy8gbWlncmF0aW9ucyByYW4gYmVjYXVzZSBvdGhlcndpc2Ugb2Zmc2V0cyBpbiB0aGUgVHlwZVNjcmlwdCBwcm9ncmFtIHdvdWxkIGJlXG4gICAgICAvLyBzaGlmdGVkIGFuZCBpbmRpdmlkdWFsIG1pZ3JhdGlvbnMgY291bGQgbm8gbG9uZ2VyIHVwZGF0ZSB0aGUgc2FtZSBzb3VyY2UgZmlsZS5cbiAgICAgIGZpbGVTeXN0ZW0uY29tbWl0RWRpdHMoKTtcblxuICAgICAgaGFzRmFpbHVyZXMgPSBoYXNGYWlsdXJlcyB8fCByZXN1bHQuaGFzRmFpbHVyZXM7XG4gICAgfVxuICB9O1xufVxuXG4vKiogV2hldGhlciB0aGUgZ2l2ZW4gbWlncmF0aW9uIHR5cGUgcmVmZXJzIHRvIGEgZGV2a2l0IG1pZ3JhdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGV2a2l0TWlncmF0aW9uKFxuICB2YWx1ZTogTWlncmF0aW9uQ3RvcjxhbnksIGFueT4sXG4pOiB2YWx1ZSBpcyBEZXZraXRNaWdyYXRpb25DdG9yPGFueT4ge1xuICByZXR1cm4gRGV2a2l0TWlncmF0aW9uLmlzUHJvdG90eXBlT2YodmFsdWUpO1xufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { SchematicContext, Tree } from '@angular-devkit/schematics';
|
|
9
|
+
import { ProjectDefinition } from '@angular-devkit/core/src/workspace';
|
|
10
|
+
import { Constructor, Migration, PostMigrationAction } from '../update-tool/migration';
|
|
11
|
+
import { TargetVersion } from '../update-tool/target-version';
|
|
12
|
+
export declare type DevkitContext = {
|
|
13
|
+
/** Devkit tree for the current migrations. Can be used to insert/remove files. */
|
|
14
|
+
tree: Tree;
|
|
15
|
+
/** Name of the project the migrations run against. */
|
|
16
|
+
projectName: string;
|
|
17
|
+
/** Workspace project the migrations run against. */
|
|
18
|
+
project: ProjectDefinition;
|
|
19
|
+
/** Whether the migrations run for a test target. */
|
|
20
|
+
isTestTarget: boolean;
|
|
21
|
+
};
|
|
22
|
+
export declare abstract class DevkitMigration<Data> extends Migration<Data, DevkitContext> {
|
|
23
|
+
/** Prints an informative message with context on the current target. */
|
|
24
|
+
protected printInfo(text: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Optional static method that will be called once the migration of all project
|
|
27
|
+
* targets has been performed. This method can be used to make changes respecting the
|
|
28
|
+
* migration result of all individual targets. e.g. removing HammerJS if it
|
|
29
|
+
* is not needed in any project target.
|
|
30
|
+
*/
|
|
31
|
+
static globalPostMigration?(tree: Tree, targetVersion: TargetVersion, context: SchematicContext): PostMigrationAction;
|
|
32
|
+
}
|
|
33
|
+
export declare type DevkitMigrationCtor<Data> = Constructor<DevkitMigration<Data>> & {
|
|
34
|
+
[m in keyof typeof DevkitMigration]: typeof DevkitMigration[m];
|
|
35
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DevkitMigration = void 0;
|
|
11
|
+
const migration_1 = require("../update-tool/migration");
|
|
12
|
+
class DevkitMigration extends migration_1.Migration {
|
|
13
|
+
/** Prints an informative message with context on the current target. */
|
|
14
|
+
printInfo(text) {
|
|
15
|
+
const targetName = this.context.isTestTarget ? 'test' : 'build';
|
|
16
|
+
this.logger.info(`- ${this.context.projectName}@${targetName}: ${text}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.DevkitMigration = DevkitMigration;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LW1pZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvZGV2a2l0LW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFJSCx3REFBcUY7QUFjckYsTUFBc0IsZUFBc0IsU0FBUSxxQkFBOEI7SUFDaEYsd0VBQXdFO0lBQzlELFNBQVMsQ0FBQyxJQUFZO1FBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FhRjtBQWxCRCwwQ0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1Byb2plY3REZWZpbml0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZS9zcmMvd29ya3NwYWNlJztcbmltcG9ydCB7Q29uc3RydWN0b3IsIE1pZ3JhdGlvbiwgUG9zdE1pZ3JhdGlvbkFjdGlvbn0gZnJvbSAnLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcbmltcG9ydCB7VGFyZ2V0VmVyc2lvbn0gZnJvbSAnLi4vdXBkYXRlLXRvb2wvdGFyZ2V0LXZlcnNpb24nO1xuXG5leHBvcnQgdHlwZSBEZXZraXRDb250ZXh0ID0ge1xuICAvKiogRGV2a2l0IHRyZWUgZm9yIHRoZSBjdXJyZW50IG1pZ3JhdGlvbnMuIENhbiBiZSB1c2VkIHRvIGluc2VydC9yZW1vdmUgZmlsZXMuICovXG4gIHRyZWU6IFRyZWU7XG4gIC8qKiBOYW1lIG9mIHRoZSBwcm9qZWN0IHRoZSBtaWdyYXRpb25zIHJ1biBhZ2FpbnN0LiAqL1xuICBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICAvKiogV29ya3NwYWNlIHByb2plY3QgdGhlIG1pZ3JhdGlvbnMgcnVuIGFnYWluc3QuICovXG4gIHByb2plY3Q6IFByb2plY3REZWZpbml0aW9uO1xuICAvKiogV2hldGhlciB0aGUgbWlncmF0aW9ucyBydW4gZm9yIGEgdGVzdCB0YXJnZXQuICovXG4gIGlzVGVzdFRhcmdldDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXZraXRNaWdyYXRpb248RGF0YT4gZXh0ZW5kcyBNaWdyYXRpb248RGF0YSwgRGV2a2l0Q29udGV4dD4ge1xuICAvKiogUHJpbnRzIGFuIGluZm9ybWF0aXZlIG1lc3NhZ2Ugd2l0aCBjb250ZXh0IG9uIHRoZSBjdXJyZW50IHRhcmdldC4gKi9cbiAgcHJvdGVjdGVkIHByaW50SW5mbyh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCB0YXJnZXROYW1lID0gdGhpcy5jb250ZXh0LmlzVGVzdFRhcmdldCA/ICd0ZXN0JyA6ICdidWlsZCc7XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhgLSAke3RoaXMuY29udGV4dC5wcm9qZWN0TmFtZX1AJHt0YXJnZXROYW1lfTogJHt0ZXh0fWApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRpYyBtZXRob2QgdGhhdCB3aWxsIGJlIGNhbGxlZCBvbmNlIHRoZSBtaWdyYXRpb24gb2YgYWxsIHByb2plY3RcbiAgICogdGFyZ2V0cyBoYXMgYmVlbiBwZXJmb3JtZWQuIFRoaXMgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIG1ha2UgY2hhbmdlcyByZXNwZWN0aW5nIHRoZVxuICAgKiBtaWdyYXRpb24gcmVzdWx0IG9mIGFsbCBpbmRpdmlkdWFsIHRhcmdldHMuIGUuZy4gcmVtb3ZpbmcgSGFtbWVySlMgaWYgaXRcbiAgICogaXMgbm90IG5lZWRlZCBpbiBhbnkgcHJvamVjdCB0YXJnZXQuXG4gICAqL1xuICBzdGF0aWMgZ2xvYmFsUG9zdE1pZ3JhdGlvbj8oXG4gICAgdHJlZTogVHJlZSxcbiAgICB0YXJnZXRWZXJzaW9uOiBUYXJnZXRWZXJzaW9uLFxuICAgIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQsXG4gICk6IFBvc3RNaWdyYXRpb25BY3Rpb247XG59XG5cbmV4cG9ydCB0eXBlIERldmtpdE1pZ3JhdGlvbkN0b3I8RGF0YT4gPSBDb25zdHJ1Y3RvcjxEZXZraXRNaWdyYXRpb248RGF0YT4+ICYge1xuICBbbSBpbiBrZXlvZiB0eXBlb2YgRGV2a2l0TWlncmF0aW9uXTogdHlwZW9mIERldmtpdE1pZ3JhdGlvblttXTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DevkitMigration = void 0;
|
|
11
|
+
const migration_1 = require("../update-tool/migration");
|
|
12
|
+
class DevkitMigration extends migration_1.Migration {
|
|
13
|
+
/** Prints an informative message with context on the current target. */
|
|
14
|
+
printInfo(text) {
|
|
15
|
+
const targetName = this.context.isTestTarget ? 'test' : 'build';
|
|
16
|
+
this.logger.info(`- ${this.context.projectName}@${targetName}: ${text}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.DevkitMigration = DevkitMigration;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LW1pZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvZGV2a2l0LW1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFJSCx3REFBcUY7QUFjckYsTUFBc0IsZUFBc0IsU0FBUSxxQkFBOEI7SUFDaEYsd0VBQXdFO0lBQzlELFNBQVMsQ0FBQyxJQUFZO1FBQzlCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FhRjtBQWxCRCwwQ0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtTY2hlbWF0aWNDb250ZXh0LCBUcmVlfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1Byb2plY3REZWZpbml0aW9ufSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZS9zcmMvd29ya3NwYWNlJztcbmltcG9ydCB7Q29uc3RydWN0b3IsIE1pZ3JhdGlvbiwgUG9zdE1pZ3JhdGlvbkFjdGlvbn0gZnJvbSAnLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcbmltcG9ydCB7VGFyZ2V0VmVyc2lvbn0gZnJvbSAnLi4vdXBkYXRlLXRvb2wvdGFyZ2V0LXZlcnNpb24nO1xuXG5leHBvcnQgdHlwZSBEZXZraXRDb250ZXh0ID0ge1xuICAvKiogRGV2a2l0IHRyZWUgZm9yIHRoZSBjdXJyZW50IG1pZ3JhdGlvbnMuIENhbiBiZSB1c2VkIHRvIGluc2VydC9yZW1vdmUgZmlsZXMuICovXG4gIHRyZWU6IFRyZWU7XG4gIC8qKiBOYW1lIG9mIHRoZSBwcm9qZWN0IHRoZSBtaWdyYXRpb25zIHJ1biBhZ2FpbnN0LiAqL1xuICBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICAvKiogV29ya3NwYWNlIHByb2plY3QgdGhlIG1pZ3JhdGlvbnMgcnVuIGFnYWluc3QuICovXG4gIHByb2plY3Q6IFByb2plY3REZWZpbml0aW9uO1xuICAvKiogV2hldGhlciB0aGUgbWlncmF0aW9ucyBydW4gZm9yIGEgdGVzdCB0YXJnZXQuICovXG4gIGlzVGVzdFRhcmdldDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXZraXRNaWdyYXRpb248RGF0YT4gZXh0ZW5kcyBNaWdyYXRpb248RGF0YSwgRGV2a2l0Q29udGV4dD4ge1xuICAvKiogUHJpbnRzIGFuIGluZm9ybWF0aXZlIG1lc3NhZ2Ugd2l0aCBjb250ZXh0IG9uIHRoZSBjdXJyZW50IHRhcmdldC4gKi9cbiAgcHJvdGVjdGVkIHByaW50SW5mbyh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCB0YXJnZXROYW1lID0gdGhpcy5jb250ZXh0LmlzVGVzdFRhcmdldCA/ICd0ZXN0JyA6ICdidWlsZCc7XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhgLSAke3RoaXMuY29udGV4dC5wcm9qZWN0TmFtZX1AJHt0YXJnZXROYW1lfTogJHt0ZXh0fWApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN0YXRpYyBtZXRob2QgdGhhdCB3aWxsIGJlIGNhbGxlZCBvbmNlIHRoZSBtaWdyYXRpb24gb2YgYWxsIHByb2plY3RcbiAgICogdGFyZ2V0cyBoYXMgYmVlbiBwZXJmb3JtZWQuIFRoaXMgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIG1ha2UgY2hhbmdlcyByZXNwZWN0aW5nIHRoZVxuICAgKiBtaWdyYXRpb24gcmVzdWx0IG9mIGFsbCBpbmRpdmlkdWFsIHRhcmdldHMuIGUuZy4gcmVtb3ZpbmcgSGFtbWVySlMgaWYgaXRcbiAgICogaXMgbm90IG5lZWRlZCBpbiBhbnkgcHJvamVjdCB0YXJnZXQuXG4gICAqL1xuICBzdGF0aWMgZ2xvYmFsUG9zdE1pZ3JhdGlvbj8oXG4gICAgdHJlZTogVHJlZSxcbiAgICB0YXJnZXRWZXJzaW9uOiBUYXJnZXRWZXJzaW9uLFxuICAgIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQsXG4gICk6IFBvc3RNaWdyYXRpb25BY3Rpb247XG59XG5cbmV4cG9ydCB0eXBlIERldmtpdE1pZ3JhdGlvbkN0b3I8RGF0YT4gPSBDb25zdHJ1Y3RvcjxEZXZraXRNaWdyYXRpb248RGF0YT4+ICYge1xuICBbbSBpbiBrZXlvZiB0eXBlb2YgRGV2a2l0TWlncmF0aW9uXTogdHlwZW9mIERldmtpdE1pZ3JhdGlvblttXTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
9
|
+
/**
|
|
10
|
+
* Finds stylesheets in the given directory from within the specified tree.
|
|
11
|
+
* @param tree Devkit tree where stylesheet files can be found in.
|
|
12
|
+
* @param startDirectory Optional start directory where stylesheets should be searched in.
|
|
13
|
+
* This can be useful if only stylesheets within a given folder are relevant (to avoid
|
|
14
|
+
* unnecessary iterations).
|
|
15
|
+
*/
|
|
16
|
+
export declare function findStylesheetFiles(tree: Tree, startDirectory?: string): string[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.findStylesheetFiles = void 0;
|
|
11
|
+
const core_1 = require("@angular-devkit/core");
|
|
12
|
+
/** Regular expression that matches stylesheet paths */
|
|
13
|
+
const STYLESHEET_REGEX = /.*\.(css|scss)/;
|
|
14
|
+
/**
|
|
15
|
+
* Finds stylesheets in the given directory from within the specified tree.
|
|
16
|
+
* @param tree Devkit tree where stylesheet files can be found in.
|
|
17
|
+
* @param startDirectory Optional start directory where stylesheets should be searched in.
|
|
18
|
+
* This can be useful if only stylesheets within a given folder are relevant (to avoid
|
|
19
|
+
* unnecessary iterations).
|
|
20
|
+
*/
|
|
21
|
+
function findStylesheetFiles(tree, startDirectory = '/') {
|
|
22
|
+
const result = [];
|
|
23
|
+
const visitDir = (dirPath) => {
|
|
24
|
+
const { subfiles, subdirs } = tree.getDir(dirPath);
|
|
25
|
+
subfiles.forEach(fileName => {
|
|
26
|
+
if (STYLESHEET_REGEX.test(fileName)) {
|
|
27
|
+
result.push((0, core_1.join)(dirPath, fileName));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
// Visit directories within the current directory to find other stylesheets.
|
|
31
|
+
subdirs.forEach(fragment => {
|
|
32
|
+
// Do not visit directories or files inside node modules or `dist/` folders.
|
|
33
|
+
if (fragment !== 'node_modules' && fragment !== 'dist') {
|
|
34
|
+
visitDir((0, core_1.join)(dirPath, fragment));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
visitDir(startDirectory);
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
exports.findStylesheetFiles = findStylesheetFiles;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1zdHlsZXNoZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvZmluZC1zdHlsZXNoZWV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwrQ0FBZ0Q7QUFHaEQsdURBQXVEO0FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFFMUM7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsSUFBVSxFQUFFLGlCQUF5QixHQUFHO0lBQzFFLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQWEsRUFBRSxFQUFFO1FBQ2pDLE1BQU0sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRCxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUEsV0FBSSxFQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCw0RUFBNEU7UUFDNUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6Qiw0RUFBNEU7WUFDNUUsSUFBSSxRQUFRLEtBQUssY0FBYyxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUU7Z0JBQ3RELFFBQVEsQ0FBQyxJQUFBLFdBQUksRUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBQ0YsUUFBUSxDQUFDLGNBQXNCLENBQUMsQ0FBQztJQUNqQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBckJELGtEQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2pvaW4sIFBhdGh9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7VHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG4vKiogUmVndWxhciBleHByZXNzaW9uIHRoYXQgbWF0Y2hlcyBzdHlsZXNoZWV0IHBhdGhzICovXG5jb25zdCBTVFlMRVNIRUVUX1JFR0VYID0gLy4qXFwuKGNzc3xzY3NzKS87XG5cbi8qKlxuICogRmluZHMgc3R5bGVzaGVldHMgaW4gdGhlIGdpdmVuIGRpcmVjdG9yeSBmcm9tIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRyZWUuXG4gKiBAcGFyYW0gdHJlZSBEZXZraXQgdHJlZSB3aGVyZSBzdHlsZXNoZWV0IGZpbGVzIGNhbiBiZSBmb3VuZCBpbi5cbiAqIEBwYXJhbSBzdGFydERpcmVjdG9yeSBPcHRpb25hbCBzdGFydCBkaXJlY3Rvcnkgd2hlcmUgc3R5bGVzaGVldHMgc2hvdWxkIGJlIHNlYXJjaGVkIGluLlxuICogICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgb25seSBzdHlsZXNoZWV0cyB3aXRoaW4gYSBnaXZlbiBmb2xkZXIgYXJlIHJlbGV2YW50ICh0byBhdm9pZFxuICogICB1bm5lY2Vzc2FyeSBpdGVyYXRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRTdHlsZXNoZWV0RmlsZXModHJlZTogVHJlZSwgc3RhcnREaXJlY3Rvcnk6IHN0cmluZyA9ICcvJyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCB2aXNpdERpciA9IChkaXJQYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3Qge3N1YmZpbGVzLCBzdWJkaXJzfSA9IHRyZWUuZ2V0RGlyKGRpclBhdGgpO1xuXG4gICAgc3ViZmlsZXMuZm9yRWFjaChmaWxlTmFtZSA9PiB7XG4gICAgICBpZiAoU1RZTEVTSEVFVF9SRUdFWC50ZXN0KGZpbGVOYW1lKSkge1xuICAgICAgICByZXN1bHQucHVzaChqb2luKGRpclBhdGgsIGZpbGVOYW1lKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBWaXNpdCBkaXJlY3RvcmllcyB3aXRoaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIGZpbmQgb3RoZXIgc3R5bGVzaGVldHMuXG4gICAgc3ViZGlycy5mb3JFYWNoKGZyYWdtZW50ID0+IHtcbiAgICAgIC8vIERvIG5vdCB2aXNpdCBkaXJlY3RvcmllcyBvciBmaWxlcyBpbnNpZGUgbm9kZSBtb2R1bGVzIG9yIGBkaXN0L2AgZm9sZGVycy5cbiAgICAgIGlmIChmcmFnbWVudCAhPT0gJ25vZGVfbW9kdWxlcycgJiYgZnJhZ21lbnQgIT09ICdkaXN0Jykge1xuICAgICAgICB2aXNpdERpcihqb2luKGRpclBhdGgsIGZyYWdtZW50KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHZpc2l0RGlyKHN0YXJ0RGlyZWN0b3J5IGFzIFBhdGgpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.findStylesheetFiles = void 0;
|
|
11
|
+
const core_1 = require("@angular-devkit/core");
|
|
12
|
+
/** Regular expression that matches stylesheet paths */
|
|
13
|
+
const STYLESHEET_REGEX = /.*\.(css|scss)/;
|
|
14
|
+
/**
|
|
15
|
+
* Finds stylesheets in the given directory from within the specified tree.
|
|
16
|
+
* @param tree Devkit tree where stylesheet files can be found in.
|
|
17
|
+
* @param startDirectory Optional start directory where stylesheets should be searched in.
|
|
18
|
+
* This can be useful if only stylesheets within a given folder are relevant (to avoid
|
|
19
|
+
* unnecessary iterations).
|
|
20
|
+
*/
|
|
21
|
+
function findStylesheetFiles(tree, startDirectory = '/') {
|
|
22
|
+
const result = [];
|
|
23
|
+
const visitDir = (dirPath) => {
|
|
24
|
+
const { subfiles, subdirs } = tree.getDir(dirPath);
|
|
25
|
+
subfiles.forEach(fileName => {
|
|
26
|
+
if (STYLESHEET_REGEX.test(fileName)) {
|
|
27
|
+
result.push((0, core_1.join)(dirPath, fileName));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
// Visit directories within the current directory to find other stylesheets.
|
|
31
|
+
subdirs.forEach(fragment => {
|
|
32
|
+
// Do not visit directories or files inside node modules or `dist/` folders.
|
|
33
|
+
if (fragment !== 'node_modules' && fragment !== 'dist') {
|
|
34
|
+
visitDir((0, core_1.join)(dirPath, fragment));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
visitDir(startDirectory);
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
exports.findStylesheetFiles = findStylesheetFiles;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1zdHlsZXNoZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvZmluZC1zdHlsZXNoZWV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwrQ0FBZ0Q7QUFHaEQsdURBQXVEO0FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFFMUM7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsSUFBVSxFQUFFLGlCQUF5QixHQUFHO0lBQzFFLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQWEsRUFBRSxFQUFFO1FBQ2pDLE1BQU0sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRCxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUEsV0FBSSxFQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCw0RUFBNEU7UUFDNUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6Qiw0RUFBNEU7WUFDNUUsSUFBSSxRQUFRLEtBQUssY0FBYyxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUU7Z0JBQ3RELFFBQVEsQ0FBQyxJQUFBLFdBQUksRUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBQ0YsUUFBUSxDQUFDLGNBQXNCLENBQUMsQ0FBQztJQUNqQyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBckJELGtEQXFCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2pvaW4sIFBhdGh9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7VHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG4vKiogUmVndWxhciBleHByZXNzaW9uIHRoYXQgbWF0Y2hlcyBzdHlsZXNoZWV0IHBhdGhzICovXG5jb25zdCBTVFlMRVNIRUVUX1JFR0VYID0gLy4qXFwuKGNzc3xzY3NzKS87XG5cbi8qKlxuICogRmluZHMgc3R5bGVzaGVldHMgaW4gdGhlIGdpdmVuIGRpcmVjdG9yeSBmcm9tIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRyZWUuXG4gKiBAcGFyYW0gdHJlZSBEZXZraXQgdHJlZSB3aGVyZSBzdHlsZXNoZWV0IGZpbGVzIGNhbiBiZSBmb3VuZCBpbi5cbiAqIEBwYXJhbSBzdGFydERpcmVjdG9yeSBPcHRpb25hbCBzdGFydCBkaXJlY3Rvcnkgd2hlcmUgc3R5bGVzaGVldHMgc2hvdWxkIGJlIHNlYXJjaGVkIGluLlxuICogICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgb25seSBzdHlsZXNoZWV0cyB3aXRoaW4gYSBnaXZlbiBmb2xkZXIgYXJlIHJlbGV2YW50ICh0byBhdm9pZFxuICogICB1bm5lY2Vzc2FyeSBpdGVyYXRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRTdHlsZXNoZWV0RmlsZXModHJlZTogVHJlZSwgc3RhcnREaXJlY3Rvcnk6IHN0cmluZyA9ICcvJyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCB2aXNpdERpciA9IChkaXJQYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3Qge3N1YmZpbGVzLCBzdWJkaXJzfSA9IHRyZWUuZ2V0RGlyKGRpclBhdGgpO1xuXG4gICAgc3ViZmlsZXMuZm9yRWFjaChmaWxlTmFtZSA9PiB7XG4gICAgICBpZiAoU1RZTEVTSEVFVF9SRUdFWC50ZXN0KGZpbGVOYW1lKSkge1xuICAgICAgICByZXN1bHQucHVzaChqb2luKGRpclBhdGgsIGZpbGVOYW1lKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBWaXNpdCBkaXJlY3RvcmllcyB3aXRoaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIGZpbmQgb3RoZXIgc3R5bGVzaGVldHMuXG4gICAgc3ViZGlycy5mb3JFYWNoKGZyYWdtZW50ID0+IHtcbiAgICAgIC8vIERvIG5vdCB2aXNpdCBkaXJlY3RvcmllcyBvciBmaWxlcyBpbnNpZGUgbm9kZSBtb2R1bGVzIG9yIGBkaXN0L2AgZm9sZGVycy5cbiAgICAgIGlmIChmcmFnbWVudCAhPT0gJ25vZGVfbW9kdWxlcycgJiYgZnJhZ21lbnQgIT09ICdkaXN0Jykge1xuICAgICAgICB2aXNpdERpcihqb2luKGRpclBhdGgsIGZyYWdtZW50KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHZpc2l0RGlyKHN0YXJ0RGlyZWN0b3J5IGFzIFBhdGgpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
/** Finds the specified Angular @Input in the given elements with tag name. */
|
|
9
|
+
export declare function findInputsOnElementWithTag(html: string, inputName: string, tagNames: string[]): number[];
|
|
10
|
+
/** Finds the specified Angular @Input in elements that have one of the specified attributes. */
|
|
11
|
+
export declare function findInputsOnElementWithAttr(html: string, inputName: string, attrs: string[]): number[];
|
|
12
|
+
/** Finds the specified Angular @Output in the given elements with tag name. */
|
|
13
|
+
export declare function findOutputsOnElementWithTag(html: string, outputName: string, tagNames: string[]): number[];
|
|
14
|
+
/** Finds the specified Angular @Output in elements that have one of the specified attributes. */
|
|
15
|
+
export declare function findOutputsOnElementWithAttr(html: string, outputName: string, attrs: string[]): number[];
|