Skip to content

Commit 0c8c42e

Browse files
committed
feat: add name for each config item
1 parent 576db87 commit 0c8c42e

25 files changed

+184
-81
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,24 @@ pnpm i -D eslint @coderwyd/eslint-config
2626

2727
### Create config file
2828

29+
With [`"type": "module"`](https://nodejs.org/api/packages.html#type) in `package.json` (recommended):
30+
2931
```js
3032
// eslint.config.js
3133
import coderwyd from '@coderwyd/eslint-config'
3234

3335
export default coderwyd()
3436
```
3537

38+
With CJS:
39+
40+
```js
41+
// eslint.config.js
42+
const coderwyd = require('@coderwyd/eslint-config').default
43+
44+
module.exports = coderwyd()
45+
```
46+
3647
> Note that `.eslintignore` no longer works in Flat config, see [customization](#customization) for more details.
3748
3849
### Add script for package.json

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
"yaml-eslint-parser": "^1.2.2"
7272
},
7373
"devDependencies": {
74+
"@types/eslint": "^8.44.3",
7475
"@types/node": "^20.8.2",
7576
"@types/react": "^18.2.25",
7677
"bumpp": "^9.2.0",

pnpm-lock.yaml

Lines changed: 14 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/configs/astro.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
1-
import { type FlatESLintConfigItem } from 'eslint-define-config'
2-
import { GLOB_ASTRO } from 'src/globs'
1+
import { GLOB_ASTRO } from '../globs'
32
import { parserAstro, parserTs, pluginAstro } from '../plugins'
4-
import type { OptionsHasTypeScript, OptionsOverrides } from '../types'
3+
import type { FlatESLintConfigItem, OptionsHasTypeScript, OptionsOverrides } from '../types'
54

65
export function astro(options: OptionsHasTypeScript & OptionsOverrides = {}): FlatESLintConfigItem[] {
76
const { overrides = {} } = options
87
return [
9-
{
10-
plugins: {
11-
astro: pluginAstro,
12-
},
13-
},
148
{
159
files: [GLOB_ASTRO],
1610
languageOptions: {
@@ -20,6 +14,10 @@ export function astro(options: OptionsHasTypeScript & OptionsOverrides = {}): Fl
2014
parser: options.typescript ? (parserTs as any) : null,
2115
},
2216
},
17+
name: 'coderwyd:astro',
18+
plugins: {
19+
astro: pluginAstro,
20+
},
2321
rules: {
2422
...(pluginAstro.configs.recommended.rules as any),
2523

src/configs/comments.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import type { FlatESLintConfigItem } from 'eslint-define-config'
1+
import type { FlatESLintConfigItem } from '../types'
22
import { pluginComments } from '../plugins'
33

44
export function comments(): FlatESLintConfigItem[] {
55
return [
66
{
7+
name: 'coderwyd:eslint-comments',
78
plugins: {
89
'eslint-comments': pluginComments,
910
},

src/configs/ignores.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
import type { FlatESLintConfigItem } from 'eslint-define-config'
1+
import type { FlatESLintConfigItem } from '../types'
22
import { GLOB_EXCLUDE } from '../globs'
33

44
export function ignores(): FlatESLintConfigItem[] {
55
return [
6-
{ ignores: GLOB_EXCLUDE },
6+
{
7+
ignores: GLOB_EXCLUDE,
8+
name: 'coderwyd:ignores:basic',
9+
},
710
]
811
}

src/configs/imports.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import type { FlatESLintConfigItem } from 'eslint-define-config'
1+
import type { FlatESLintConfigItem, OptionsStylistic } from '../types'
22
import { pluginAntfu, pluginImport } from '../plugins'
3-
import type { OptionsStylistic } from '../types'
43

54
export function imports(options: OptionsStylistic = {}): FlatESLintConfigItem[] {
65
const {
@@ -9,6 +8,7 @@ export function imports(options: OptionsStylistic = {}): FlatESLintConfigItem[]
98

109
return [
1110
{
11+
name: 'coderwyd:imports',
1212
plugins: {
1313
antfu: pluginAntfu,
1414
import: pluginImport,

src/configs/javascript.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import type { FlatESLintConfigItem } from 'eslint-define-config'
21
import globals from 'globals'
2+
import type { FlatESLintConfigItem, OptionsIsInEditor, OptionsOverrides } from '../types'
33
import { pluginAntfu, pluginUnusedImports } from '../plugins'
44
import { OFF } from '../flags'
5-
import type { OptionsIsInEditor, OptionsOverrides } from '../types'
65
import { GLOB_SRC, GLOB_SRC_EXT } from '../globs'
76

87
export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}): FlatESLintConfigItem[] {
@@ -12,12 +11,6 @@ export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}):
1211
} = options
1312

1413
return [
15-
{
16-
plugins: {
17-
'antfu': pluginAntfu,
18-
'unused-imports': pluginUnusedImports,
19-
},
20-
},
2114
{
2215
languageOptions: {
2316
ecmaVersion: 2022,
@@ -38,6 +31,11 @@ export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}):
3831
},
3932
sourceType: 'module',
4033
},
34+
name: 'coderwyd:javascript',
35+
plugins: {
36+
'antfu': pluginAntfu,
37+
'unused-imports': pluginUnusedImports,
38+
},
4139

4240
rules: {
4341
'accessor-pairs': ['error', { enforceForClassMembers: true, setWithoutGet: true }],
@@ -235,6 +233,7 @@ export function javascript(options: OptionsIsInEditor & OptionsOverrides = {}):
235233
},
236234
{
237235
files: [`scripts/${GLOB_SRC}`, `cli.${GLOB_SRC_EXT}`],
236+
name: 'coderwyd:scripts-overrides',
238237
rules: {
239238
'no-console': OFF,
240239
},

src/configs/jsdoc.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import type { FlatESLintConfigItem } from 'eslint-define-config'
1+
import type { FlatESLintConfigItem, OptionsStylistic } from '../types'
22
import { pluginJsdoc } from '../plugins'
3-
import type { OptionsStylistic } from '../types'
43

54
export function jsdoc(options: OptionsStylistic = {}): FlatESLintConfigItem[] {
65
const {
@@ -9,11 +8,10 @@ export function jsdoc(options: OptionsStylistic = {}): FlatESLintConfigItem[] {
98

109
return [
1110
{
11+
name: 'coderwyd:jsdoc',
1212
plugins: {
1313
jsdoc: pluginJsdoc,
1414
},
15-
},
16-
{
1715
rules: {
1816
'jsdoc/check-access': 'warn',
1917
'jsdoc/check-param-names': 'warn',
@@ -30,7 +28,6 @@ export function jsdoc(options: OptionsStylistic = {}): FlatESLintConfigItem[] {
3028
'jsdoc/require-returns-check': 'warn',
3129
'jsdoc/require-returns-description': 'warn',
3230
'jsdoc/require-yields-check': 'warn',
33-
'jsdoc/valid-types': 'warn',
3431

3532
...stylistic
3633
? {

src/configs/jsonc.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import type { FlatESLintConfigItem } from 'eslint-define-config'
1+
import type { FlatESLintConfigItem, OptionsOverrides, OptionsStylistic } from '../types'
22
import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from '../globs'
33
import { parserJsonc, pluginJsonc } from '../plugins'
4-
import type { OptionsOverrides, OptionsStylistic } from '../types'
54

65
export function jsonc(options: OptionsStylistic & OptionsOverrides = {}): FlatESLintConfigItem[] {
76
const {
@@ -10,6 +9,7 @@ export function jsonc(options: OptionsStylistic & OptionsOverrides = {}): FlatES
109
} = options
1110
return [
1211
{
12+
name: 'coderwyd:jsonc:setup',
1313
plugins: {
1414
jsonc: pluginJsonc as any,
1515
},
@@ -19,6 +19,7 @@ export function jsonc(options: OptionsStylistic & OptionsOverrides = {}): FlatES
1919
languageOptions: {
2020
parser: parserJsonc,
2121
},
22+
name: 'coderwyd:jsonc:rules',
2223
rules: {
2324
'jsonc/no-bigint-literals': 'error',
2425
'jsonc/no-binary-expression': 'error',

0 commit comments

Comments
 (0)