@nx/eslint 0.0.0-pr-30715-a5f5e3b → 0.0.0-pr-31222-862e973

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 (55) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/migrations.json +98 -119
  4. package/package.json +7 -6
  5. package/src/executors/lint/utility/eslint-utils.js +0 -6
  6. package/src/generators/convert-to-flat-config/converters/json-converter.d.ts +1 -1
  7. package/src/generators/convert-to-flat-config/converters/json-converter.js +18 -10
  8. package/src/generators/convert-to-flat-config/generator.js +17 -18
  9. package/src/generators/convert-to-flat-config/schema.d.ts +0 -2
  10. package/src/generators/convert-to-inferred/convert-to-inferred.js +1 -2
  11. package/src/generators/init/global-eslint-config.d.ts +1 -1
  12. package/src/generators/init/global-eslint-config.js +6 -17
  13. package/src/generators/init/init-migration.d.ts +1 -1
  14. package/src/generators/init/init-migration.js +13 -18
  15. package/src/generators/init/init.d.ts +0 -1
  16. package/src/generators/init/init.js +6 -31
  17. package/src/generators/lint-project/lint-project.d.ts +0 -1
  18. package/src/generators/lint-project/lint-project.js +15 -37
  19. package/src/generators/lint-project/setup-root-eslint.d.ts +0 -1
  20. package/src/generators/lint-project/setup-root-eslint.js +1 -2
  21. package/src/generators/utils/eslint-file.d.ts +2 -3
  22. package/src/generators/utils/eslint-file.js +28 -160
  23. package/src/generators/utils/flat-config/ast-utils.d.ts +4 -12
  24. package/src/generators/utils/flat-config/ast-utils.js +63 -412
  25. package/src/generators/utils/linter.d.ts +0 -3
  26. package/src/generators/utils/linter.js +2 -2
  27. package/src/generators/workspace-rule/files/__name__.spec.ts__tmpl__ +2 -11
  28. package/src/generators/workspace-rule/workspace-rule.d.ts +2 -2
  29. package/src/generators/workspace-rule/workspace-rule.js +3 -11
  30. package/src/generators/workspace-rules-project/workspace-rules-project.js +1 -4
  31. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
  32. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +9 -0
  33. package/src/migrations/update-16-8-0-add-ignored-files/update-16-8-0-add-ignored-files.d.ts +2 -0
  34. package/src/migrations/update-16-8-0-add-ignored-files/update-16-8-0-add-ignored-files.js +44 -0
  35. package/src/migrations/update-17-0-0-rename-to-eslint/update-17-0-0-rename-to-eslint.d.ts +2 -0
  36. package/src/migrations/update-17-0-0-rename-to-eslint/update-17-0-0-rename-to-eslint.js +47 -0
  37. package/src/migrations/update-17-1-0/update-typescript-eslint.d.ts +2 -0
  38. package/src/migrations/update-17-1-0/update-typescript-eslint.js +74 -0
  39. package/src/migrations/update-17-2-0/simplify-eslint-patterns.d.ts +2 -0
  40. package/src/migrations/update-17-2-0/simplify-eslint-patterns.js +46 -0
  41. package/src/migrations/update-17-2-9/move-options-to-target-defaults.d.ts +2 -0
  42. package/src/migrations/update-17-2-9/move-options-to-target-defaults.js +107 -0
  43. package/src/plugins/plugin.js +10 -21
  44. package/src/utils/config-file.d.ts +1 -3
  45. package/src/utils/config-file.js +2 -5
  46. package/src/utils/flat-config.d.ts +0 -1
  47. package/src/utils/flat-config.js +3 -9
  48. package/src/utils/version-utils.d.ts +0 -1
  49. package/src/utils/version-utils.js +9 -13
  50. package/src/utils/versions.d.ts +2 -3
  51. package/src/utils/versions.js +3 -4
  52. package/src/migrations/update-20-2-0/update-typescript-eslint-v8-13-0.d.ts +0 -2
  53. package/src/migrations/update-20-2-0/update-typescript-eslint-v8-13-0.js +0 -23
  54. package/src/migrations/update-20-3-0/add-file-extensions-to-overrides.d.ts +0 -2
  55. package/src/migrations/update-20-3-0/add-file-extensions-to-overrides.js +0 -49
