@msobiecki/eslint-config 8.38.1 → 8.39.0

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 (65) hide show
  1. package/CHANGELOG.md +38 -56
  2. package/README.md +73 -58
  3. package/eslint.config.js +209 -0
  4. package/jest.config.js +7 -5
  5. package/package.json +32 -33
  6. package/rules/base.js +582 -0
  7. package/rules/imports.js +273 -0
  8. package/rules/node.js +12 -0
  9. package/{__tests__ → tests}/base.test.js +15 -10
  10. package/tests/eslint.config.js +13 -0
  11. package/tests/test-cases/base/array-callback-return.js +2 -0
  12. package/tests/test-cases/base/block-scoped-var.js +40 -0
  13. package/tests/test-cases/base/consistent-return.js +4 -0
  14. package/tests/test-cases/base/curly.js +9 -0
  15. package/tests/test-cases/base/default-case.js +7 -0
  16. package/tests/test-cases/base/guard-for-in.js +4 -0
  17. package/tests/test-cases/base/no-alert.js +2 -0
  18. package/tests/test-cases/base/no-else-return.js +38 -0
  19. package/tests/test-cases/base/no-empty-function.js +44 -0
  20. package/tests/test-cases/base/no-extend-native.js +2 -0
  21. package/tests/test-cases/base/no-fallthrough.js +9 -0
  22. package/tests/test-cases/base/no-new.js +2 -0
  23. package/tests/test-cases/base/no-param-reassign.js +4 -0
  24. package/tests/test-cases/base/no-proto.js +2 -0
  25. package/tests/test-cases/base/no-redeclare.js +15 -0
  26. package/tests/test-cases/base/no-return-assign.js +4 -0
  27. package/tests/test-cases/base/no-script-url.js +2 -0
  28. package/tests/test-cases/base/no-self-compare.js +3 -0
  29. package/tests/test-cases/base/no-sequences.js +2 -0
  30. package/tests/test-cases/base/no-useless-concat.js +8 -0
  31. package/{__tests__ → tests}/test-cases/base/no-var.js +1 -1
  32. package/tests/test-cases/base/no-void.js +4 -0
  33. package/tests/test-cases/base/radix.js +2 -0
  34. package/tests/test-cases/base/yoda.js +29 -0
  35. package/utils/get-ts-config.js +16 -9
  36. package/.eslintrc.json +0 -3
  37. package/__tests__/.eslintrc.json +0 -3
  38. package/__tests__/test-cases/base/comma-dangle.js +0 -2
  39. package/best-practice-next.js +0 -3
  40. package/best-practice.js +0 -3
  41. package/index.js +0 -3
  42. package/jest-dom.js +0 -3
  43. package/jest-react.js +0 -3
  44. package/jest.js +0 -3
  45. package/next.js +0 -3
  46. package/node.js +0 -3
  47. package/presets/base/base.js +0 -26
  48. package/presets/best-practice/best-practice-next.js +0 -12
  49. package/presets/best-practice/best-practice.js +0 -38
  50. package/presets/jest/jest-base.js +0 -8
  51. package/presets/jest/jest-dom.js +0 -9
  52. package/presets/jest/jest-react.js +0 -8
  53. package/presets/next/next.js +0 -13
  54. package/presets/node/node.js +0 -3
  55. package/presets/react/react-jsx.js +0 -3
  56. package/presets/react/react.js +0 -68
  57. package/react-jsx.js +0 -3
  58. package/react.js +0 -3
  59. /package/{__tests__ → tests}/test-cases/base/camelcase.js +0 -0
  60. /package/{__tests__ → tests}/test-cases/base/eqeqeq.js +0 -0
  61. /package/{__tests__ → tests}/test-cases/base/no-console.js +0 -0
  62. /package/{__tests__ → tests}/test-cases/base/no-eval.js +0 -0
  63. /package/{__tests__ → tests}/test-cases/base/no-undef.js +0 -0
  64. /package/{__tests__ → tests}/test-cases/base/no-unused-vars.js +0 -0
  65. /package/{__tests__ → tests}/test-cases/base/prefer-const.js +0 -0
