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

Sign up to get free protection for your applications and to get access to all the features.
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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"}