linter-bundle 6.2.2 → 7.0.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 (144) hide show
  1. package/.linter-bundle.js +27 -17
  2. package/.linter-bundle.schema.json +45 -0
  3. package/CHANGELOG.md +149 -4
  4. package/README.md +60 -63
  5. package/eslint/gatsby.mjs +95 -0
  6. package/eslint/index.mjs +1127 -0
  7. package/eslint/javascript-lazy.mjs +24 -0
  8. package/eslint/javascript.mjs +126 -0
  9. package/eslint/jest.mjs +172 -0
  10. package/eslint/jsdoc.mjs +103 -0
  11. package/eslint/react.mjs +232 -0
  12. package/eslint/rules/no-unnecessary-typeof.md +1 -1
  13. package/eslint/rules/{no-unnecessary-typeof.js → no-unnecessary-typeof.mjs} +9 -11
  14. package/eslint/rules/restricted-filenames.md +4 -4
  15. package/eslint/rules/{restricted-filenames.js → restricted-filenames.mjs} +7 -6
  16. package/eslint/storybook.mjs +42 -0
  17. package/eslint/type-declarations.mjs +49 -0
  18. package/eslint/{overrides-worker.cjs → worker.mjs} +12 -14
  19. package/eslint.mjs +5 -0
  20. package/files/index.js +3 -3
  21. package/helper/{ensure-type.cjs → ensure-type.mjs} +1 -5
  22. package/helper/get-outdated-dependencies.js +4 -4
  23. package/helper/get-outdated-overrides.js +2 -2
  24. package/helper/get-stylelint-path.js +4 -3
  25. package/helper/is-npm-or-yarn.js +2 -2
  26. package/helper/linter-bundle-config.d.ts +24 -0
  27. package/helper/linter-bundle-config.js +9 -14
  28. package/helper/run-process.js +1 -1
  29. package/lint.js +21 -16
  30. package/package.json +31 -29
  31. package/stylelint/index.mjs +1111 -0
  32. package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/{index.cjs → index.mjs} +1 -1
  33. package/stylelint/plugins/stylelint-15.11.0-stylistic/reference/{selectors.cjs → selectors.mjs} +15 -31
  34. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/{index.cjs → index.mjs} +6 -12
  35. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/{index.cjs → index.mjs} +11 -13
  36. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/{index.cjs → index.mjs} +18 -22
  37. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/{index.cjs → index.mjs} +10 -9
  38. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{atRuleNameSpaceChecker.cjs → atRuleNameSpaceChecker.mjs} +4 -3
  39. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/{index.cjs → index.mjs} +16 -30
  40. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/{index.cjs → index.mjs} +13 -35
  41. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/{index.cjs → index.mjs} +11 -40
  42. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/{index.cjs → index.mjs} +10 -27
  43. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/{index.cjs → index.mjs} +14 -65
  44. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/{index.cjs → index.mjs} +13 -30
  45. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/{index.cjs → index.mjs} +14 -27
  46. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/{index.cjs → index.mjs} +10 -16
  47. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.mjs +93 -0
  48. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/{index.cjs → index.mjs} +11 -12
  49. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/{index.cjs → index.mjs} +11 -29
  50. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/{index.cjs → index.mjs} +9 -8
  51. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/{index.cjs → index.mjs} +10 -23
  52. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/{index.cjs → index.mjs} +11 -36
  53. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/{index.cjs → index.mjs} +9 -27
  54. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/{index.cjs → index.mjs} +9 -25
  55. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/{index.cjs → index.mjs} +8 -9
  56. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/{index.cjs → index.mjs} +8 -9
  57. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{declarationBangSpaceChecker.cjs → declarationBangSpaceChecker.mjs} +5 -4
  58. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{declarationColonSpaceChecker.cjs → declarationColonSpaceChecker.mjs} +5 -4
  59. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{findMediaOperator.cjs → findMediaOperator.mjs} +2 -2
  60. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/{index.cjs → index.mjs} +8 -9
  61. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/{index.cjs → index.mjs} +8 -9
  62. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/{index.cjs → index.mjs} +8 -9
  63. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/{index.cjs → index.mjs} +8 -9
  64. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/{index.cjs → index.mjs} +19 -39
  65. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/{index.cjs → index.mjs} +19 -54
  66. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/{index.cjs → index.mjs} +21 -68
  67. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/{index.cjs → index.mjs} +16 -31
  68. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{functionCommaSpaceChecker.cjs → functionCommaSpaceChecker.mjs} +8 -7
  69. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{functionCommaSpaceFix.cjs → functionCommaSpaceFix.mjs} +1 -1
  70. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/{index.cjs → index.mjs} +39 -64
  71. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/{index.cjs → index.mjs} +15 -44
  72. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/{index.cjs → index.mjs} +10 -49
  73. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/{index.cjs → index.mjs} +10 -9
  74. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/{index.cjs → index.mjs} +8 -9
  75. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/{index.cjs → index.mjs} +8 -9
  76. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/{index.cjs → index.mjs} +9 -16
  77. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/{index.cjs → index.mjs} +8 -21
  78. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/{index.cjs → index.mjs} +10 -11
  79. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/{index.cjs → index.mjs} +10 -11
  80. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/{index.cjs → index.mjs} +8 -9
  81. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/{index.cjs → index.mjs} +6 -6
  82. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/{index.cjs → index.mjs} +8 -9
  83. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/{index.cjs → index.mjs} +8 -9
  84. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{mediaFeatureColonSpaceChecker.cjs → mediaFeatureColonSpaceChecker.mjs} +5 -4
  85. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{mediaQueryListCommaWhitespaceChecker.cjs → mediaQueryListCommaWhitespaceChecker.mjs} +6 -5
  86. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/{index.cjs → index.mjs} +6 -20
  87. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/{index.cjs → index.mjs} +13 -16
  88. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/{index.cjs → index.mjs} +10 -33
  89. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/{index.cjs → index.mjs} +7 -13
  90. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/{index.cjs → index.mjs} +13 -31
  91. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/{index.cjs → index.mjs} +9 -18
  92. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/{index.cjs → index.mjs} +10 -16
  93. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/{index.cjs → index.mjs} +9 -36
  94. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/{index.cjs → index.mjs} +7 -8
  95. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/{index.cjs → index.mjs} +7 -8
  96. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/{index.cjs → index.mjs} +7 -8
  97. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/{index.cjs → index.mjs} +7 -8
  98. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/{index.cjs → index.mjs} +9 -20
  99. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/{index.cjs → index.mjs} +9 -14
  100. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/{index.cjs → index.mjs} +7 -8
  101. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/{index.cjs → index.mjs} +7 -8
  102. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/{index.cjs → index.mjs} +7 -8
  103. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/{index.cjs → index.mjs} +10 -21
  104. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/{index.cjs → index.mjs} +10 -24
  105. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/{index.cjs → index.mjs} +12 -35
  106. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/{index.cjs → index.mjs} +10 -15
  107. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{selectorAttributeOperatorSpaceChecker.cjs → selectorAttributeOperatorSpaceChecker.mjs} +6 -5
  108. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{selectorCombinatorSpaceChecker.cjs → selectorCombinatorSpaceChecker.mjs} +12 -11
  109. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{selectorListCommaWhitespaceChecker.cjs → selectorListCommaWhitespaceChecker.mjs} +5 -4
  110. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/{index.cjs → index.mjs} +43 -65
  111. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/{index.cjs → index.mjs} +5 -5
  112. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/{index.cjs → index.mjs} +17 -34
  113. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/{index.cjs → index.mjs} +11 -12
  114. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/{index.cjs → index.mjs} +6 -6
  115. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/{index.cjs → index.mjs} +10 -11
  116. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/{index.cjs → index.mjs} +10 -11
  117. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/{index.cjs → index.mjs} +12 -18
  118. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/{valueListCommaWhitespaceChecker.cjs → valueListCommaWhitespaceChecker.mjs} +6 -5
  119. package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/{index.cjs → index.mjs} +1 -1
  120. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{addEmptyLineAfter.cjs → addEmptyLineAfter.mjs} +1 -1
  121. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{hasEmptyBlock.cjs → hasEmptyBlock.mjs} +2 -2
  122. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{nextNonCommentNode.cjs → nextNonCommentNode.mjs} +1 -1
  123. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{removeEmptyLinesAfter.cjs → removeEmptyLinesAfter.mjs} +1 -1
  124. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/transformSelector.mjs +19 -0
  125. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/{whitespaceChecker.cjs → whitespaceChecker.mjs} +5 -5
  126. package/stylelint/plugins/stylelint-selector-no-empty.js +2 -0
  127. package/stylelint/plugins/stylelint-selector-tag-no-without-class.js +2 -2
  128. package/stylelint.mjs +6 -0
  129. package/TODO.md +0 -58
  130. package/eslint/index.cjs +0 -1065
  131. package/eslint/overrides-gatsby.cjs +0 -108
  132. package/eslint/overrides-javascript-lazy.cjs +0 -27
  133. package/eslint/overrides-javascript.cjs +0 -121
  134. package/eslint/overrides-jest.cjs +0 -144
  135. package/eslint/overrides-jsdoc.cjs +0 -94
  136. package/eslint/overrides-react.cjs +0 -220
  137. package/eslint/overrides-storybook.cjs +0 -44
  138. package/eslint/overrides-type-declarations.cjs +0 -51
  139. package/eslint/rules/no-global-undefined-check.js +0 -85
  140. package/eslint/rules/no-global-undefined-check.md +0 -34
  141. package/eslint.cjs +0 -5
  142. package/stylelint/index.cjs +0 -1104
  143. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.cjs +0 -95
  144. package/stylelint.cjs +0 -5
