Skip to content

Commit 1f75979

Browse files
authored
Merge pull request #2 from Codennnn/v0.8
V1.0.0
2 parents baf5c93 + e8f4177 commit 1f75979

20 files changed

+308
-142
lines changed

.eslintrc.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = {
2+
root: true,
3+
extends: [
4+
require.resolve('prefer-code-style/eslint/node'),
5+
require.resolve('prefer-code-style/eslint/typescript'),
6+
],
7+
ignorePatterns: ['/examples'],
8+
}

.prettierrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('prefer-code-style/prettier')

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

package.json

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "prefer-code-style",
3-
"version": "0.7.3",
3+
"version": "0.8.0",
44
"description": "A collection of configuration files containing prettier, eslint, stylelint",
55
"keywords": [
66
"code lint",
7+
"lint set",
78
"eslint",
89
"stylelint",
910
"prettier"
@@ -18,54 +19,67 @@
1819
},
1920
"exports": {
2021
".": {
21-
"require": "./lib/index.js"
22+
"require": "./src/index.js"
2223
},
23-
"./eslint": {
24-
"require": "./lib/eslint.js"
24+
"./eslint/base": {
25+
"require": "./src/eslint/base.js"
26+
},
27+
"./eslint/browser": {
28+
"require": "./src/eslint/browser.js"
29+
},
30+
"./eslint/node": {
31+
"require": "./src/eslint/node.js"
32+
},
33+
"./eslint/typescript": {
34+
"require": "./src/eslint/typescript.js"
35+
},
36+
"./eslint/react": {
37+
"require": "./src/eslint/react.js"
38+
},
39+
"./eslint/next": {
40+
"require": "./src/eslint/next.js"
41+
},
42+
"./eslint/tailwindcss": {
43+
"require": "./src/eslint/tailwindcss.js"
44+
},
45+
"./eslint/preset/next": {
46+
"require": "./src/eslint/preset/next.js"
47+
},
48+
"./eslint/preset/umi": {
49+
"require": "./src/eslint/preset/umi.js"
2550
},
2651
"./prettier": {
27-
"require": "./lib/prettier.js"
52+
"require": "./src/prettier.js"
2853
},
2954
"./stylelint": {
30-
"require": "./lib/stylelint.js"
55+
"require": "./src/stylelint.js"
56+
},
57+
"./constants": {
58+
"require": "./src/constants.js"
3159
}
3260
},
3361
"license": "MIT",
3462
"author": "LeoKu <[email protected]> (https://leoku.top)",
3563
"files": [
36-
"lib"
64+
"src"
3765
],
3866
"scripts": {
39-
"prebuild": "rimraf ./lib/",
40-
"build": "tsc --build tsconfig.json",
4167
"deps": "pnpm up --interactive --latest",
42-
"lint": "pnpm lint:es",
68+
"lint": "pnpm lint:es & pnpm lint:prettier",
4369
"lint:es": "eslint \"./**/*.{js,jsx,ts,tsx}\"",
70+
"lint:prettier": "prettier --write \"!./examples/**\" \"**/*.{md,json,html}\"",
4471
"prepublishOnly": "pnpm build",
45-
"test": "pnpm build && cd \"./examples/green-wall\" && pnpm lint"
72+
"test": "cd \"./examples/green-wall\" && pnpm lint"
4673
},
4774
"config": {
4875
"commitizen": {
4976
"path": "./node_modules/cz-conventional-changelog"
5077
}
5178
},
52-
"prettier": "./lib/prettier.js",
53-
"eslintConfig": {
54-
"extends": [
55-
"./lib/eslint.js"
56-
],
57-
"ignorePatterns": [
58-
"node_modules",
59-
"lib",
60-
"examples",
61-
"!.prettierrc.js",
62-
"!.eslintrc.js",
63-
"!.stylelintrc.js"
64-
]
65-
},
6679
"dependencies": {
6780
"@babel/core": "^7.20.12",
6881
"@babel/eslint-parser": "^7.19.1",
82+
"@next/eslint-plugin-next": "^13.1.6",
6983
"@typescript-eslint/eslint-plugin": "^5.48.1",
7084
"@typescript-eslint/parser": "^5.48.1",
7185
"eslint": "^8.31.0",
@@ -91,10 +105,10 @@
91105
"devDependencies": {
92106
"@types/node": "^18.11.18",
93107
"cz-conventional-changelog": "3.3.0",
94-
"rimraf": "^3.0.2",
95-
"typescript": "4.9.4"
108+
"prefer-code-style": "workspace:*"
96109
},
97110
"engines": {
98111
"node": ">=14"
99-
}
112+
},
113+
"packageManager": "[email protected]"
100114
}

pnpm-lock.yaml

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

src/constants.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
ECMA_VERSION: 2021,
3+
JAVASCRIPT_FILES: ['*.js?(x)', '*.mjs'],
4+
TYPESCRIPT_FILES: ['*.ts?(x)'],
5+
}

0 commit comments

Comments
 (0)