"use strict"; /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ Object.defineProperty(exports, "__esModule", { value: true }); const update_tool_1 = require("../../update-tool"); const project_tsconfig_paths_1 = require("../../utils/project-tsconfig-paths"); const attribute_selectors_rule_1 = require("./attribute-selectors-rule"); const class_inheritance_rule_1 = require("./class-inheritance-rule"); const class_names_rule_1 = require("./class-names-rule"); const constructor_signature_rule_1 = require("./constructor-signature-rule"); const css_selectors_rule_1 = require("./css-selectors-rule"); const element_selectors_rule_1 = require("./element-selectors-rule"); const input_names_rule_1 = require("./input-names-rule"); const method_call_arguments_rule_1 = require("./method-call-arguments-rule"); const misc_template_rule_1 = require("./misc-template-rule"); const output_names_rule_1 = require("./output-names-rule"); const property_names_rule_1 = require("./property-names-rule"); /** List of migration rules which run for the CDK update. */ exports.cdkMigrationRules = [ attribute_selectors_rule_1.AttributeSelectorsRule, class_inheritance_rule_1.ClassInheritanceRule, class_names_rule_1.ClassNamesRule, constructor_signature_rule_1.ConstructorSignatureRule, css_selectors_rule_1.CssSelectorsRule, element_selectors_rule_1.ElementSelectorsRule, input_names_rule_1.InputNamesRule, method_call_arguments_rule_1.MethodCallArgumentsRule, misc_template_rule_1.MiscTemplateRule, output_names_rule_1.OutputNamesRule, property_names_rule_1.PropertyNamesRule, ]; /** * Creates a Angular schematic rule that runs the upgrade for the * specified target version. */ function createUpgradeRule(targetVersion, extraRules, upgradeData, onMigrationCompleteFn) { return (tree, context) => { const logger = context.logger; const { buildPaths, testPaths } = project_tsconfig_paths_1.getProjectTsConfigPaths(tree); if (!buildPaths.length && !testPaths.length) { // We don't want to throw here because it would mean that other migrations in the // pipeline don't run either. Rather print an error message. logger.error('Could not find any TypeScript project in the CLI workspace configuration.'); return; } // Keep track of all project source files which have been checked/migrated. This is // necessary because multiple TypeScript projects can contain the same source file and // we don't want to check these again, as this would result in duplicated failure messages. const analyzedFiles = new Set(); let hasRuleFailures = false; for (const tsconfigPath of [...buildPaths, ...testPaths]) { hasRuleFailures = hasRuleFailures || update_tool_1.runMigrationRules(tree, context.logger, tsconfigPath, targetVersion, [...exports.cdkMigrationRules, ...extraRules], upgradeData, analyzedFiles); } if (onMigrationCompleteFn) { onMigrationCompleteFn(targetVersion, hasRuleFailures); } }; } exports.createUpgradeRule = createUpgradeRule; //# sourceMappingURL=index.js.map