@bwt-st/eslint 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4 -0
- package/NOTICE +1 -0
- package/README.md +21 -0
- package/dist/base.js +35 -0
- package/dist/index.js +1 -0
- package/dist/react.js +24 -0
- package/dist/vue.js +25 -0
- package/package.json +42 -0
package/LICENSE
ADDED
package/NOTICE
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
BWT-ST web-kit - @bwt-st/eslint
|
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# @bwt-st/eslint
|
|
2
|
+
|
|
3
|
+
面向 BWT-ST 前端项目的共享 ESLint Flat Config,按基础配置、Vue 配置和 React 配置分开提供。
|
|
4
|
+
|
|
5
|
+
安装方式和业务项目配置请参阅工作区的[快速开始](../../docs/quick-start/index.md#bwt-steslint)。
|
|
6
|
+
|
|
7
|
+
```js
|
|
8
|
+
import config from '@bwt-st/eslint'
|
|
9
|
+
|
|
10
|
+
export default config
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
基础入口覆盖 JavaScript、TypeScript、JSX 和 TSX。Vue 项目追加 `@bwt-st/eslint/vue`,React 项目追加 `@bwt-st/eslint/react`。
|
|
14
|
+
|
|
15
|
+
Vue 和 React 入口已经包含基础配置,业务项目直接使用对应入口即可:
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
import config from '@bwt-st/eslint/vue'
|
|
19
|
+
|
|
20
|
+
export default config
|
|
21
|
+
```
|
package/dist/base.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import eslint from '@eslint/js'
|
|
2
|
+
import globals from 'globals'
|
|
3
|
+
import tseslint from 'typescript-eslint'
|
|
4
|
+
|
|
5
|
+
const sharedGlobals = {
|
|
6
|
+
...globals.browser,
|
|
7
|
+
...globals.node,
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const baseConfig = tseslint.config(
|
|
11
|
+
{
|
|
12
|
+
ignores: [
|
|
13
|
+
'**/dist/**',
|
|
14
|
+
'**/node_modules/**',
|
|
15
|
+
'**/coverage/**',
|
|
16
|
+
'**/.vitepress/cache/**',
|
|
17
|
+
'**/.vitepress/dist/**',
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
eslint.configs.recommended,
|
|
22
|
+
|
|
23
|
+
...tseslint.configs.recommended,
|
|
24
|
+
|
|
25
|
+
{
|
|
26
|
+
files: ['**/*.{js,mjs,cjs,ts,tsx,jsx}'],
|
|
27
|
+
languageOptions: {
|
|
28
|
+
globals: sharedGlobals,
|
|
29
|
+
},
|
|
30
|
+
rules: {
|
|
31
|
+
'no-console': 'warn',
|
|
32
|
+
'no-debugger': 'warn',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
)
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { baseConfig as default, baseConfig } from './base.js'
|
package/dist/react.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import tseslint from 'typescript-eslint'
|
|
2
|
+
|
|
3
|
+
import { baseConfig } from './base.js'
|
|
4
|
+
|
|
5
|
+
export default tseslint.config(
|
|
6
|
+
...baseConfig,
|
|
7
|
+
{
|
|
8
|
+
files: ['**/*.{jsx,tsx}'],
|
|
9
|
+
languageOptions: {
|
|
10
|
+
parserOptions: {
|
|
11
|
+
ecmaVersion: 'latest',
|
|
12
|
+
sourceType: 'module',
|
|
13
|
+
ecmaFeatures: {
|
|
14
|
+
jsx: true,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
settings: {
|
|
19
|
+
react: {
|
|
20
|
+
version: 'detect',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
)
|
package/dist/vue.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import vue from 'eslint-plugin-vue'
|
|
2
|
+
import tseslint from 'typescript-eslint'
|
|
3
|
+
import vueParser from 'vue-eslint-parser'
|
|
4
|
+
|
|
5
|
+
import { baseConfig } from './base.js'
|
|
6
|
+
|
|
7
|
+
export default tseslint.config(
|
|
8
|
+
...baseConfig,
|
|
9
|
+
...vue.configs['flat/essential'],
|
|
10
|
+
{
|
|
11
|
+
files: ['**/*.vue'],
|
|
12
|
+
languageOptions: {
|
|
13
|
+
parser: vueParser,
|
|
14
|
+
parserOptions: {
|
|
15
|
+
parser: tseslint.parser,
|
|
16
|
+
ecmaVersion: 'latest',
|
|
17
|
+
sourceType: 'module',
|
|
18
|
+
extraFileExtensions: ['.vue'],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
rules: {
|
|
22
|
+
'vue/multi-word-component-names': 'off',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
)
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bwt-st/eslint",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "BWT-ST shared ESLint Flat Config.",
|
|
5
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./dist/index.js",
|
|
9
|
+
"./vue": "./dist/vue.js",
|
|
10
|
+
"./react": "./dist/react.js",
|
|
11
|
+
"./package.json": "./package.json"
|
|
12
|
+
},
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE",
|
|
20
|
+
"NOTICE"
|
|
21
|
+
],
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"eslint": "^9.0.0 || ^10.0.0"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@eslint/js": "^10.0.1",
|
|
27
|
+
"eslint-plugin-vue": "^10.11.0",
|
|
28
|
+
"globals": "^17.12.0",
|
|
29
|
+
"typescript-eslint": "^8.70.0",
|
|
30
|
+
"vue-eslint-parser": "^10.4.1"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=20.19.0"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "pnpm clean && node scripts/build.mjs",
|
|
37
|
+
"clean": "rm -rf dist",
|
|
38
|
+
"lint": "eslint src",
|
|
39
|
+
"pack:check": "npm pack --dry-run",
|
|
40
|
+
"test": "vitest run"
|
|
41
|
+
}
|
|
42
|
+
}
|