package/.linter-bundle.js CHANGED
@@ -1,11 +1,10 @@
1
+ /**
2
+ * @file Configuration used for linting the linter-bundle.
3
+ */
4
+
1
5
  const snippets = {
2
- lowerCase: '[a-z]*([a-z0-9])',
3
- upperCase: '[A-Z]*([A-Z0-9])',
4
- snakeCase: '[a-z]*(*([a-z0-9]_)+([a-z0-9]))',
5
- screamingSnakeCase: '[A-Z]*(*([A-Z0-9]_)+([A-Z0-9]))',
6
6
  kebabCase: '[a-z]*(*([a-z0-9]-)+([a-z0-9]))',
7
- camelCase: '[a-z]*([a-zA-Z0-9])',
8
- pascalCase: '[A-Z]*([a-zA-Z0-9])'
7
+ camelCase: '[a-z]*([a-zA-Z0-9])'
9
8
  };
10
9
 
11
10
  export default {
@@ -19,18 +18,18 @@ export default {
19
18
  '.git/**',
20
19
  '.github/FUNDING.yml',
21
20
  '.vscode/settings.json',
22
- `eslint/rules/package.json`,
23
- `eslint/rules/${snippets.kebabCase}.{js,md}`,
24
- `eslint/{index.cjs,overrides-${snippets.kebabCase}.cjs}`,
21
+ 'eslint/rules/package.json',
22
+ `eslint/rules/${snippets.kebabCase}.{js,mjs,md}`,
23
+ `eslint/${snippets.kebabCase}.mjs`,
25
24
  'files/index.js',
26
- `helper/${snippets.kebabCase}.{js,cjs,d.ts}`,
25
+ `helper/${snippets.kebabCase}.{js,cjs,mjs,d.ts}`,
27
26
  'markdownlint/base.json',
28
27
  'node_modules/**',
29
- 'stylelint/index.cjs',
28
+ 'stylelint/index.mjs',
30
29
  `stylelint/plugins/stylelint-${snippets.kebabCase}.js`,
31
- `stylelint/plugins/stylelint-15.11.0-stylistic/**/{${snippets.camelCase}.cjs,README.md,LICENSE}`,
30
+ `stylelint/plugins/stylelint-15.11.0-stylistic/**/{${snippets.camelCase}.mjs,README.md,LICENSE}`,
32
31
  '.editorconfig',
33
- '.eslintrc.cjs',
32
+ 'eslint.config.mjs',
34
33
  '.gitattributes',
35
34
  '.gitignore',
36
35
  '.linter-bundle.js',
@@ -38,13 +37,13 @@ export default {
38
37
  '.markdownlint.json',
39
38
  '.npmignore',
40
39
  '*.md',
41
- 'eslint.cjs',
40
+ 'eslint.mjs',
42
41
  'LICENSE',
43
42
  'lint.js',
44
43
  'package-lock.json',
45
44
  'package.json',
46
- 'stylelint.cjs',
47
- 'stylelint.config.cjs',
45
+ 'stylelint.mjs',
46
+ 'stylelint.config.js',
48
47
  'test-stylelint.js',
49
48
  'tsconfig.json',
50
49
  'vscode-eslint-1.png',
@@ -52,5 +51,16 @@ export default {
52
51
  ]
53
52
  }
54
53
  ]
54
+ },
55
+ ts: {
56
+ overrides: {
57
+ general: {
58
+ 'import/order': {
59
+ additionalExternalPatterns: [
60
+ '@stylistic/**'
61
+ ]
62
+ }
63
+ }
64
+ }
55
65
  }
