Skip to content

Commit e8f4177

Browse files
committed
feat: make eslint config composable
1 parent 6d636d4 commit e8f4177

File tree

1 file changed

+42
-4
lines changed

1 file changed

+42
-4
lines changed

README.md

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,32 +30,70 @@ yarn add -D prefer-code-style
3030
3131
## ⚙ 用法
3232

33-
添加 `.eslintrc.js`,配置如下:
33+
### ESLint:
34+
35+
ESLint 的配置是,你可以按需进行组合。
36+
37+
以下是可用的扩展配置:
38+
39+
- prefer-code-style/node
40+
- prefer-code-style/browser
41+
- prefer-code-style/typescript
42+
- prefer-code-style/react
43+
- prefer-code-style/next
44+
- prefer-code-style/tailwindcss
45+
46+
添加 `.eslintrc.js`,配置示例如下:
3447

3548
```js
3649
module.exports = {
37-
extends: [require.resolve('prefer-code-style/lib/eslint')],
50+
extends: [
51+
require.resolve('prefer-code-style/eslint/node'),
52+
require.resolve('prefer-code-style/eslint/browser'),
53+
require.resolve('prefer-code-style/eslint/typescript'),
54+
],
3855
rules: {
3956
/* 你仍然可以在这里配置你的规则偏好。 */
4057
},
58+
parserOptions: {
59+
tsconfigRootDir: __dirname, // <- 如果你使用了 prefer-code-style/eslint/typescript 扩展,则需要添加这个配置
60+
},
61+
}
62+
```
63+
64+
当然,这样的组合写起来也很麻烦,所以你还可以使用适用特定项目的预设的配置,比如这样:
65+
66+
```js
67+
// 适用于 Next.js 项目
68+
module.exports = {
69+
extends: [require.resolve('prefer-code-style/eslint/preset/next')],
70+
}
71+
72+
// 适用于 Umi.js 项目
73+
module.exports = {
74+
extends: [require.resolve('prefer-code-style/eslint/preset/umi')],
4175
}
4276
```
4377

78+
### Prettier:
79+
4480
添加 `.prettierrc.js`,配置如下:
4581

4682
```js
47-
const { prettier } = require('prefer-code-style')
83+
const prettier = require('prefer-code-style/prettier')
4884

4985
module.exports = {
5086
...prettier,
5187
}
5288
```
5389

90+
### Stylelint:
91+
5492
添加 `.stylelintrc.js`,配置如下:
5593

5694
```js
5795
module.exports = {
58-
extends: [require.resolve('prefer-code-style/lib/stylelint')],
96+
extends: [require.resolve('prefer-code-style/stylelint')],
5997
}
6098
```
6199

0 commit comments

Comments
 (0)