@@ -1,35 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInstalledPackageVersion = getInstalledPackageVersion;
4
3
  exports.getInstalledEslintVersion = getInstalledEslintVersion;
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const semver_1 = require("@nx/devkit/src/utils/semver");
7
6
  const devkit_internals_1 = require("nx/src/devkit-internals");
8
- function getInstalledPackageVersion(pkgName, tree) {
7
+ function getInstalledEslintVersion(tree) {
9
8
  try {
10
- const packageJson = (0, devkit_internals_1.readModulePackageJson)(pkgName).packageJson;
11
- return packageJson.version;
9
+ const eslintPackageJson = (0, devkit_internals_1.readModulePackageJson)('eslint').packageJson;
10
+ return eslintPackageJson.version;
12
11
  }
13
12
  catch { }
14
- // the package is not installed on disk, it could be in the package.json
13
+ // eslint is not installed on disk, it could be in the package.json
15
14
  // but waiting to be installed
16
15
  const rootPackageJson = tree
17
16
  ? (0, devkit_1.readJson)(tree, 'package.json')
18
17
  : (0, devkit_1.readJsonFile)('package.json');
19
- const pkgVersionInRootPackageJson = rootPackageJson.devDependencies?.[pkgName] ??
20
- rootPackageJson.dependencies?.[pkgName];
21
- if (!pkgVersionInRootPackageJson) {
22
- // the package is not installed
18
+ const eslintVersionInRootPackageJson = rootPackageJson.devDependencies?.['eslint'] ??
19
+ rootPackageJson.dependencies?.['eslint'];
20
+ if (!eslintVersionInRootPackageJson) {
21
+ // eslint is not installed
23
22
  return null;
24
23
  }
25
24
  try {
26
25
  // try to parse and return the version
27
- return (0, semver_1.checkAndCleanWithSemver)(pkgName, pkgVersionInRootPackageJson);
26
+ return (0, semver_1.checkAndCleanWithSemver)('eslint', eslintVersionInRootPackageJson);
28
27
  }
29
28
  catch { }
30
29
  // we could not resolve the version
31
30
  return null;
32
31
  }
33
- function getInstalledEslintVersion(tree) {
34
- return getInstalledPackageVersion('eslint', tree);
35
- }
@@ -1,9 +1,8 @@
1
1
  export declare const nxVersion: any;
2
2
  export declare const eslintVersion = "~8.57.0";
3
3
  export declare const eslintrcVersion = "^2.1.1";
4
- export declare const eslintConfigPrettierVersion = "^10.0.0";
4
+ export declare const eslintConfigPrettierVersion = "^9.0.0";
5
5
  export declare const typescriptESLintVersion = "^7.16.0";
6
- export declare const jsoncEslintParserVersion = "^2.1.0";
7
- export declare const eslint9__typescriptESLintVersion = "^8.29.0";
6
+ export declare const eslint9__typescriptESLintVersion = "^8.0.0";
8
7
  export declare const eslint9__eslintVersion = "^9.8.0";
9
8
  export declare const eslintCompat = "^1.1.1";
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eslintCompat = exports.eslint9__eslintVersion = exports.eslint9__typescriptESLintVersion = exports.jsoncEslintParserVersion = exports.typescriptESLintVersion = exports.eslintConfigPrettierVersion = exports.eslintrcVersion = exports.eslintVersion = exports.nxVersion = void 0;
3
+ exports.eslintCompat = exports.eslint9__eslintVersion = exports.eslint9__typescriptESLintVersion = exports.typescriptESLintVersion = exports.eslintConfigPrettierVersion = exports.eslintrcVersion = exports.eslintVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
5
  exports.eslintVersion = '~8.57.0';
6
6
  exports.eslintrcVersion = '^2.1.1';
7
- exports.eslintConfigPrettierVersion = '^10.0.0';
7
+ exports.eslintConfigPrettierVersion = '^9.0.0';
8
8
  exports.typescriptESLintVersion = '^7.16.0';
9
- exports.jsoncEslintParserVersion = '^2.1.0';
10
9
  // Updated linting stack for ESLint v9, typescript-eslint v8
11
- exports.eslint9__typescriptESLintVersion = '^8.29.0';
10
+ exports.eslint9__typescriptESLintVersion = '^8.0.0';
12
11
  exports.eslint9__eslintVersion = '^9.8.0';
13
12
  exports.eslintCompat = '^1.1.1';
@@ -1,2 +0,0 @@
1
- import { type GeneratorCallback, type Tree } from '@nx/devkit';
2
- export default function (tree: Tree): Promise<GeneratorCallback>;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const devkit_1 = require("@nx/devkit");
5
- const semver_1 = require("semver");
6
- const version_utils_1 = require("../../utils/version-utils");
7
- async function default_1(tree) {
8
- const devDependencies = {};
9
- const checkPackageAndMigrate = (pkgName) => {
10
- const pkgVersion = (0, version_utils_1.getInstalledPackageVersion)(pkgName, tree);
11
- if (!!pkgVersion && (0, semver_1.gte)(pkgVersion, '8.0.0') && (0, semver_1.lt)(pkgVersion, '8.13.0')) {
12
- devDependencies[pkgName] = '^8.13.0';
13
- }
14
- };
15
- checkPackageAndMigrate('typescript-eslint');
16
- checkPackageAndMigrate('@typescript-eslint/eslint-plugin');
17
- checkPackageAndMigrate('@typescript-eslint/parser');
18
- checkPackageAndMigrate('@typescript-eslint/utils');
19
- if (Object.keys(devDependencies).length > 0) {
20
- return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDependencies);
21
- }
22
- return () => { };
23
- }
@@ -1,2 +0,0 @@
1
- import { type Tree } from '@nx/devkit';
2
- export default function (tree: Tree): Promise<void>;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- const ts = require("typescript");
5
- const js_1 = require("@nx/js");
6
- async function default_1(tree) {
7
- let rootConfig;
8
- // NOTE: we don't support generating ESM base config currently so they are not handled.
9
- for (const candidate of ['eslint.config.js', 'eslint.config.cjs']) {
10
- if (tree.exists(candidate)) {
11
- rootConfig = candidate;
12
- break;
13
- }
14
- }
15
- if (!rootConfig)
16
- return;
17
- updateOverrideFileExtensions(tree, rootConfig, 'plugin:@nx/typescript', [`'**/*.ts'`, `'**/*.tsx'`], [`'**/*.cts'`, `'**/*.mts'`]);
18
- updateOverrideFileExtensions(tree, rootConfig, 'plugin:@nx/javascript', [`'**/*.js'`, `'**/*.jsx'`], [`'**/*.cjs'`, `'**/*.mjs'`]);
19
- }
20
- function updateOverrideFileExtensions(tree, configFile, plugin, matchingExts, newExts) {
21
- const content = tree.read(configFile, 'utf-8');
22
- const source = ts.createSourceFile('', content, ts.ScriptTarget.Latest, true, ts.ScriptKind.JS);
23
- let compatNode;
24
- const spreadElementNodes = (0, js_1.findNodes)(source, ts.SyntaxKind.SpreadElement);
25
- for (const a of spreadElementNodes) {
26
- const assignmentNodes = (0, js_1.findNodes)(a, ts.SyntaxKind.PropertyAssignment);
27
- if (assignmentNodes.length === 0)
28
- continue;
29
- for (const b of assignmentNodes) {
30
- if (b.name.getText() === 'extends' &&
31
- b.initializer.getText().includes(plugin)) {
32
- compatNode = a;
33
- break;
34
- }
35
- }
36
- }
37
- if (compatNode) {
38
- const arrayNodes = (0, js_1.findNodes)(compatNode, ts.SyntaxKind.ArrayLiteralExpression);
39
- for (const a of arrayNodes) {
40
- if (matchingExts.every((ext) => a.elements.some((e) => e.getText() === ext))) {
41
- const exts = new Set(a.elements.map((e) => e.getText()));
42
- for (const ext of newExts) {
43
- exts.add(ext);
44
- }
45
- (0, js_1.replaceChange)(tree, source, configFile, a.getStart(a.getSourceFile()), `[${Array.from(exts).join(', ')}]`, a.getText()).getText();
46
- }
47
- }
48
- }
49
- }