@@ -1,2 +0,0 @@
1
- // ❌ Violates: comma-dangle
2
- const array = [1, 2, 3,];
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/best-practice/best-practice-next.js"],
3
- };
package/best-practice.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/best-practice/best-practice.js"],
3
- };
package/index.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/base/base.js"],
3
- };
package/jest-dom.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/jest/jest-dom.js"],
3
- };
package/jest-react.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/jest/jest-react.js"],
3
- };
package/jest.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/jest/jest-base.js"],
3
- };
package/next.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/next/next.js"],
3
- };
package/node.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/node/node.js"],
3
- };
@@ -1,26 +0,0 @@
1
- const getTsConfig = require("../../utils/get-ts-config");
2
-
3
- module.exports = {
4
- extends: ["airbnb-base"],
5
- overrides: [
6
- {
7
- files: ["**/*.ts"],
8
- extends: [
9
- "airbnb-typescript/base",
10
- "plugin:@typescript-eslint/recommended",
11
- "plugin:@typescript-eslint/recommended-requiring-type-checking",
12
- ],
13
- parserOptions: {
14
- project: getTsConfig(),
15
- },
16
- rules: {
17
- "@typescript-eslint/no-unused-vars": [
18
- "error",
19
- {
20
- argsIgnorePattern: "^_",
21
- },
22
- ],
23
- },
24
- },
25
- ],
26
- };
@@ -1,12 +0,0 @@
1
- module.exports = {
2
- rules: {
3
- "unicorn/prevent-abbreviations": [
4
- "error",
5
- {
6
- allowList: {
7
- generateStaticParams: true,
8
- },
9
- },
10
- ],
11
- },
12
- };
@@ -1,38 +0,0 @@
1
- module.exports = {
2
- extends: [
3
- "plugin:promise/recommended",
4
- "plugin:unicorn/recommended",
5
- "plugin:security/recommended-legacy",
6
- "plugin:jsdoc/recommended",
7
- "plugin:eslint-comments/recommended",
8
- "plugin:compat/recommended",
9
- "plugin:prettier/recommended",
10
- ],
11
- settings: {
12
- jsdoc: {
13
- tagNamePreference: {
14
- swagger: "swagger",
15
- },
16
- },
17
- },
18
- rules: {
19
- "unicorn/prefer-module": "off",
20
- "unicorn/no-useless-undefined": "off",
21
- "unicorn/prefer-top-level-await": "off",
22
- },
23
- overrides: [
24
- {
25
- files: ["**/*.ts?(x)"],
26
- extends: [
27
- "plugin:jsdoc/recommended-typescript",
28
- "plugin:deprecation/recommended",
29
- ],
30
- },
31
- {
32
- files: ["**/index.{js,ts}"],
33
- rules: {
34
- "import/prefer-default-export": "off",
35
- },
36
- },
37
- ],
38
- };
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- overrides: [
3
- {
4
- files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
5
- extends: ["plugin:jest/recommended", "plugin:jest/style"],
6
- },
7
- ],
8
- };
@@ -1,9 +0,0 @@
1
- module.exports = {
2
- extends: ["plugin:jest-dom/recommended"],
3
- overrides: [
4
- {
5
- files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
6
- extends: ["plugin:testing-library/dom"],
7
- },
8
- ],
9
- };
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- overrides: [
3
- {
4
- files: ["**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)"],
5
- extends: ["plugin:testing-library/react"],
6
- },
7
- ],
8
- };
@@ -1,13 +0,0 @@
1
- const getTsConfig = require("../../utils/get-ts-config");
2
-
3
- module.exports = {
4
- extends: ["next"],
5
- overrides: [
6
- {
7
- files: ["**/*.ts?(x)"],
8
- parserOptions: {
9
- project: getTsConfig(),
10
- },
11
- },
12
- ],
13
- };
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["plugin:n/recommended"],
3
- };
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["plugin:react/jsx-runtime"],
3
- };
@@ -1,68 +0,0 @@
1
- const getTsConfig = require("../../utils/get-ts-config");
2
-
3
- module.exports = {
4
- extends: ["airbnb", "airbnb/hooks"],
5
- rules: {
6
- "react/function-component-definition": [
7
- "error",
8
- {
9
- namedComponents: ["arrow-function"],
10
- unnamedComponents: ["arrow-function"],
11
- },
12
- ],
13
- },
14
- overrides: [
15
- {
16
- files: ["**/*.ts?(x)"],
17
- extends: [
18
- "airbnb-typescript",
19
- "plugin:@typescript-eslint/recommended",
20
- "plugin:@typescript-eslint/recommended-requiring-type-checking",
21
- ],
22
- parserOptions: {
23
- project: getTsConfig(),
24
- },
25
- rules: {
26
- "@typescript-eslint/no-unused-vars": [
27
- "error",
28
- {
29
- argsIgnorePattern: "^_",
30
- },
31
- ],
32
- },
33
- },
34
- {
35
- files: [
36
- "**/contexts/**/*.{js,jsx,ts,tsx}",
37
- "**/components/**/*.{js,jsx,ts,tsx}",
38
- ],
39
- rules: {
40
- "unicorn/filename-case": [
41
- "error",
42
- {
43
- cases: {
44
- pascalCase: true,
45
- },
46
- },
47
- ],
48
- },
49
- },
50
- {
51
- files: ["**/*.{js,jsx,ts,tsx}"],
52
- excludedFiles: [
53
- "**/contexts/**/*.{js,jsx,ts,tsx}",
54
- "**/components/**/*.{js,jsx,ts,tsx}",
55
- ],
56
- rules: {
57
- "unicorn/filename-case": [
58
- "error",
59
- {
60
- cases: {
61
- kebabCase: true,
62
- },
63
- },
64
- ],
65
- },
66
- },
67
- ],
68
- };
package/react-jsx.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/react/react-jsx.js"],
3
- };
package/react.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ["./presets/react/react.js"],
3
- };
File without changes
File without changes