index.js 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. const update_tool_1 = require("../../update-tool");
  11. const project_tsconfig_paths_1 = require("../../utils/project-tsconfig-paths");
  12. const attribute_selectors_rule_1 = require("./attribute-selectors-rule");
  13. const class_inheritance_rule_1 = require("./class-inheritance-rule");
  14. const class_names_rule_1 = require("./class-names-rule");
  15. const constructor_signature_rule_1 = require("./constructor-signature-rule");
  16. const css_selectors_rule_1 = require("./css-selectors-rule");
  17. const element_selectors_rule_1 = require("./element-selectors-rule");
  18. const input_names_rule_1 = require("./input-names-rule");
  19. const method_call_arguments_rule_1 = require("./method-call-arguments-rule");
  20. const misc_template_rule_1 = require("./misc-template-rule");
  21. const output_names_rule_1 = require("./output-names-rule");
  22. const property_names_rule_1 = require("./property-names-rule");
  23. /** List of migration rules which run for the CDK update. */
  24. exports.cdkMigrationRules = [
  25. attribute_selectors_rule_1.AttributeSelectorsRule,
  26. class_inheritance_rule_1.ClassInheritanceRule,
  27. class_names_rule_1.ClassNamesRule,
  28. constructor_signature_rule_1.ConstructorSignatureRule,
  29. css_selectors_rule_1.CssSelectorsRule,
  30. element_selectors_rule_1.ElementSelectorsRule,
  31. input_names_rule_1.InputNamesRule,
  32. method_call_arguments_rule_1.MethodCallArgumentsRule,
  33. misc_template_rule_1.MiscTemplateRule,
  34. output_names_rule_1.OutputNamesRule,
  35. property_names_rule_1.PropertyNamesRule,
  36. ];
  37. /**
  38. * Creates a Angular schematic rule that runs the upgrade for the
  39. * specified target version.
  40. */
  41. function createUpgradeRule(targetVersion, extraRules, upgradeData, onMigrationCompleteFn) {
  42. return (tree, context) => {
  43. const logger = context.logger;
  44. const { buildPaths, testPaths } = project_tsconfig_paths_1.getProjectTsConfigPaths(tree);
  45. if (!buildPaths.length && !testPaths.length) {
  46. // We don't want to throw here because it would mean that other migrations in the
  47. // pipeline don't run either. Rather print an error message.
  48. logger.error('Could not find any TypeScript project in the CLI workspace configuration.');
  49. return;
  50. }
  51. // Keep track of all project source files which have been checked/migrated. This is
  52. // necessary because multiple TypeScript projects can contain the same source file and
  53. // we don't want to check these again, as this would result in duplicated failure messages.
  54. const analyzedFiles = new Set();
  55. let hasRuleFailures = false;
  56. for (const tsconfigPath of [...buildPaths, ...testPaths]) {
  57. hasRuleFailures = hasRuleFailures || update_tool_1.runMigrationRules(tree, context.logger, tsconfigPath, targetVersion, [...exports.cdkMigrationRules, ...extraRules], upgradeData, analyzedFiles);
  58. }
  59. if (onMigrationCompleteFn) {
  60. onMigrationCompleteFn(targetVersion, hasRuleFailures);
  61. }
  62. };
  63. }
  64. exports.createUpgradeRule = createUpgradeRule;
  65. //# sourceMappingURL=index.js.map