56
- }
66
+ };
@@ -14,6 +14,15 @@
14
14
  "files": {
15
15
  "type": "object",
16
16
  "properties": {
17
+ "git": {
18
+ "type": "boolean"
19
+ },
20
+ "include": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string"
24
+ }
25
+ },
17
26
  "restrictions": {
18
27
  "type": "array",
19
28
  "items": {
@@ -59,6 +68,12 @@
59
68
  "ts": {
60
69
  "type": "object",
61
70
  "properties": {
71
+ "timing": {
72
+ "type": "boolean"
73
+ },
74
+ "git": {
75
+ "type": "boolean"
76
+ },
62
77
  "tsconfig": {
63
78
  "type": "string"
64
79
  },
@@ -92,12 +107,42 @@
92
107
  "sass": {
93
108
  "type": "object",
94
109
  "properties": {
110
+ "verbose": {
111
+ "type": "boolean"
112
+ },
113
+ "timing": {
114
+ "type": "boolean"
115
+ },
116
+ "git": {
117
+ "type": "boolean"
118
+ },
119
+ "include": {
120
+ "type": "array",
121
+ "items": {
122
+ "type": "string"
123
+ }
124
+ },
95
125
  "patternPrefix": {
96
126
  "type": "string"
97
127
  }
98
128
  },
99
129
  "additionalProperties": false
100
130
  },
131
+ "md": {
132
+ "type": "object",
133
+ "properties": {
134
+ "git": {
135
+ "type": "boolean"
136
+ },
137
+ "include": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "string"
141
+ }
142
+ }
143
+ },
144
+ "additionalProperties": false
145
+ },
101
146
  "audit": {
102
147
  "type": "object",
103
148
  "properties": {
package/CHANGELOG.md CHANGED
@@ -6,7 +6,152 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.2.2...HEAD)
9
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.0.0...HEAD)
10
+
11
+ ## [7.0.0] - 2025-03-11
12
+
13
+ ### Breaking Changes
14
+
15
+ - [general] All configuration files have been migrated from CommonJS to ESModules
16
+ - [general] The global configuration variable `global.linterBundleSettings` has been replaced by a `.linter-bundle.json` / `.linter-bundle.mjs` / `.linter-bundle.cjs` / `.linter-bundle.js` configuration file in the projects root directory
17
+ - [eslint] It's now using the ESLint Flat Config format
18
+ - [eslint] `.eslintrc.js` needs to be renamed to `eslint.config.mjs`, `module.exports =` needs to be replaced by `export default [`. See [eslint.org](https://eslint.org/docs/latest/use/configure/migration-guide#key-differences-between-configuration-formats) website additional required changes
19
+ - [eslint] The VSCode configuration needs to be adapted. See [README.md](./README.md)
20
+ - [eslint] The prefixes "override-" has been removed from the specialized rule files and the suffix `.cjs` has been replaced by `.mjs`
21
+ - [stylelint] The stylelint configuration has been renamed from `linter-bundle/stylelint.cjs` to `linter-bundle/stylelint.mjs`
22
+ - [stylelint] As the interface for rules changed slightly, I had to remove some auto-fixes for the previously forked stylistic rules.
23
+ - [general] Drop support for Node.js version less than v20.9.0 and v21.1.0 as a lot of ESLint plugins are not supporting them
24
+
25
+ ### Fixed
26
+
27
+ - [eslint] Fixed "Error reading .linter-bundle.js" in VSCode in some conditions
28
+
29
+ Beside these changes:
30
+
31
+ ### Changed
32
+
33
+ - [general] `"extends"` in the .eslintrc.js needs to be suffixed with the ".mjs" file extension (e.g. `require.resolve('linter-bundle/eslint.mjs')`)
34
+ - [general] `"extends"` in the stylelint.config.js needs to be suffixed with the ".mjs" file extension (e.g. `require.resolve('linter-bundle/stylelint.mjs')`)
35
+ - [eslint] Updated `@typescript-eslint` from `6.21.0` to `8.26.1`
36
+ - [eslint] Updated `eslint` from `8.56.0` to `9.22.0`
37
+ - [eslint] Updated `eslint-import-resolver-typescript` from `3.6.1` to `3.8.4`
38
+ - [eslint] Updated `eslint-import-resolver-webpack` from `0.13.8` to `0.13.10`
39
+ - [eslint] Updated `eslint-plugin-functional` from `6.0.0` to `9.0.1`
40
+ - [eslint] Updated `eslint-plugin-jest` from `27.6.3` to `28.11.0`
41
+ - [eslint] Updated `eslint-plugin-jsdoc` from `48.0.5` to `50.6.6`
42
+ - [eslint] Updated `eslint-plugin-jsx-a11y` from `6.8.0` to `6.10.2`
43
+ - [eslint] Updated `eslint-plugin-n` from `16.6.2` to `17.16.2`
44
+ - [eslint] Updated `eslint-plugin-promise` from `6.1.1` to `7.2.1`
45
+ - [eslint] Updated `eslint-plugin-react` from `7.33.2` to `7.37.4`
46
+ - [eslint] Updated `eslint-plugin-react-hooks` from `4.6.0` to `5.2.0`
47
+ - [eslint] Updated `eslint-plugin-unicorn` from `51.0.0` to `57.0.0`
48
+ - [eslint] Updated `@stylistic/eslint-plugin` from `2.11.0` to `4.2.0`
49
+ - [markdownlint] Updated `markdownlint-cli` from `0.39.0` to `0.44.0`
50
+ - [stylelint] Updated `stylelint` from `16.2.1` to `16.15.0`
51
+ - [stylelint] Updated `stylelint-scss` from `6.1.0` to `6.11.1`
52
+ - [stylelint] Updated `stylelint-high-performance-animation` from `1.10.0` to `1.11.0`
53
+ - [audit] Updated `better-npm-audit` from `3.7.3` to `3.11.0`
54
+ - [eslint] Activate `checkTypePredicates` of [`@typescript-eslint/no-unnecessary-condition`](https://typescript-eslint.io/rules/no-unnecessary-condition/) rule
55
+ - [eslint] Adjusted `@typescript-eslint/naming-convention` rule configuration to allow constant names starting with "_" if they are unused
56
+ - [eslint] Renamed the rule `no-unnecessary-typeof` to `linter-bundle/no-unnecessary-typeof`
57
+ - [eslint] Renamed the rule `restricted-filenames` to `linter-bundle/restricted-filenames`
58
+ - [eslint] Increase `max` of `import/max-dependencies` rule from 20 to 25
59
+ - [eslint] Disabled `unicorn/string-content` as it sometimes breaks code (e.g. imports with `...` in Next.js or GraphQL template strings)
60
+
61
+ ### Added
62
+
63
+ - [eslint] Added "_" and "c" to allowed id names in [`id-length`] rule
64
+ - [eslint] Added [`@typescript-eslint/no-unnecessary-template-expression`](https://typescript-eslint.io/rules/no-unnecessary-template-expression/) rule (replaces `@typescript-eslint/no-useless-template-literals`)
65
+ - [eslint] Added but disabled new [`functional/no-class-inheritance`](https://github.com/eslint-functional/eslint-plugin-functional/blob/main/docs/rules/no-class-inheritance.md) rule
66
+ - [eslint] Added new [`@typescript-eslint/consistent-return`](https://typescript-eslint.io/rules/consistent-return/) rule
67
+ - [eslint] Added new [`@typescript-eslint/no-unnecessary-parameter-property-assignment`](https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment/) rule
68
+ - [eslint] Added new [`@typescript-eslint/no-unnecessary-type-parameters`](https://typescript-eslint.io/rules/no-unnecessary-type-parameters/) rule
69
+ - [eslint] Added new [`@typescript-eslint/no-unsafe-type-assertion`](https://typescript-eslint.io/rules/no-unsafe-type-assertion/) rule
70
+ - [eslint] Added new [`@typescript-eslint/no-useless-assignment`](https://eslint.org/docs/latest/rules/no-useless-assignment) rule
71
+ - [eslint] Added new [`@typescript-eslint/only-throw-error`](https://typescript-eslint.io/rules/only-throw-error/) rule
72
+ - [eslint] Added new [`@typescript-eslint/use-unknown-in-catch-callback-variable`](https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable/) rule
73
+ - [eslint] Added new [`no-empty-object-type`](https://typescript-eslint.io/rules/no-empty-object-type/) rule
74
+ - [eslint] Added new [`promise/spec-only`](https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/spec-only.md) rule
75
+ - [eslint] Added new [`unicorn/consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) rule
76
+ - [eslint] Added new [`unicorn/consistent-existence-index-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-existence-index-check.md) rule
77
+ - [eslint] Added new [`unicorn/no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) rule
78
+ - [eslint] Added new [`unicorn/no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) rule
79
+ - [eslint] Added new [`unicorn/no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) rule
80
+ - [eslint] Added new [`unicorn/no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) rule
81
+ - [eslint] Added new [`unicorn/prefer-global-this`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-global-this.md) rule
82
+ - [eslint] Added new [`unicorn/prefer-math-min-max`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-min-max.md) rule
83
+ - [eslint] Added new [`unicorn/prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) rule
84
+ - [eslint] Added new [`unicorn/prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) rule
85
+ - [eslint] Added new [`unicorn/consistent-date-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-date-clone.md) rule
86
+ - [eslint] Added new [`unicorn/consistent-assert`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-assert.md) rule
87
+ - [eslint] Added new [`unicorn/no-accessor-recursion`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-accessor-recursion.md) rule
88
+ - [eslint] Added new [`unicorn/no-instanceof-builtins`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-builtins.md) rule
89
+ - [eslint] Added new [`unicorn/no-named-default`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-named-default.md) rule
90
+ - [eslint] Replaced deprecated `unicorn/no-instanceof-array` by new [`unicorn/no-instanceof-builtins`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-builtins.md) rule
91
+ - [eslint] Activate `linterOptions.reportUnusedInlineConfigs` setting
92
+ - [eslint/jsdoc] Added [`jsdoc/require-template`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md) rule
93
+ - [eslint/jsdoc] Added but disabled new [jsdoc/convert-to-jsdoc-comments`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md) rule
94
+ - [eslint/jsdoc] Added new [`jsdoc/check-template-names`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md) rule
95
+ - [eslint/jsdoc] Added new [`jsdoc/lines-before-block`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md) rule with disabled `ignoreSameLine`
96
+ - [eslint/react] Added new [`react/forward-ref-uses-ref`](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.36.0/docs/rules/forward-ref-uses-ref.md) rule
97
+ - [eslint/react] Activate `ignoreTranspilerName` for [`react/display-name`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/display-name.md)
98
+ - [eslint/react] Activate `unicorn/prefer-node-protocol` rule
99
+ - [eslint/react] Added new [`react/checked-requires-onchange-or-readonly`](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.34.0/docs/rules/checked-requires-onchange-or-readonly.md) rule
100
+ - [eslint/react] Added new [`react/jsx-props-no-spread-multi`](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.35.0/docs/rules/jsx-props-no-spread-multi.md) rule
101
+ - [eslint/jest] Added but disabled new[`jest/prefer-importing-jest-globals`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-importing-jest-globals.md) rule
102
+ - [eslint/jest] Added new [`jest/prefer-jest-mocked`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-jest-mocked.md) rule
103
+ - [eslint/promise] Added new [`promise/prefer-catch`](https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/prefer-catch.md) rule
104
+ - [markdownlint] Added new [`MD058/blanks-around-tables`](https://github.com/DavidAnson/markdownlint/blob/main/doc/md058.md) rule
105
+ - [stylelint] Added and disabled new [`scss/at-import-partial-extension-allowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-import-partial-extension-allowed-list/README.md) rule, and removed deprecated `at-import-partial-extension-whitelist` rule
106
+ - [stylelint] Added and disabled new [`scss/at-import-partial-extension-disallowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-import-partial-extension-disallowed-list/README.md) rule, and removed deprecated `at-import-partial-extension-blacklist rule` rule
107
+ - [stylelint] Added new [`no-unknown-custom-media`](https://stylelint.io/user-guide/rules/no-unknown-custom-media/) rule
108
+ - [stylelint] Added new [`scss/at-mixin-no-risky-nesting-selector`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-mixin-no-risky-nesting-selector/README.md) rule
109
+ - [stylelint] Added new [`scss/declaration-property-value-no-unknown`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/declaration-property-value-no-unknown/README.md) rule, which disabled `declaration-property-value-no-unknown`
110
+ - [stylelint] Added new [`scss/function-color-channel`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-color-channel/README.md) rule
111
+ - [stylelint] Added new [`scss/load-partial-extension`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/load-partial-extension/README.md) rule, and removed deprecated `at-import-partial-extension` rule
112
+ - [stylelint] Added new [`scss/no-duplicate-load-rules`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/no-duplicate-load-rules) rule
113
+ - [stylelint] Added new [`at-rule-descriptor-no-unknown`](https://stylelint.io/user-guide/rules/at-rule-descriptor-no-unknown/) rule
114
+ - [stylelint] Added new [`at-rule-descriptor-value-no-unknown`](https://stylelint.io/user-guide/rules/at-rule-descriptor-value-no-unknown/) rule
115
+ - [stylelint] Added new [`at-rule-no-deprecated`](https://stylelint.io/user-guide/rules/at-rule-no-deprecated/) rule
116
+ - [stylelint] Added new [`at-rule-prelude-no-invalid`](https://stylelint.io/user-guide/rules/at-rule-prelude-no-invalid/) rule
117
+ - [stylelint] Added new [`declaration-property-value-keyword-no-deprecated`](https://stylelint.io/user-guide/rules/declaration-property-value-keyword-no-deprecated/) rule
118
+ - [stylelint] Added new [`syntax-string-no-invalid`](https://stylelint.io/user-guide/rules/syntax-string-no-invalid/) rule
119
+ - [stylelint] Show rule performance information
120
+ - [stylelint] Activated [`reportUnscopedDisables`] setting
121
+
122
+ ### Removed
123
+
124
+ - [eslint] Removed deprecated `@typescript-eslint/ban-types` rule
125
+ - [eslint] Removed deprecated `@typescript-eslint/no-throw-literal` rule
126
+ - [eslint] Removed deprecated `no-new-symbol` rule
127
+ - [eslint] Removed deprecated `prefer-ts-expect-error` rule
128
+ - [eslint] Replaced deprecated `@typescript-eslint/no-loss-of-precision` rule by ESLint `no-loss-of-precision`
129
+ - [eslint/gatsby] Removed `no-global-undefined-check` rule
130
+
131
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.3.0...v7.0.0)
132
+
133
+ ## [6.3.0] - 2024-02-06
134
+
135
+ ### Changed
136
+
137
+ - [eslint] Updated `@typescript-eslint/eslint-plugin` from `6.19.1` to `6.21.0`
138
+ - [eslint] Updated `eslint-plugin-unicorn` from `50.0.1` to `51.0.0`
139
+ - [eslint/overrides-jsdoc] Updated `eslint-plugin-jsdoc` from `48.0.3` to `48.0.5`
140
+ - [markdownlint] Updated `markdownlint-cli` from `0.38.0` to `0.39.0`
141
+ - [stylelint] Updated `stylelint` from `16.2.0` to `16.2.1`
142
+ - [eslint] Make use of [`@typescript-eslint/no-array-delete`](https://typescript-eslint.io/rules/no-array-delete/) rule
143
+ - [eslint] Make use of [`@typescript-eslint/no-useless-template-literals`](https://typescript-eslint.io/rules/no-useless-template-literals/) rule
144
+ - [eslint] Make use of [`@typescript-eslint/prefer-find`](https://typescript-eslint.io/rules/prefer-find/) rule
145
+ - [eslint] Make use of [`@typescript-eslint/prefer-promise-reject-errors`](https://typescript-eslint.io/rules/prefer-promise-reject-errors/) rule
146
+ - [markdownlint] Make use of new [`MD054`/link-image-style](https://github.com/DavidAnson/markdownlint/blob/main/doc/md054.md) rule
147
+ - [markdownlint] Make use of new [`MD056`/table-column-count](https://github.com/DavidAnson/markdownlint/blob/main/doc/md056.md) rule
148
+
149
+ ### Added
150
+
151
+ - [eslint] Added "Params" to the [unicorn/prevent-abbreviations](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v32.0.1/docs/rules/prevent-abbreviations.md) `ignore` list.
152
+ - [eslint] Added the possibility to configure additional options for the [`@typescript-eslint/naming-convention`](https://typescript-eslint.io/rules/naming-convention/) rule in the `overrides.general` linter-bundle configuration
153
+
154
+ [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.2.2...v6.3.0)
10
155
 
11
156
  ## [6.2.2] - 2024-01-25
12
157
 
@@ -693,7 +838,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
693
838
  ### Added
694
839
 
695
840
  - [eslint] Make use of [`@typescript-eslint/no-restricted-imports`](https://typescript-eslint.io/rules/no-restricted-imports/) rule
696
- - [eslint] Make use of [`@typescript-eslint/space-infix-ops`](https://typescript-eslint.io/rules/space-infix-ops/) rule
841
+ - [eslint] Make use of [`@stylistic/space-infix-ops`](https://typescript-eslint.io/rules/space-infix-ops/) rule
697
842
  - [eslint] Make use of [`@typescript-eslint/consistent-generic-constructors`](https://typescript-eslint.io/rules/consistent-generic-constructors/) rule
698
843
  - [eslint/overrides-jest] Make use of [`jest/prefer-hooks-in-order`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-hooks-in-order.md) rule
699
844
  - [eslint/overrides-jest] Make use of [`jest/max-expects`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/max-expects.md) rule
@@ -1333,7 +1478,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1333
1478
  - [eslint] Make use of new [`jsdoc/no-multi-asterisks`](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-no-multi-asterisks) rule
1334
1479
  - [eslint] Added but disabled the [`jsdoc/tag-lines`](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-tag-lines) rule
1335
1480
  - [eslint] Added but disabled the [`import/no-import-module-exports`](https://github.com/import-js/eslint-plugin-import/blob/master/docs/rules/no-import-module-exports.md) rule
1336
- - [eslint/overrides-javascript(-lazy)] Added "args" the the [unicorn/prevent-abbreviations](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v32.0.1/docs/rules/prevent-abbreviations.md) `allowList`.
1481
+ - [eslint/overrides-javascript(-lazy)] Added "args" to the [unicorn/prevent-abbreviations](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v32.0.1/docs/rules/prevent-abbreviations.md) `ignore` list.
1337
1482
 
1338
1483
  ### Changed
1339
1484
 
@@ -1474,7 +1619,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1474
1619
  - [eslint] Updated `eslint-plugin-jest` from v24.3.2 to v24.3.5
1475
1620
  - [eslint] Updated `eslint-plugin-react` from v7.22.0 to v7.23.2
1476
1621
  - [eslint] Make use of new [`react/no-unstable-nested-components`](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unstable-nested-components.md) rule
1477
- - [sass] Updated `stylelint-selector-no-empty` from v1.0.7 to v1.0.8
1622
+ - [stylelint] Updated `stylelint-selector-no-empty` from v1.0.7 to v1.0.8
1478
1623
  - [audit] Updated `better-npm-audit` from v1.0.7 to v1.0.8
1479
1624
 
1480
1625
  [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v1.9.0...v1.10.0)
package/README.md CHANGED
@@ -22,6 +22,9 @@ This setup is using the following additional plugins:
22
22
 
23
23
  ### ESLint
24
24
 
25
+ The `linter-bundle` is using the Flat Configuration Format which was introduced in ESLint v8.
26
+
27
+ - [@stylistic/eslint-plugin](https://eslint.style/)
25
28
  - [@typescript-eslint/eslint-plugin](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin)
26
29
  - [eslint-plugin-eslint-comments](https://www.npmjs.com/package/eslint-plugin-eslint-comments)
27
30
  - [eslint-plugin-functional](https://www.npmjs.com/package/eslint-plugin-functional)
@@ -37,9 +40,8 @@ This setup is using the following additional plugins:
37
40
 
38
41
  Beside that, the following additional rules are part of this bundle:
39
42
 
40
- - [no-global-undefined-check](./eslint/rules/no-global-undefined-check.md)
41
- - [no-unnecessary-typeof](./eslint/rules/no-unnecessary-typeof.md)
42
- - [restricted-filenames](./eslint/rules/restricted-filenames.md)
43
+ - [linter-bundle/no-unnecessary-typeof](./eslint/rules/no-unnecessary-typeof.md)
44
+ - [linter-bundle/restricted-filenames](./eslint/rules/restricted-filenames.md)
43
45
 
44
46
  ### stylelint
45
47
 
@@ -64,7 +66,7 @@ If these plugins are maintained again, the plugins will also be used again.
64
66
 
65
67
  ## Install
66
68
 
67
- Ensure you are using atleast Node.js version 18.2.0.
69
+ Ensure you are using atleast Node.js version 20.9.0/21.1.0.
68
70
 
69
71
  ```sh
70
72
  npm install linter-bundle --save-dev
@@ -83,45 +85,43 @@ npm install linter-bundle --save-dev
83
85
  }
84
86
  ```
85
87
 
86
- #### .eslintrc.js
88
+ #### eslint.config.mjs
87
89
 
88
90
  ```js
89
- module.exports = {
90
- extends: [
91
- require.resolve('linter-bundle/eslint.cjs'),
92
- // require.resolve('linter-bundle/eslint/overrides-gatsby.cjs'),
93
- // require.resolve('linter-bundle/eslint/overrides-javascript.cjs'),
94
- require.resolve('linter-bundle/eslint/overrides-javascript-lazy.cjs'),
95
- // require.resolve('linter-bundle/eslint/overrides-jest.cjs'),
96
- require.resolve('linter-bundle/eslint/overrides-jsdoc.cjs'),
97
- // require.resolve('linter-bundle/eslint/overrides-react.cjs'),
98
- // require.resolve('linter-bundle/eslint/overrides-storybook.cjs'),
99
- // require.resolve('linter-bundle/eslint/overrides-type-declarations.cjs'),
100
- // require.resolve('linter-bundle/eslint/overrides-worker.cjs')
101
- ]
102
- };
91
+ export default [
92
+ ...(await import('linter-bundle/eslint.mjs')).default,
93
+ // ...(await import('linter-bundle/eslint/gatsby.mjs')).default,
94
+ // ...(await import('linter-bundle/eslint/javascript.mjs')).default,
95
+ ...(await import('linter-bundle/eslint/javascript-lazy.mjs')).default,
96
+ // ...(await import('linter-bundle/eslint/jest.mjs')).default,
97
+ ...(await import('linter-bundle/eslint/jsdoc.mjs')).default,
98
+ // ...(await import('linter-bundle/eslint/react.mjs')).default,
99
+ // ...(await import('linter-bundle/eslint/storybook.mjs')).default,
100
+ // ...(await import('linter-bundle/eslint/type-declarations.mjs')).default,
101
+ // ...(await import('linter-bundle/eslint/worker.mjs')).default
102
+ ]
103
103
  ```
104
104
 
105
105
  ##### Available `extends`
106
106
 
107
107
  Source | Description | Rules setup
108
108
  -|-|-
109
- `linter-bundle/eslint.cjs` | General rule setup. This is also the base for the following **overrides**. | [View](./eslint/index.cjs)
110
- `linter-bundle/eslint/overrides-gatsby.cjs` | Settings for Gatsby-based projects. | [View](./eslint/overrides-gatsby.js)
111
- `linter-bundle/eslint/overrides-javascript.cjs` | Strict settings for JavaScript files, which enforces correct types everywhere. | [View](./eslint/overrides-javascript.cjs)
112
- `linter-bundle/eslint/overrides-javascript-lazy.cjs` | Can be used instead of `overrides-javascript`. It's less strict and allows the `any` type. | [View](./eslint/overrides-javascript-lazy.cjs)
113
- `linter-bundle/eslint/overrides-jest.cjs` | Settings for projects using Jest. | [View](./eslint/overrides-jest.cjs)
114
- `linter-bundle/eslint/overrides-jsdoc.cjs` | Settings for projects using JSDoc comments. | [View](./eslint/overrides-jsdoc.cjs)
115
- `linter-bundle/eslint/overrides-react.cjs` | Settings for projects using React comments. | [View](./eslint/overrides-react.cjs)
116
- `linter-bundle/eslint/overrides-storybook.cjs` | Settings for projects using Storybook comments. | [View](./eslint/overrides-storybook.cjs)
117
- `linter-bundle/eslint/overrides-type-declarations.cjs` | Settings for type declaration files (.d.ts). | [View](./eslint/overrides-type-declarations.cjs)
118
- `linter-bundle/eslint/overrides-worker.cjs` | Settings for projects using Web Workers. | [View](./eslint/overrides-worker.cjs)
109
+ `linter-bundle/eslint.mjs` | General rule setup. This is also the base for the following specialized rule sets. | [View](./eslint/index.mjs)
110
+ `linter-bundle/eslint/gatsby.mjs` | Settings for Gatsby-based projects. | [View](./eslint/gatsby.mjs)
111
+ `linter-bundle/eslint/javascript.mjs` | Strict settings for JavaScript files, which enforces correct types everywhere. | [View](./eslint/javascript.mjs)
112
+ `linter-bundle/eslint/javascript-lazy.mjs` | Can be used instead of `javascript`. It's less strict and allows the `any` type. | [View](./eslint/javascript-lazy.mjs)
113
+ `linter-bundle/eslint/jest.mjs` | Settings for projects using Jest. | [View](./eslint/jest.mjs)
114
+ `linter-bundle/eslint/jsdoc.mjs` | Settings for projects using JSDoc comments. | [View](./eslint/jsdoc.mjs)
115
+ `linter-bundle/eslint/react.mjs` | Settings for projects using React comments. | [View](./eslint/react.mjs)
116
+ `linter-bundle/eslint/storybook.mjs` | Settings for projects using Storybook comments. | [View](./eslint/storybook.mjs)
117
+ `linter-bundle/eslint/type-declarations.mjs` | Settings for type declaration files (.d.ts). | [View](./eslint/type-declarations.mjs)
118
+ `linter-bundle/eslint/worker.mjs` | Settings for projects using Web Workers. | [View](./eslint/worker.mjs)
119
119
 
120
120
  #### stylelint.config.js
121
121
 
122
122
  ```js
123
- module.exports = {
124
- extends: 'linter-bundle/stylelint.cjs'
123
+ export default {
124
+ extends: 'linter-bundle/stylelint.mjs'
125
125
  };
126
126
 
127
127
  ```
@@ -140,7 +140,7 @@ module.exports = {
140
140
  .eslintcache
141
141
  ```
142
142
 
143
- ### .linter-bundle.json / .linter-bundle.cjs / .linter-bundle.js
143
+ ### .linter-bundle.json / .linter-bundle.mjs / .linter-bundle.js
144
144
 
145
145
  `linter-bundle` supports a couple of additional options, which can be configured in the configuration file, in the root of your project.
146
146
  Some of the options are also available as command line arguments (see below).
@@ -189,6 +189,15 @@ The file itself, and any of the options is optional.
189
189
  },
190
190
  "import/order": {
191
191
  "additionalExternalPatterns": ["@sentry/*"]
192
+ },
193
+ "@typescript-eslint/naming-convention": {
194
+ "additionalOptions": [
195
+ {
196
+ "selector": "variable",
197
+ "modifiers": ["const"],
198
+ "format": ["camelCase"]
199
+ }
200
+ ]
192
201
  }
193
202
  },
194
203
  "react": {
@@ -201,7 +210,7 @@ The file itself, and any of the options is optional.
201
210
  },
202
211
  "sass": {
203
212
  "include": ["./included/*.ts"],
204
- "patternPrefix": "--my-prefix"
213
+ "patternPrefix": "(my-prefix|another-prefix)"
205
214
  },
206
215
  "md": {
207
216
  "include": ["./included/*.md"],
@@ -233,7 +242,7 @@ The file itself, and any of the options is optional.
233
242
  <details><summary>Click here to see the example configuration with descriptions</summary>
234
243
 
235
244
  ```js
236
- module.exports = {
245
+ export default {
237
246
  /**
238
247
  * Same as `--verbose` command line argument.
239
248
  *
@@ -259,13 +268,6 @@ module.exports = {
259
268
  * Configuration, specific to the `tsc` command.
260
269
  */
261
270
  tsc: {
262
- /**
263
- * `verbose`, `timing` and `git` are the same as in the root node.
264
- */
265
- verbose: true,
266
- timing: true,
267
- git: true,
268
-
269
271
  /**
270
272
  * Same as `--tsconfig` command line argument.
271
273
  *
@@ -279,9 +281,8 @@ module.exports = {
279
281
  */
280
282
  ts: {
281
283
  /**
282
- * `verbose`, `timing` and `git` are the same as in the root node.
284
+ * `timing` and `git` are the same as in the root node.
283
285
  */
284
- verbose: true,
285
286
  timing: true,
286
287
  git: true,
287
288
 
@@ -311,7 +312,7 @@ module.exports = {
311
312
  */
312
313
  overrides: {
313
314
  /**
314
- * Rules that are applied to `linter-bundle/eslint.cjs`.
315
+ * Rules that are applied to `linter-bundle/eslint.mjs`.
315
316
  */
316
317
  general: {
317
318
  'no-restricted-globals': {
@@ -365,7 +366,7 @@ module.exports = {
365
366
  },
366
367
 
367
368
  /**
368
- * Rules that are applied to `linter-bundle/eslint/overrides-react.cjs`.
369
+ * Rules that are applied to `linter-bundle/eslint/react.mjs`.
369
370
  */
370
371
  react: {
371
372
  'react/forbid-component-props': {
@@ -417,6 +418,11 @@ module.exports = {
417
418
  * Configuration, specific to the `audit` command.
418
419
  */
419
420
  md: {
421
+ /**
422
+ * `git` is the same as in the root node.
423
+ */
424
+ git: true,
425
+
420
426
  /**
421
427
  * Same as `--include` command line argument.
422
428
  *
@@ -429,13 +435,6 @@ module.exports = {
429
435
  * Configuration, specific to the `audit` command.
430
436
  */
431
437
  audit: {
432
- /**
433
- * `verbose`, `timing` and `git` are the same as in the root node.
434
- */
435
- verbose: true,
436
- timing: true,
437
- git: true,
438
-
439
438
  /**
440
439
  * Same as `--min-severity` command line argument.
441
440
  *
@@ -456,12 +455,17 @@ module.exports = {
456
455
  */
457
456
  files: {
458
457
  /**
459
- * `verbose`, `timing` and `git` are the same as in the root node.
458
+ * `git` is the same as in the root node.
460
459
  */
461
- verbose: true,
462
- timing: true,
463
460
  git: true,
464
461
 
462
+ /**
463
+ * Same as `--include` command line argument.
464
+ *
465
+ * @type {string[]}
466
+ */
467
+ include: ['./included/*.ts'],
468
+
465
469
  /**
466
470
  * Array of restrictions for different base paths.
467
471
  *
@@ -624,10 +628,7 @@ This can be done by adding these options to your `.vscode/settings.json`:
624
628
  {
625
629
  "eslint.nodePath": "./node_modules/linter-bundle/node_modules/eslint",
626
630
  "eslint.options": {
627
- "overrideConfigFile": "./.eslintrc.js", // or "./.eslintrc.cjs" or "./eslintrc.json"
628
- "resolvePluginsRelativeTo": "./node_modules/linter-bundle",
629
- "rulePaths": ["./node_modules/linter-bundle/eslint/rules"],
630
- "reportUnusedDisableDirectives": "error",
631
+ "overrideConfigFile": "./eslint.config.mjs"
631
632
  }
632
633
  }
633
634
  ```
@@ -710,7 +711,3 @@ If you get such an error message:
710
711
  the problem is most likely, that your `tsconfig.json` does not cover your JavaScript files and that you don't have a `jsconfig.json` file in your root directory. This is required by the `@typescript-eslint` to use TypeScript for linting of JavaScript files.
711
712
 
712
713
  To solve this problem, either `"include"` your JavaScript files in your `tsconfig.json` (don't forget to set the compiler option `"checkJs"` to `true`) or create a `jsconfig.json` file in your root directory (this can be a copy of your `tsconfig.json` with an `"include"` of your JavaScript files).
713
-
714
- ### In VSCode, in every file, the first line shows the error `Definition for rule "no-unnecessary-typeof" was not found. eslint(no-unnecessary-typeof)`
715
-
716
- Please ensure that you've added the configuration options as described above ("VSCode setup" > "ESLint").