11![ GitHub CI] ( https://github.com/dipiash/eslint-plugin-nimbus-clean/actions/workflows/ci.yml/badge.svg )
22[ ![ npm version] ( https://badge.fury.io/js/eslint-plugin-nimbus-clean.svg?v=0.2.4 )] ( https://badge.fury.io/js/eslint-plugin-nimbus-clean )
3- [ ![ HitCount] ( https://hits.dwyl.com/dipiash/eslint-plugin-nimbus-clean.svg?style=flat-square )] ( http://hits.dwyl.com/dipiash/eslint-plugin-nimbus-clean )
4-
5- ` README.md ` : [ EN] ( /README.md ) | [ 日本語] ( /docs/ja/README.md ) | [ 繁體中文] ( /docs/zh-tw/README.md ) | [ हिंदी] ( /docs/hi/README.md )
3+ [ ![ Hits] ( https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fdipiash%2Feslint-plugin-nimbus-clean&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false )] ( https://hits.seeyoufarm.com )
64
75# eslint-plugin-nimbus-clean
86
@@ -14,12 +12,8 @@ A comprehensive linting solution that sweeps your code clean. Combined rules for
1412
1513- [ Installation] ( #installation )
1614- [ Usage] ( #usage )
17- * [ Legacy config] ( #legacy-config )
18- + [ Full config] ( #full-config )
15+ * [ Config] ( #config )
1916 + [ Incrementally improvements] ( #incrementally-improvements )
20- * [ Flat config] ( #flat-config )
21- + [ Full config] ( #full-config-1 )
22- + [ Incrementally improvements] ( #incrementally-improvements-1 )
2317 + [ Separate rules] ( #separate-rules )
2418 * [ Prettier settings (optional)] ( #prettier-settings-optional )
2519- [ License] ( #license )
@@ -31,6 +25,8 @@ A comprehensive linting solution that sweeps your code clean. Combined rules for
3125
3226### Installation
3327
28+ ** Requires ESLint ` >=9.20.0 ` , [ flat config] ( https://eslint.org/docs/latest/use/configure/configuration-files ) , and [ ESM] ( https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#how-can-i-make-my-typescript-project-output-esm ) .**
29+
3430Here you can find instructions how to install it via: ` npm ` , ` yarn ` , ` pnpm ` .
3531
3632You'll first need to install [ ESLint] ( https://eslint.org/ ) and TypeScript:
@@ -74,93 +70,18 @@ npx install-peerdeps eslint-plugin-nimbus-clean --pnpm
7470
7571### Usage
7672
77- #### Legacy config
78-
79- Suitable for ESLint version < 9
80-
81- ##### Full config
82-
83- It's recommended for new projects or if you want to see all ESLint errors and warnings for existing projects.
84-
85- Add ` nimbus-clean ` to the extends or plugins section of your ` .eslintrc ` configuration file. You can omit the ` eslint-plugin- ` prefix:
86- ``` json
87- {
88- "parser" : " @typescript-eslint/parser" ,
89- "parserOptions" : {
90- "ecmaVersion" : 13 ,
91- "sourceType" : " module" ,
92- "ecmaFeatures" : {
93- "jsx" : true ,
94- "modules" : true ,
95- "experimentalObjectRestSpread" : true
96- }
97- },
98- "ignorePatterns" : [
99- " **/*" ,
100- " node_modules"
101- ],
102- "settings" : {
103- "react" : {
104- "pragma" : " React" ,
105- "fragment" : " Fragment" ,
106- "version" : " detect"
107- },
108- "import/resolver" : {
109- "typescript" : {
110- "alwaysTryTypes" : true
111- }
112- }
113- },
114- "extends" : [
115- " plugin:nimbus-clean/recommended"
116- ],
117- "plugins" : [
118- " nimbus-clean"
119- ]
120- }
121- ```
122-
123- ##### Incrementally improvements
124-
125- If you have existing project big/old/etc. you can apply ` nimbus-clean ` config setting incrementally:
126- - ` plugin:nimbus-clean/common `
127- - ` plugin:nimbus-clean/prettier `
128- - ` plugin:nimbus-clean/import `
129- - ` plugin:nimbus-clean/simpleImportSort `
130- - ` plugin:nimbus-clean/react `
131- - ` plugin:nimbus-clean/promise `
132- - ` plugin:nimbus-clean/unicorn `
133- - ` plugin:nimbus-clean/sonarjs `
134- - ` plugin:nimbus-clean/typescript `
135- - ` plugin:nimbus-clean/perfectionist `
136-
137- ``` json
138- {
139- ...
140- "extends" : [
141- " plugin:nimbus-clean/common" ,
142- " plugin:nimbus-clean/prettier" ,
143- ...
144- ],
145- "plugins" : [
146- " nimbus-clean"
147- ]
148- }
149- ```
150-
151- #### Flat config
73+ #### Config
15274
15375Suitable for ESLint >= 9
15476
155- ##### Full config
156- ` eslint.config.js ` from ** javascript** project
77+ ` eslint.config.mjs ` from ** javascript** project
15778
15879``` javascript
15980import nimbusCleanPlugin from " eslint-plugin-nimbus-clean" ;
16081import globals from " globals" ;
16182
16283const config = [
163- ... nimbusCleanPlugin .configs .flat . recommended ,
84+ ... nimbusCleanPlugin .configs .recommended ,
16485 // Other configs
16586
16687 { ignores: [" dist" ] },
@@ -181,15 +102,15 @@ const config = [
181102export default config ;
182103```
183104
184- ` eslint.config.js ` from ** typescript** project
105+ ` eslint.config.mjs ` from ** typescript** project
185106
186107``` typescript
187108import nimbusCleanPlugin from " eslint-plugin-nimbus-clean" ;
188109import globals from " globals" ;
189110import tsLint from " typescript-eslint" ;
190111
191112export default tsLint .config (
192- ... nimbusCleanPlugin .configs .flat . recommended ,
113+ ... nimbusCleanPlugin .configs .recommended ,
193114 // Other configs
194115
195116 { ignores: [" dist" ] },
@@ -214,29 +135,29 @@ export default tsLint.config(
214135##### Incrementally improvements
215136
216137If you have existing project big/old/etc. you can apply ` nimbus-clean ` config setting incrementally:
217- - ` nimbusCleanPlugin.configs.flat. common `
218- - ` nimbusCleanPlugin.configs.flat. prettier `
219- - ` nimbusCleanPlugin.configs.flat. import `
220- - ` nimbusCleanPlugin.configs.flat. simpleImportSort `
221- - ` nimbusCleanPlugin.configs.flat. react `
222- - ` nimbusCleanPlugin.configs.flat. reactHooks `
223- - ` nimbusCleanPlugin.configs.flat. jsxA11y `
224- - ` nimbusCleanPlugin.configs.flat. promise `
225- - ` nimbusCleanPlugin.configs.flat. unicorn `
226- - ` nimbusCleanPlugin.configs.flat. sonarjs `
227- - ` nimbusCleanPlugin.configs.flat. typescript `
228- - ` nimbusCleanPlugin.configs.flat. perfectionist `
229- - ` nimbusCleanPlugin.configs.flat. testingLibrary `
230-
231- ` eslint.config.js ` from ** javascript** project
138+ - ` nimbusCleanPlugin.configs.common `
139+ - ` nimbusCleanPlugin.configs.prettier `
140+ - ` nimbusCleanPlugin.configs.import `
141+ - ` nimbusCleanPlugin.configs.simpleImportSort `
142+ - ` nimbusCleanPlugin.configs.react `
143+ - ` nimbusCleanPlugin.configs.reactHooks `
144+ - ` nimbusCleanPlugin.configs.jsxA11y `
145+ - ` nimbusCleanPlugin.configs.promise `
146+ - ` nimbusCleanPlugin.configs.unicorn `
147+ - ` nimbusCleanPlugin.configs.sonarjs `
148+ - ` nimbusCleanPlugin.configs.typescript `
149+ - ` nimbusCleanPlugin.configs.perfectionist `
150+ - ` nimbusCleanPlugin.configs.testingLibrary `
151+
152+ ` eslint.config.mjs ` from ** javascript** project
232153
233154``` javascript
234155import nimbusCleanPlugin from " eslint-plugin-nimbus-clean" ;
235156import globals from " globals" ;
236157
237158const config = [
238- ... nimbusCleanPlugin .configs .flat . common ,
239- ... nimbusCleanPlugin .configs .flat . prettier ,
159+ ... nimbusCleanPlugin .configs .common ,
160+ ... nimbusCleanPlugin .configs .prettier ,
240161 // Other configs
241162
242163 { ignores: [" dist" ] },
@@ -257,16 +178,16 @@ const config = [
257178export default config ;
258179```
259180
260- ` eslint.config.js ` from ** typescript** project
181+ ` eslint.config.mjs ` from ** typescript** project
261182
262183``` typescript
263184import nimbusCleanPlugin from " eslint-plugin-nimbus-clean" ;
264185import globals from " globals" ;
265186import tsLint from " typescript-eslint" ;
266187
267188export default tsLint .config (
268- ... nimbusCleanPlugin .configs .flat . common ,
269- ... nimbusCleanPlugin .configs .flat . prettier ,
189+ ... nimbusCleanPlugin .configs .common ,
190+ ... nimbusCleanPlugin .configs .prettier ,
270191 // Other configs
271192
272193 { ignores: [" dist" ] },
@@ -304,21 +225,21 @@ For flexible customization you can also use separate rules in your configs:
304225- ` nimbusCleanPlugin.rules.perfectionist `
305226- ` nimbusCleanPlugin.rules.typescriptRules `
306227
307- ` eslint.config.js ` from ** javascript** project
228+ ` eslint.config.mjs ` from ** javascript** project
308229
309230``` javascript
310231import nimbusCleanPlugin from " eslint-plugin-nimbus-clean" ;
311232import globals from " globals" ;
312233
313234const config = [
314235 ... ({
315- ... nimbusCleanPlugin .configs .flat . common ,
236+ ... nimbusCleanPlugin .configs .common ,
316237 rules: {
317238 ... nimbusCleanPlugin .rules .common ,
318239 // Your rules
319240 }
320241 }),
321- ... nimbusCleanPlugin .configs .flat . prettier ,
242+ ... nimbusCleanPlugin .configs .prettier ,
322243 // Other configs
323244
324245 { ignores: [" dist" ] },
@@ -339,7 +260,7 @@ const config = [
339260export default config ;
340261```
341262
342- ` eslint.config.js ` from ** typescript** project
263+ ` eslint.config.mjs ` from ** typescript** project
343264
344265``` typescript
345266import nimbusCleanPlugin from " eslint-plugin-nimbus-clean" ;
@@ -348,7 +269,7 @@ import tsLint from "typescript-eslint";
348269
349270export default tsLint .config (
350271 ... ({
351- ... nimbusCleanPlugin .configs .flat . common ,
272+ ... nimbusCleanPlugin .configs .common ,
352273 rules: {
353274 ... nimbusCleanPlugin .rules .common ,
354275 // Your rules
@@ -357,7 +278,7 @@ export default tsLint.config(
357278 // OR
358279 {
359280 rules: {
360- ... nimbusClean .rules .flat . typescript ,
281+ ... nimbusClean .rules .typescript ,
361282 },
362283 },
363284 // Other configs
0 commit comments