@nrwl/linter 16.0.0-beta.0 → 16.0.0-beta.1

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.
Files changed (110) hide show
  1. package/executors.json +5 -5
  2. package/generators.json +2 -28
  3. package/index.d.ts +1 -5
  4. package/index.js +1 -13
  5. package/index.js.map +1 -1
  6. package/package.json +7 -20
  7. package/README.md +0 -61
  8. package/migrations.json +0 -226
  9. package/src/executors/eslint/compat.d.ts +0 -2
  10. package/src/executors/eslint/compat.js +0 -6
  11. package/src/executors/eslint/compat.js.map +0 -1
  12. package/src/executors/eslint/hasher.d.ts +0 -7
  13. package/src/executors/eslint/hasher.js +0 -47
  14. package/src/executors/eslint/hasher.js.map +0 -1
  15. package/src/executors/eslint/lint.impl.d.ts +0 -5
  16. package/src/executors/eslint/lint.impl.js +0 -116
  17. package/src/executors/eslint/lint.impl.js.map +0 -1
  18. package/src/executors/eslint/schema.d.ts +0 -38
  19. package/src/executors/eslint/schema.json +0 -139
  20. package/src/executors/eslint/utility/eslint-utils.d.ts +0 -4
  21. package/src/executors/eslint/utility/eslint-utils.js +0 -52
  22. package/src/executors/eslint/utility/eslint-utils.js.map +0 -1
  23. package/src/generators/init/global-eslint-config.d.ts +0 -36
  24. package/src/generators/init/global-eslint-config.js +0 -77
  25. package/src/generators/init/global-eslint-config.js.map +0 -1
  26. package/src/generators/init/init-migration.d.ts +0 -3
  27. package/src/generators/init/init-migration.js +0 -68
  28. package/src/generators/init/init-migration.js.map +0 -1
  29. package/src/generators/init/init.d.ts +0 -9
  30. package/src/generators/init/init.js +0 -63
  31. package/src/generators/init/init.js.map +0 -1
  32. package/src/generators/lint-project/lint-project.d.ts +0 -16
  33. package/src/generators/lint-project/lint-project.js +0 -137
  34. package/src/generators/lint-project/lint-project.js.map +0 -1
  35. package/src/generators/utils/eslint-file.d.ts +0 -4
  36. package/src/generators/utils/eslint-file.js +0 -27
  37. package/src/generators/utils/eslint-file.js.map +0 -1
  38. package/src/generators/utils/eslint-targets.d.ts +0 -2
  39. package/src/generators/utils/eslint-targets.js +0 -13
  40. package/src/generators/utils/eslint-targets.js.map +0 -1
  41. package/src/generators/utils/linter.d.ts +0 -4
  42. package/src/generators/utils/linter.js +0 -9
  43. package/src/generators/utils/linter.js.map +0 -1
  44. package/src/generators/workspace-rule/files/__name__.spec.ts__tmpl__ +0 -11
  45. package/src/generators/workspace-rule/files/__name__.ts__tmpl__ +0 -37
  46. package/src/generators/workspace-rule/schema.json +0 -26
  47. package/src/generators/workspace-rule/workspace-rule.d.ts +0 -7
  48. package/src/generators/workspace-rule/workspace-rule.js +0 -79
  49. package/src/generators/workspace-rule/workspace-rule.js.map +0 -1
  50. package/src/generators/workspace-rules-project/files/index.ts__tmpl__ +0 -27
  51. package/src/generators/workspace-rules-project/files/tsconfig.json__tmpl__ +0 -13
  52. package/src/generators/workspace-rules-project/files/tsconfig.lint.json__tmpl__ +0 -9
  53. package/src/generators/workspace-rules-project/schema.json +0 -23
  54. package/src/generators/workspace-rules-project/workspace-rules-project.d.ts +0 -8
  55. package/src/generators/workspace-rules-project/workspace-rules-project.js +0 -86
  56. package/src/generators/workspace-rules-project/workspace-rules-project.js.map +0 -1
  57. package/src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules.d.ts +0 -2
  58. package/src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules.js +0 -32
  59. package/src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules.js.map +0 -1
  60. package/src/migrations/update-12-9-0/add-outputs.d.ts +0 -2
  61. package/src/migrations/update-12-9-0/add-outputs.js +0 -23
  62. package/src/migrations/update-12-9-0/add-outputs.js.map +0 -1
  63. package/src/migrations/update-13-3-0/eslint-8-updates.d.ts +0 -2
  64. package/src/migrations/update-13-3-0/eslint-8-updates.js +0 -44
  65. package/src/migrations/update-13-3-0/eslint-8-updates.js.map +0 -1
  66. package/src/migrations/update-14-1-9/add-swc-deps-if-needed.d.ts +0 -2
  67. package/src/migrations/update-14-1-9/add-swc-deps-if-needed.js +0 -20
  68. package/src/migrations/update-14-1-9/add-swc-deps-if-needed.js.map +0 -1
  69. package/src/migrations/update-14-4-4/experimental-to-utils-deps.d.ts +0 -2
  70. package/src/migrations/update-14-4-4/experimental-to-utils-deps.js +0 -30
  71. package/src/migrations/update-14-4-4/experimental-to-utils-deps.js.map +0 -1
  72. package/src/migrations/update-14-4-4/experimental-to-utils-rules.d.ts +0 -2
  73. package/src/migrations/update-14-4-4/experimental-to-utils-rules.js +0 -38
  74. package/src/migrations/update-14-4-4/experimental-to-utils-rules.js.map +0 -1
  75. package/src/migrations/update-15-0-0/add-eslint-inputs.d.ts +0 -2
  76. package/src/migrations/update-15-0-0/add-eslint-inputs.js +0 -33
  77. package/src/migrations/update-15-0-0/add-eslint-inputs.js.map +0 -1
  78. package/src/migrations/update-15-7-1/add-eslint-ignore.d.ts +0 -2
  79. package/src/migrations/update-15-7-1/add-eslint-ignore.js +0 -42
  80. package/src/migrations/update-15-7-1/add-eslint-ignore.js.map +0 -1
  81. package/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.d.ts +0 -5
  82. package/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.js +0 -57
  83. package/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.js.map +0 -1
  84. package/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.d.ts +0 -9
  85. package/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.js +0 -152
  86. package/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.js.map +0 -1
  87. package/src/utils/convert-tslint-to-eslint/example-tslint-configs.d.ts +0 -326
  88. package/src/utils/convert-tslint-to-eslint/example-tslint-configs.js +0 -325
  89. package/src/utils/convert-tslint-to-eslint/example-tslint-configs.js.map +0 -1
  90. package/src/utils/convert-tslint-to-eslint/index.d.ts +0 -2
  91. package/src/utils/convert-tslint-to-eslint/index.js +0 -9
  92. package/src/utils/convert-tslint-to-eslint/index.js.map +0 -1
  93. package/src/utils/convert-tslint-to-eslint/project-converter.d.ts +0 -72
  94. package/src/utils/convert-tslint-to-eslint/project-converter.js +0 -396
  95. package/src/utils/convert-tslint-to-eslint/project-converter.js.map +0 -1
  96. package/src/utils/convert-tslint-to-eslint/utils.d.ts +0 -10
  97. package/src/utils/convert-tslint-to-eslint/utils.js +0 -91
  98. package/src/utils/convert-tslint-to-eslint/utils.js.map +0 -1
  99. package/src/utils/rules-requiring-type-checking.d.ts +0 -3
  100. package/src/utils/rules-requiring-type-checking.js +0 -88
  101. package/src/utils/rules-requiring-type-checking.js.map +0 -1
  102. package/src/utils/testing.d.ts +0 -2
  103. package/src/utils/testing.js +0 -13
  104. package/src/utils/testing.js.map +0 -1
  105. package/src/utils/versions.d.ts +0 -5
  106. package/src/utils/versions.js +0 -9
  107. package/src/utils/versions.js.map +0 -1
  108. package/src/utils/workspace-lint-rules.d.ts +0 -1
  109. package/src/utils/workspace-lint-rules.js +0 -6
  110. package/src/utils/workspace-lint-rules.js.map +0 -1
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- function addOutputs(tree) {
6
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
7
- for (const [projectName, project] of (0, devkit_1.getProjects)(tree)) {
8
- if (!project.targets) {
9
- continue;
10
- }
11
- for (const target of Object.values(project.targets)) {
12
- if (target.executor !== '@nrwl/linter:eslint' || target.outputs) {
13
- continue;
14
- }
15
- target.outputs = ['{options.outputFile}'];
16
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
17
- }
18
- }
19
- yield (0, devkit_1.formatFiles)(tree);
20
- });
21
- }
22
- exports.default = addOutputs;
23
- //# sourceMappingURL=add-outputs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-outputs.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-12-9-0/add-outputs.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAEtB,SAA8B,UAAU,CAAC,IAAU;;QACjD,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,SAAS;aACV;YAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnD,IAAI,MAAM,CAAC,QAAQ,KAAK,qBAAqB,IAAI,MAAM,CAAC,OAAO,EAAE;oBAC/D,SAAS;iBACV;gBAED,MAAM,CAAC,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAE1C,IAAA,mCAA0B,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;aACxD;SACF;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAlBD,6BAkBC"}
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nrwl/devkit';
2
- export default function eslint8Updates(tree: Tree): Promise<void>;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- const tsquery_1 = require("@phenomnomnominal/tsquery");
6
- const versions_1 = require("../../utils/versions");
7
- function eslint8Updates(tree) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- try {
10
- const { addPropertyToJestConfig } = (0, devkit_1.ensurePackage)('@nrwl/jest', versions_1.nxVersion);
11
- const existingJestConfigPath = (0, devkit_1.normalizePath)('tools/eslint-rules/jest.config.js');
12
- // Add extra config to the jest.config.js file to allow ESLint 8 exports mapping to work with jest
13
- addPropertyToJestConfig(tree, existingJestConfigPath, 'moduleNameMapper', {
14
- '@eslint/eslintrc': '@eslint/eslintrc/dist/eslintrc-universal.cjs',
15
- });
16
- (0, devkit_1.visitNotIgnoredFiles)(tree, 'tools/eslint-rules', (path) => {
17
- if (!path.endsWith('.ts')) {
18
- return;
19
- }
20
- const fileContents = tree.read(path).toString('utf-8');
21
- const fileAst = tsquery_1.tsquery.ast(fileContents);
22
- const isESLintRuleFile = (0, tsquery_1.tsquery)(fileAst, 'PropertyAccessExpression[expression.escapedText=ESLintUtils][name.escapedText=RuleCreator]').length > 0;
23
- if (!isESLintRuleFile) {
24
- return;
25
- }
26
- const categoryPropertyAssignmentNode = (0, tsquery_1.tsquery)(fileAst, 'PropertyAssignment[name.escapedText=meta] PropertyAssignment[name.escapedText=docs] PropertyAssignment[name.escapedText=category]')[0];
27
- if (!categoryPropertyAssignmentNode) {
28
- return;
29
- }
30
- let end = categoryPropertyAssignmentNode.getEnd();
31
- if (fileContents.substring(end, end + 1) === ',') {
32
- end++;
33
- }
34
- const updatedContents = fileContents.slice(0, categoryPropertyAssignmentNode.getFullStart()) +
35
- fileContents.slice(end);
36
- tree.write(path, updatedContents);
37
- });
38
- yield (0, devkit_1.formatFiles)(tree);
39
- }
40
- catch (_a) { }
41
- });
42
- }
43
- exports.default = eslint8Updates;
44
- //# sourceMappingURL=eslint-8-updates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eslint-8-updates.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-13-3-0/eslint-8-updates.ts"],"names":[],"mappings":";;;AAAA,yCAMsB;AACtB,uDAAoD;AACpD,mDAAiD;AAEjD,SAA8B,cAAc,CAAC,IAAU;;QACrD,IAAI;YACF,MAAM,EAAE,uBAAuB,EAAE,GAAG,IAAA,sBAAa,EAAC,YAAY,EAAE,oBAAS,CAAC,CAAC;YAC3E,MAAM,sBAAsB,GAAG,IAAA,sBAAa,EAC1C,mCAAmC,CACpC,CAAC;YAEF,kGAAkG;YAClG,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,EAAE,kBAAkB,EAAE;gBACxE,kBAAkB,EAAE,8CAA8C;aACnE,CAAC,CAAC;YAEH,IAAA,6BAAoB,EAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO;iBACR;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,iBAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,gBAAgB,GACpB,IAAA,iBAAO,EACL,OAAO,EACP,4FAA4F,CAC7F,CAAC,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,CAAC,gBAAgB,EAAE;oBACrB,OAAO;iBACR;gBACD,MAAM,8BAA8B,GAAG,IAAA,iBAAO,EAC5C,OAAO,EACP,oIAAoI,CACrI,CAAC,CAAC,CAAC,CAAC;gBACL,IAAI,CAAC,8BAA8B,EAAE;oBACnC,OAAO;iBACR;gBACD,IAAI,GAAG,GAAG,8BAA8B,CAAC,MAAM,EAAE,CAAC;gBAClD,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;oBAChD,GAAG,EAAE,CAAC;iBACP;gBACD,MAAM,eAAe,GACnB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC,YAAY,EAAE,CAAC;oBACpE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAAC,WAAM,GAAE;IACZ,CAAC;CAAA;AA7CD,iCA6CC"}
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nrwl/devkit';
2
- export default function addSwcNodeIfNeeded(tree: Tree): Promise<void>;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- const versions_1 = require("nx/src/utils/versions");
6
- const workspace_rules_project_1 = require("../../generators/workspace-rules-project/workspace-rules-project");
7
- function addSwcNodeIfNeeded(tree) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- try {
10
- if (tree.exists(workspace_rules_project_1.WORKSPACE_PLUGIN_DIR)) {
11
- (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@swc-node/register': versions_1.swcNodeVersion, '@swc/core': versions_1.swcCoreVersion });
12
- yield (0, devkit_1.formatFiles)(tree);
13
- return;
14
- }
15
- }
16
- catch (_a) { }
17
- });
18
- }
19
- exports.default = addSwcNodeIfNeeded;
20
- //# sourceMappingURL=add-swc-deps-if-needed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-swc-deps-if-needed.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-14-1-9/add-swc-deps-if-needed.ts"],"names":[],"mappings":";;;AAAA,yCAA+E;AAC/E,oDAAuE;AACvE,8GAAwG;AAExG,SAA8B,kBAAkB,CAAC,IAAU;;QACzD,IAAI;YACF,IAAI,IAAI,CAAC,MAAM,CAAC,8CAAoB,CAAC,EAAE;gBACrC,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,EAAE,oBAAoB,EAAE,yBAAc,EAAE,WAAW,EAAE,yBAAc,EAAE,CACtE,CAAC;gBACF,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;aACR;SACF;QAAC,WAAM,GAAE;IACZ,CAAC;CAAA;AAZD,qCAYC"}
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nrwl/devkit';
2
- export default function addTypescriptEslintUtilsIfNeeded(tree: Tree): Promise<void>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- const workspace_rules_project_1 = require("../../generators/workspace-rules-project/workspace-rules-project");
6
- const versions_1 = require("../../utils/versions");
7
- function addTypescriptEslintUtilsIfNeeded(tree) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- try {
10
- const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
11
- let removed = false;
12
- if (packageJson.devDependencies['@typescript-eslint/experimental-utils']) {
13
- yield (0, devkit_1.removeDependenciesFromPackageJson)(tree, [], ['@typescript-eslint/experimental-utils']);
14
- removed = true;
15
- }
16
- if (packageJson.dependencies['@typescript-eslint/experimental-utils']) {
17
- yield (0, devkit_1.removeDependenciesFromPackageJson)(tree, ['@typescript-eslint/experimental-utils'], []);
18
- removed = true;
19
- }
20
- if (removed || tree.exists(workspace_rules_project_1.WORKSPACE_PLUGIN_DIR)) {
21
- (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@typescript-eslint/utils': versions_1.typescriptESLintVersion });
22
- yield (0, devkit_1.formatFiles)(tree);
23
- }
24
- return;
25
- }
26
- catch (_a) { }
27
- });
28
- }
29
- exports.default = addTypescriptEslintUtilsIfNeeded;
30
- //# sourceMappingURL=experimental-to-utils-deps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"experimental-to-utils-deps.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-14-4-4/experimental-to-utils-deps.ts"],"names":[],"mappings":";;;AAAA,yCAMsB;AACtB,8GAAwG;AACxG,mDAA+D;AAE/D,SAA8B,gCAAgC,CAAC,IAAU;;QACvE,IAAI;YACF,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACnD,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,IAAI,WAAW,CAAC,eAAe,CAAC,uCAAuC,CAAC,EAAE;gBACxE,MAAM,IAAA,0CAAiC,EACrC,IAAI,EACJ,EAAE,EACF,CAAC,uCAAuC,CAAC,CAC1C,CAAC;gBACF,OAAO,GAAG,IAAI,CAAC;aAChB;YAED,IAAI,WAAW,CAAC,YAAY,CAAC,uCAAuC,CAAC,EAAE;gBACrE,MAAM,IAAA,0CAAiC,EACrC,IAAI,EACJ,CAAC,uCAAuC,CAAC,EACzC,EAAE,CACH,CAAC;gBACF,OAAO,GAAG,IAAI,CAAC;aAChB;YAED,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,8CAAoB,CAAC,EAAE;gBAChD,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,EAAE,0BAA0B,EAAE,kCAAuB,EAAE,CACxD,CAAC;gBAEF,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;aACzB;YACD,OAAO;SACR;QAAC,WAAM,GAAE;IACZ,CAAC;CAAA;AAlCD,mDAkCC"}
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nrwl/devkit';
2
- export default function experimentalToUtilsUpdate(tree: Tree): Promise<void>;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- const tsquery_1 = require("@phenomnomnominal/tsquery");
6
- function updateFile(fileAst, fileContents) {
7
- const importStatement = (0, tsquery_1.tsquery)(fileAst, 'ImportDeclaration StringLiteral[value=@typescript-eslint/experimental-utils]');
8
- if (importStatement.length === 0) {
9
- return;
10
- }
11
- const contentSlices = fileContents.split('@typescript-eslint/experimental-utils');
12
- let updatedFileContents = '';
13
- for (let i = 0; i < contentSlices.length / 2; i++) {
14
- updatedFileContents += `${contentSlices[i]}@typescript-eslint/utils`;
15
- }
16
- updatedFileContents += contentSlices[contentSlices.length - 1];
17
- return updatedFileContents;
18
- }
19
- function experimentalToUtilsUpdate(tree) {
20
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
- try {
22
- (0, devkit_1.visitNotIgnoredFiles)(tree, 'tools/eslint-rules', (path) => {
23
- if (path.endsWith('.ts')) {
24
- const fileContents = tree.read(path).toString('utf-8');
25
- const fileAst = tsquery_1.tsquery.ast(fileContents);
26
- const updatedContents = updateFile(fileAst, fileContents);
27
- if (updatedContents) {
28
- tree.write(path, updatedContents);
29
- }
30
- }
31
- });
32
- yield (0, devkit_1.formatFiles)(tree);
33
- }
34
- catch (_a) { }
35
- });
36
- }
37
- exports.default = experimentalToUtilsUpdate;
38
- //# sourceMappingURL=experimental-to-utils-rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"experimental-to-utils-rules.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-14-4-4/experimental-to-utils-rules.ts"],"names":[],"mappings":";;;AAAA,yCAAuE;AACvE,uDAAoD;AAEpD,SAAS,UAAU,CAAC,OAAY,EAAE,YAAoB;IACpD,MAAM,eAAe,GAAU,IAAA,iBAAO,EACpC,OAAO,EACP,8EAA8E,CAC/E,CAAC;IACF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,OAAO;KACR;IACD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CACtC,uCAAuC,CACxC,CAAC;IACF,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACjD,mBAAmB,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,0BAA0B,CAAC;KACtE;IACD,mBAAmB,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAA8B,yBAAyB,CAAC,IAAU;;QAChE,IAAI;YACF,IAAA,6BAAoB,EAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,OAAO,GAAG,iBAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAE1C,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAC1D,IAAI,eAAe,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;qBACnC;iBACF;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAAC,WAAM,GAAE;IACZ,CAAC;CAAA;AAhBD,4CAgBC"}
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nrwl/devkit';
2
- export default function addEslintInputs(tree: Tree): Promise<void>;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- const eslint_file_1 = require("../../generators/utils/eslint-file");
6
- const eslint_targets_1 = require("../../generators/utils/eslint-targets");
7
- function addEslintInputs(tree) {
8
- var _a, _b, _c, _d;
9
- var _e;
10
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
- const nxJson = (0, devkit_1.readNxJson)(tree);
12
- const globalEslintFile = eslint_file_1.eslintConfigFileWhitelist.find((file) => tree.exists(file));
13
- if (globalEslintFile && ((_a = nxJson.namedInputs) === null || _a === void 0 ? void 0 : _a.production)) {
14
- const productionFileset = new Set(nxJson.namedInputs.production);
15
- productionFileset.add(`!{projectRoot}/${globalEslintFile}`);
16
- nxJson.namedInputs.production = Array.from(productionFileset);
17
- }
18
- for (const targetName of (0, eslint_targets_1.getEslintTargets)(tree)) {
19
- (_b = nxJson.targetDefaults) !== null && _b !== void 0 ? _b : (nxJson.targetDefaults = {});
20
- const lintTargetDefaults = ((_c = (_e = nxJson.targetDefaults)[targetName]) !== null && _c !== void 0 ? _c : (_e[targetName] = {}));
21
- (_d = lintTargetDefaults.inputs) !== null && _d !== void 0 ? _d : (lintTargetDefaults.inputs = [
22
- 'default',
23
- ...(globalEslintFile
24
- ? [(0, devkit_1.joinPathFragments)('{workspaceRoot}', globalEslintFile)]
25
- : []),
26
- ]);
27
- }
28
- (0, devkit_1.updateNxJson)(tree, nxJson);
29
- yield (0, devkit_1.formatFiles)(tree);
30
- });
31
- }
32
- exports.default = addEslintInputs;
33
- //# sourceMappingURL=add-eslint-inputs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-eslint-inputs.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-15-0-0/add-eslint-inputs.ts"],"names":[],"mappings":";;;AAAA,yCAMsB;AACtB,oEAA+E;AAC/E,0EAAyE;AAEzE,SAA8B,eAAe,CAAC,IAAU;;;;QACtD,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,gBAAgB,GAAG,uCAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;QAEF,IAAI,gBAAgB,KAAI,MAAA,MAAM,CAAC,WAAW,0CAAE,UAAU,CAAA,EAAE;YACtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEjE,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,gBAAgB,EAAE,CAAC,CAAC;YAE5D,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC/D;QAED,KAAK,MAAM,UAAU,IAAI,IAAA,iCAAgB,EAAC,IAAI,CAAC,EAAE;YAC/C,MAAA,MAAM,CAAC,cAAc,oCAArB,MAAM,CAAC,cAAc,GAAK,EAAE,EAAC;YAE7B,MAAM,kBAAkB,GAAG,aAAC,MAAM,CAAC,cAAc,EAAC,UAAU,wCAAV,UAAU,IAAM,EAAE,EAAC,CAAC;YAEtE,MAAA,kBAAkB,CAAC,MAAM,oCAAzB,kBAAkB,CAAC,MAAM,GAAK;gBAC5B,SAAS;gBACT,GAAG,CAAC,gBAAgB;oBAClB,CAAC,CAAC,CAAC,IAAA,0BAAiB,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAC;aACR,EAAC;SACH;QAED,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE3B,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;;CACzB;AA/BD,kCA+BC"}
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nrwl/devkit';
2
- export default function addEslintIgnore(tree: Tree): Promise<void>;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const devkit_1 = require("@nrwl/devkit");
5
- const eslint_file_1 = require("../../generators/utils/eslint-file");
6
- const eslint_targets_1 = require("../../generators/utils/eslint-targets");
7
- function addEslintIgnore(tree) {
8
- var _a, _b;
9
- var _c;
10
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
- const nxJson = (0, devkit_1.readJson)(tree, 'nx.json');
12
- const globalEslintFile = eslint_file_1.eslintConfigFileWhitelist.find((file) => tree.exists(file));
13
- if (globalEslintFile) {
14
- if (tree.exists('.eslintignore')) {
15
- const content = tree.read('.eslintignore', 'utf-8');
16
- if (!content.includes('node_modules')) {
17
- tree.write('.eslintignore', `node_modules\n${content}`);
18
- }
19
- }
20
- else {
21
- tree.write('.eslintignore', 'node_modules\n');
22
- }
23
- for (const targetName of (0, eslint_targets_1.getEslintTargets)(tree)) {
24
- (_a = nxJson.targetDefaults) !== null && _a !== void 0 ? _a : (nxJson.targetDefaults = {});
25
- const lintTargetDefaults = ((_b = (_c = nxJson.targetDefaults)[targetName]) !== null && _b !== void 0 ? _b : (_c[targetName] = {}));
26
- const lintIgnorePath = (0, devkit_1.joinPathFragments)('{workspaceRoot}', globalEslintFile);
27
- if (lintTargetDefaults.inputs) {
28
- if (!lintTargetDefaults.inputs.includes(lintIgnorePath)) {
29
- lintTargetDefaults.inputs.push(lintIgnorePath);
30
- }
31
- }
32
- else {
33
- lintTargetDefaults.inputs = ['default', lintIgnorePath];
34
- }
35
- }
36
- (0, devkit_1.updateNxJson)(tree, nxJson);
37
- yield (0, devkit_1.formatFiles)(tree);
38
- }
39
- });
40
- }
41
- exports.default = addEslintIgnore;
42
- //# sourceMappingURL=add-eslint-ignore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-eslint-ignore.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-15-7-1/add-eslint-ignore.ts"],"names":[],"mappings":";;;AAAA,yCAMsB;AACtB,oEAA+E;AAC/E,0EAAyE;AAEzE,SAA8B,eAAe,CAAC,IAAU;;;;QACtD,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,gBAAgB,GAAG,uCAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;QAEF,IAAI,gBAAgB,EAAE;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;oBACrC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,iBAAiB,OAAO,EAAE,CAAC,CAAC;iBACzD;aACF;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;aAC/C;YAED,KAAK,MAAM,UAAU,IAAI,IAAA,iCAAgB,EAAC,IAAI,CAAC,EAAE;gBAC/C,MAAA,MAAM,CAAC,cAAc,oCAArB,MAAM,CAAC,cAAc,GAAK,EAAE,EAAC;gBAC7B,MAAM,kBAAkB,GAAG,aAAC,MAAM,CAAC,cAAc,EAAC,UAAU,wCAAV,UAAU,IAAM,EAAE,EAAC,CAAC;gBAEtE,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;gBAEF,IAAI,kBAAkB,CAAC,MAAM,EAAE;oBAC7B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;wBACvD,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAChD;iBACF;qBAAM;oBACL,kBAAkB,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;iBACzD;aACF;YAED,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;;CACF;AAtCD,kCAsCC"}
@@ -1,5 +0,0 @@
1
- import type { ESLintRuleSeverity } from 'tslint-to-eslint-config';
2
- export declare function convertTslintNxRuleToEslintNxRule(tslintJson: Record<string, unknown>): {
3
- ruleName: string;
4
- ruleConfig: [ESLintRuleSeverity, Record<string, unknown>];
5
- } | null;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertTslintNxRuleToEslintNxRule = void 0;
4
- function convertTSLintRuleSeverity(tslintConfig, tslintSeverity) {
5
- if (tslintSeverity === true) {
6
- tslintSeverity = 'default';
7
- }
8
- if (tslintSeverity === false) {
9
- tslintSeverity = 'off';
10
- }
11
- if (tslintSeverity === 'default') {
12
- tslintSeverity = tslintConfig.defaultSeverity || 'error';
13
- }
14
- const narrowedTslintSeverity = tslintSeverity;
15
- return narrowedTslintSeverity === 'warning' ? 'warn' : narrowedTslintSeverity;
16
- }
17
- const NX_TSLINT_RULE_NAME = 'nx-enforce-module-boundaries';
18
- function convertTslintNxRuleToEslintNxRule(tslintJson) {
19
- var _a;
20
- /**
21
- * TSLint supports a number of different formats for rule configuration
22
- */
23
- const existingRuleDefinition = (_a = tslintJson === null || tslintJson === void 0 ? void 0 : tslintJson.rules) === null || _a === void 0 ? void 0 : _a[NX_TSLINT_RULE_NAME];
24
- if (!existingRuleDefinition) {
25
- return null;
26
- }
27
- let existingRuleSeverity = 'error';
28
- let existingRuleConfig = {
29
- enforceBuildableLibDependency: true,
30
- allow: [],
31
- depConstraints: [
32
- {
33
- sourceTag: '*',
34
- onlyDependOnLibsWithTags: ['*'],
35
- },
36
- ],
37
- };
38
- if (Array.isArray(existingRuleDefinition)) {
39
- existingRuleSeverity = existingRuleDefinition[0];
40
- existingRuleConfig = existingRuleDefinition[1];
41
- }
42
- else if (typeof existingRuleDefinition === 'object' &&
43
- existingRuleDefinition.severity) {
44
- existingRuleSeverity = existingRuleDefinition.severity;
45
- if (Array.isArray(existingRuleDefinition.options) &&
46
- existingRuleDefinition.options[0]) {
47
- existingRuleConfig = existingRuleDefinition.options[0];
48
- }
49
- }
50
- const ruleSeverity = convertTSLintRuleSeverity(tslintJson, existingRuleSeverity);
51
- return {
52
- ruleName: '@nrwl/nx/enforce-module-boundaries',
53
- ruleConfig: [ruleSeverity, existingRuleConfig],
54
- };
55
- }
56
- exports.convertTslintNxRuleToEslintNxRule = convertTslintNxRuleToEslintNxRule;
57
- //# sourceMappingURL=convert-nx-enforce-module-boundaries-rule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-nx-enforce-module-boundaries-rule.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.ts"],"names":[],"mappings":";;;AAQA,SAAS,yBAAyB,CAChC,YAAiB,EACjB,cAAkC;IAElC,IAAI,cAAc,KAAK,IAAI,EAAE;QAC3B,cAAc,GAAG,SAAS,CAAC;KAC5B;IACD,IAAI,cAAc,KAAK,KAAK,EAAE;QAC5B,cAAc,GAAG,KAAK,CAAC;KACxB;IACD,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,cAAc,GAAG,YAAY,CAAC,eAAe,IAAI,OAAO,CAAC;KAC1D;IACD,MAAM,sBAAsB,GAC1B,cAAoD,CAAC;IACvD,OAAO,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAChF,CAAC;AAED,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAE3D,SAAgB,iCAAiC,CAC/C,UAAmC;;IAKnC;;OAEG;IACH,MAAM,sBAAsB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAG,mBAAmB,CAAC,CAAC;IACxE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,oBAAoB,GAAuB,OAAO,CAAC;IACvD,IAAI,kBAAkB,GAAG;QACvB,6BAA6B,EAAE,IAAI;QACnC,KAAK,EAAE,EAAE;QACT,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,GAAG;gBACd,wBAAwB,EAAE,CAAC,GAAG,CAAC;aAChC;SACF;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;QACzC,oBAAoB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACjD,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;KAChD;SAAM,IACL,OAAO,sBAAsB,KAAK,QAAQ;QAC1C,sBAAsB,CAAC,QAAQ,EAC/B;QACA,oBAAoB,GAAG,sBAAsB,CAAC,QAAQ,CAAC;QACvD,IACE,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAC7C,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,EACjC;YACA,kBAAkB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxD;KACF;IAED,MAAM,YAAY,GAAuB,yBAAyB,CAChE,UAAU,EACV,oBAAoB,CACrB,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,oCAAoC;QAC9C,UAAU,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAlDD,8EAkDC"}
@@ -1,9 +0,0 @@
1
- import type { Tree } from '@nrwl/devkit';
2
- import type { Linter as ESLintLinter } from 'eslint';
3
- import type { TSLintRuleOptions } from 'tslint-to-eslint-config';
4
- export declare function convertToESLintConfig(pathToTslintJson: string, tslintJson: Record<string, unknown>, ignoreExtendsVals: string[]): Promise<{
5
- convertedESLintConfig: ESLintLinter.Config;
6
- unconvertedTSLintRules: TSLintRuleOptions[];
7
- ensureESLintPlugins: string[];
8
- }>;
9
- export declare function convertTSLintDisableCommentsForProject(tree: Tree, projectName: string): void;
@@ -1,152 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertTSLintDisableCommentsForProject = exports.convertToESLintConfig = void 0;
4
- const tslib_1 = require("tslib");
5
- const devkit_1 = require("@nrwl/devkit");
6
- const child_process_1 = require("child_process");
7
- const tmp_1 = require("tmp");
8
- const versions_1 = require("../versions");
9
- let tslintToEslint;
10
- function getConvertToEslintConfig() {
11
- if (tslintToEslint) {
12
- return tslintToEslint;
13
- }
14
- try {
15
- // This is usually not possible during runtime but makes it easy to mock in tests
16
- return require('tslint-to-eslint-config');
17
- }
18
- catch (_a) { }
19
- /**
20
- * In order to avoid all users of Nx needing to have tslint-to-eslint-config (and therefore tslint)
21
- * in their node_modules, we dynamically install and uninstall the library as part of the conversion
22
- * process.
23
- *
24
- * NOTE: By taking this approach we have to sacrifice dry-run capabilities for this generator.
25
- */
26
- const tempDir = (0, tmp_1.dirSync)().name;
27
- (0, child_process_1.execSync)(`${(0, devkit_1.getPackageManagerCommand)().addDev} tslint-to-eslint-config@${versions_1.tslintToEslintConfigVersion}`, {
28
- cwd: tempDir,
29
- stdio: [0, 1, 2],
30
- });
31
- tslintToEslint = require(require.resolve('tslint-to-eslint-config', {
32
- paths: [tempDir],
33
- }));
34
- return tslintToEslint;
35
- }
36
- function convertToESLintConfig(pathToTslintJson, tslintJson, ignoreExtendsVals) {
37
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
- /**
39
- * We need to avoid a direct dependency on tslint-to-eslint-config
40
- * and ensure we are only resolving the dependency from the user's
41
- * node_modules on demand (it will be installed as part of the
42
- * conversion generator).
43
- */
44
- const { createESLintConfiguration, findReportedConfiguration, joinConfigConversionResults, } = getConvertToEslintConfig();
45
- const updatedTSLintJson = tslintJson;
46
- /**
47
- * If ignoreExtendsVals are provided, strip them from the config
48
- * and commit the result to disk per the notes below.
49
- */
50
- if (ignoreExtendsVals.length && updatedTSLintJson.extends) {
51
- if (typeof updatedTSLintJson.extends === 'string' &&
52
- ignoreExtendsVals.includes(updatedTSLintJson.extends)) {
53
- delete updatedTSLintJson.extends;
54
- }
55
- if (Array.isArray(updatedTSLintJson.extends)) {
56
- updatedTSLintJson.extends = updatedTSLintJson.extends.filter((ext) => !ignoreExtendsVals.includes(ext));
57
- }
58
- /**
59
- * The reasons we need to interact with the filesystem here:
60
- *
61
- * 1) The result of the tslint CLI flag `--print-config` is needed for the
62
- * conversion process, and unfortunately no equivalent Node API was ever
63
- * added to tslint, so the tslint CLI needs to always read from disk.
64
- *
65
- * 2) When converting project configs, we need to strip the extends path
66
- * which corresponds to the workspace's root config, otherwise all of the
67
- * root config's rules will be included in the resultant eslint config for
68
- * the project. The interaction with the filesystem is needed because of
69
- * point (1) above - we need to strip the relevant extends and commit that
70
- * change to disk before the tslint CLI reads the config file.
71
- */
72
- (0, devkit_1.writeJsonFile)(pathToTslintJson, updatedTSLintJson);
73
- }
74
- const reportedConfiguration = yield findReportedConfiguration('npx tslint --print-config', pathToTslintJson);
75
- if (reportedConfiguration instanceof Error) {
76
- if (reportedConfiguration.message.includes('unknown option `--print-config')) {
77
- throw new Error('\nError: TSLint v5.18 required in order to run this schematic. Please update your version and try again.\n');
78
- }
79
- /**
80
- * Make a print-config issue easier to understand for the end user.
81
- * This error could occur if, for example, the user does not have a TSLint plugin installed correctly that they
82
- * reference in their config.
83
- */
84
- const printConfigFailureMessageStart = 'Command failed: npx tslint --print-config "tslint.json"';
85
- if (reportedConfiguration.message.startsWith(printConfigFailureMessageStart)) {
86
- throw new Error(`\nThere was a critical error when trying to inspect your tslint.json: \n${reportedConfiguration.message.replace(printConfigFailureMessageStart, '')}`);
87
- }
88
- throw new Error(`Unexpected error: ${reportedConfiguration.message}`);
89
- }
90
- const originalConfigurations = {
91
- tslint: {
92
- full: reportedConfiguration,
93
- raw: updatedTSLintJson,
94
- },
95
- };
96
- const summarizedConfiguration = yield createESLintConfiguration(originalConfigurations);
97
- /**
98
- * We are expecting it to not find a converter for nx-enforce-module-boundaries
99
- * and we will explicitly replace it with the ESLint equivalent ourselves.
100
- */
101
- if (summarizedConfiguration.missing) {
102
- summarizedConfiguration.missing = summarizedConfiguration.missing.filter((missingRuleData) => missingRuleData.ruleName !== 'nx-enforce-module-boundaries');
103
- }
104
- // These are already covered by our extraEslintDependencies which get installed by the schematic
105
- const expectedESLintPlugins = [
106
- '@angular-eslint/eslint-plugin',
107
- '@angular-eslint/eslint-plugin-template',
108
- ];
109
- const convertedESLintConfig = joinConfigConversionResults(summarizedConfiguration, originalConfigurations);
110
- if (Array.isArray(convertedESLintConfig.extends) &&
111
- convertedESLintConfig.extends.length) {
112
- // Ignore any tslint-to-eslint-config default extends that do not apply to Nx
113
- convertedESLintConfig.extends = convertedESLintConfig.extends.filter((ext) => !ext.startsWith('prettier'));
114
- if (convertedESLintConfig.extends.length === 0) {
115
- delete convertedESLintConfig.extends;
116
- }
117
- }
118
- return {
119
- convertedESLintConfig,
120
- unconvertedTSLintRules: summarizedConfiguration.missing,
121
- ensureESLintPlugins: Array.from(summarizedConfiguration.plugins).filter((pluginName) => !expectedESLintPlugins.includes(pluginName)),
122
- };
123
- });
124
- }
125
- exports.convertToESLintConfig = convertToESLintConfig;
126
- function likelyContainsTSLintComment(fileContent) {
127
- return fileContent.includes('tslint:');
128
- }
129
- function convertTSLintDisableCommentsForProject(tree, projectName) {
130
- /**
131
- * We need to avoid a direct dependency on tslint-to-eslint-config
132
- * and ensure we are only resolving the dependency from the user's
133
- * node_modules on demand (it will be installed as part of the
134
- * conversion generator).
135
- */
136
- const { convertFileComments } = getConvertToEslintConfig();
137
- const { root } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
138
- (0, devkit_1.visitNotIgnoredFiles)(tree, root, (filePath) => {
139
- if (!filePath.endsWith('.ts')) {
140
- return;
141
- }
142
- const fileContent = tree.read(filePath, 'utf-8');
143
- // Avoid updating files if we don't have to
144
- if (!fileContent || !likelyContainsTSLintComment(fileContent)) {
145
- return;
146
- }
147
- const updatedFileContent = convertFileComments({ fileContent, filePath });
148
- tree.write(filePath, updatedFileContent);
149
- });
150
- }
151
- exports.convertTSLintDisableCommentsForProject = convertTSLintDisableCommentsForProject;
152
- //# sourceMappingURL=convert-to-eslint-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-to-eslint-config.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.ts"],"names":[],"mappings":"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"}