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 )
33[ ![ HitCount] ( https://hits.dwyl.com/dipiash/eslint-plugin-nimbus-clean.svg?style=flat-square )] ( http://hits.dwyl.com/dipiash/eslint-plugin-nimbus-clean )
44
5- ` README.md ` : [ EN] ( /README.md ) | [ 日本語] ( /docs/ja/README.md ) | [ 繁體中文] ( /docs/zh-tw/README.md ) | [ हिंदी] ( /docs/hi/README.md )
6-
75# eslint-plugin-nimbus-clean
86
97A comprehensive linting solution that sweeps your code clean. Combined rules for ESLint helps to produce high quality code by detecting suspicious patterns, bugs. Keep the code clean and consistent.
@@ -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