@blueking/eslint-config-bk 2.1.0-beta.9 → 2.1.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/index.js +1 -1
- package/package.json +12 -15
- package/tencent/base-legacy.js +1 -0
- package/tencent/base.js +1 -0
- package/tencent/import.js +1 -0
- package/tencent/index.js +1 -0
- package/tencent/prettier.js +1 -0
- package/tencent/ts-legacy.js +1 -0
- package/tencent/ts.js +1 -0
- package/ts.js +1 -1
- package/tsvue.js +1 -0
- package/tsvue3.js +0 -11
- package/vue.js +6 -0
- package/vue.rule.js +2 -2
- package/vue3.js +0 -5
- package/vue3.rule.js +8 -2
- package/bin/index.js +0 -22
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueking/eslint-config-bk",
|
|
3
|
-
"version": "2.1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"main": "index.js",
|
|
5
|
-
"bin": {
|
|
6
|
-
"eslint-config-bk": "./bin/index.js"
|
|
7
|
-
},
|
|
8
5
|
"dependencies": {
|
|
9
|
-
"@babel/eslint-parser": "^7.
|
|
10
|
-
"@typescript-eslint/eslint-plugin": "
|
|
11
|
-
"@typescript-eslint/parser": "
|
|
12
|
-
"@vue/eslint-config-standard": "
|
|
13
|
-
"@vue/eslint-config-typescript": "
|
|
14
|
-
"eslint": "^8.
|
|
15
|
-
"eslint-
|
|
16
|
-
"eslint-plugin-import": "^2.23.3",
|
|
6
|
+
"@babel/eslint-parser": "^7.23.10",
|
|
7
|
+
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
8
|
+
"@typescript-eslint/parser": "^7.2.0",
|
|
9
|
+
"@vue/eslint-config-standard": "^8.0.1",
|
|
10
|
+
"@vue/eslint-config-typescript": "^13.0.0",
|
|
11
|
+
"eslint": "^8.57.0",
|
|
12
|
+
"eslint-plugin-import": "^2.29.1",
|
|
17
13
|
"eslint-plugin-node": "~11.1.0",
|
|
18
|
-
"eslint-plugin-promise": "
|
|
14
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
19
15
|
"eslint-plugin-standard": "~5.0.0",
|
|
20
|
-
"eslint-plugin-vue": "^
|
|
21
|
-
"typescript": "
|
|
16
|
+
"eslint-plugin-vue": "^9.23.0",
|
|
17
|
+
"typescript": "^5.4.2",
|
|
18
|
+
"vue-eslint-parser": "^9.4.2"
|
|
22
19
|
},
|
|
23
20
|
"keywords": [
|
|
24
21
|
"eslint-config-bk",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={extends:["./base"],rules:{camelCase:"off",eqeqeq:"off","func-type":"off","max-len":"off","no-param-reassign":"off","no-underscore-dangle":"off","no-var":"off","prefer-const":"off","prefer-template":"off","template-curly-spacing":"off"}};
|
package/tencent/base.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={rules:{"array-bracket-spacing":["error","never"],"array-callback-return":"warn","arrow-body-style":["warn","as-needed"],"arrow-parens":["warn","as-needed",{requireForBlockBody:true}],"arrow-spacing":"warn","block-spacing":"error","brace-style":"error",camelcase:["error",{ignoreDestructuring:true,properties:"never"}],"comma-dangle":["warn","always-multiline"],"comma-spacing":["error",{before:false,after:true}],"comma-style":["error","last"],"computed-property-spacing":["warn","never"],"dot-notation":"warn","eol-last":["error","always"],eqeqeq:["warn","always"],"func-call-spacing":["error","never"],"func-style":["off","expression"],"function-paren-newline":["warn","multiline"],"generator-star-spacing":["warn",{before:false,after:true}],"id-length":"off","implicit-arrow-linebreak":["warn","beside"],indent:["warn",2,{SwitchCase:1,VariableDeclarator:1,outerIIFEBody:1,FunctionDeclaration:{parameters:1,body:1},FunctionExpression:{parameters:1,body:1},CallExpression:{arguments:1},ArrayExpression:1,ObjectExpression:1,ImportDeclaration:1,flatTernaryExpressions:false,ignoredNodes:["JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],ignoreComments:false}],"key-spacing":"error","keyword-spacing":["error",{overrides:{if:{after:true},for:{after:true},while:{after:true},else:{after:true}}}],"linebreak-style":["warn","unix"],"max-len":["error",{code:120,ignoreStrings:true,ignoreUrls:true,ignoreRegExpLiterals:true,ignoreTemplateLiterals:true}],"new-cap":["error",{newIsCap:true,newIsCapExceptions:[],capIsNew:false,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"],properties:false}],"newline-per-chained-call":["warn",{ignoreChainWithDepth:2}],"no-array-constructor":["error"],"no-case-declarations":"error","no-confusing-arrow":"warn","no-const-assign":"error","no-dupe-class-members":"error","no-else-return":["warn",{allowElseIf:false}],"no-eval":"error","no-iterator":"warn","no-loop-func":"error","no-mixed-operators":["error",{groups:[["%","**"],["%","+"],["%","-"],["%","*"],["%","/"],["&","|","<<",">>",">>>"],["==","!=","===","!=="],["&&","||"]],allowSamePrecedence:false}],"no-multi-assign":"error","no-multiple-empty-lines":"error","no-nested-ternary":"warn","no-new-func":"error","no-new-object":"error","no-new-wrappers":"warn","no-param-reassign":["warn",{props:true,ignorePropertyModificationsFor:["acc","accumulator","e","ctx","req","request","res","response","$scope","staticContext","state"]}],"no-plusplus":["error",{allowForLoopAfterthoughts:true}],"no-prototype-builtins":"error","no-restricted-properties":["warn",{object:"Math",property:"pow",message:"Please use ** instand"}],"no-restricted-syntax":["warn",{selector:"ForInStatement",message:"for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."},{selector:"LabeledStatement",message:"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."},{selector:"WithStatement",message:"`with` is disallowed in strict mode because it makes code impossible to predict and optimize."}],"no-trailing-spaces":"error","no-undef":["error"],"no-underscore-dangle":"warn","no-unneeded-ternary":"warn","no-unused-vars":["error",{args:"after-used",ignoreRestSiblings:true,argsIgnorePattern:"^_.+",varsIgnorePattern:"^_.+"}],"no-useless-constructor":"warn","no-useless-escape":"error","no-var":"error","no-whitespace-before-property":"warn","nonblock-statement-body-position":["error","beside"],"object-curly-spacing":["warn","always"],"object-shorthand":"warn","one-var":["warn","never"],"operator-linebreak":["error","before",{overrides:{"=":"none"}}],"padded-blocks":["error","never"],"prefer-arrow-callback":"warn","prefer-const":["error",{destructuring:"any",ignoreReadBeforeAssign:false}],"prefer-destructuring":["warn",{VariableDeclarator:{array:false,object:true},AssignmentExpression:{array:true,object:false}},{enforceForRenamedProperties:false}],"prefer-rest-params":"warn","prefer-spread":"warn","prefer-template":"error","quote-props":["error","as-needed",{keywords:false}],quotes:["warn","single",{allowTemplateLiterals:false}],radix:"warn",semi:["error","always"],"space-before-blocks":"error","space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"space-in-parens":["error","never"],"space-infix-ops":"error","spaced-comment":["error","always"],"template-curly-spacing":["error","never"],"wrap-iife":["error","outside"]}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={plugins:["import"],rules:{"import/first":"error","import/no-duplicates":"error","import/no-mutable-exports":"warn","import/no-webpack-loader-syntax":"warn","import/prefer-default-export":"off"}};
|
package/tencent/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={extends:["./base.js","./import.js"]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={plugins:["prettier","chalk"],rules:{"chalk/chalk":["warn",{icon:"💡",hexColor:"#f00",message:"Prettier 规则仍在开发中,不建议在公司项目中使用,可能会导致 CodeCC 检查出错。"}],"wrap-iife":"off","template-curly-spacing":"off","space-infix-ops":"off","space-in-parens":"off","space-before-blocks":"off","quote-props":"off","padded-blocks":"off","operator-linebreak":"off","object-curly-spacing":"off","nonblock-statement-body-position":"off","no-whitespace-before-property":"off","no-trailing-spaces":"off","no-multiple-empty-lines":"off","no-mixed-operators":"off","no-confusing-arrow":"off","newline-per-chained-call":"off","max-len":"off","linebreak-style":"off","key-spacing":"off","implicit-arrow-linebreak":"off","generator-star-spacing":"off","function-paren-newline":"off","eol-last":"off","computed-property-spacing":"off","comma-style":"off","comma-dangle":"off","block-spacing":"off","arrow-spacing":"off","arrow-parens":"off","array-bracket-spacing":"off","@typescript-eslint/type-annotation-spacing":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/semi":"off","@typescript-eslint/quotes":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/brace-style":"off","prettier/prettier":["warn",{printWidth:120,tabWidth:2,useTabs:false,semi:true,singleQuote:true,quoteProps:"as-needed",jsxSingleQuote:false,trailingComma:"all",bracketSpacing:true,jsxBracketSameLine:false,arrowParens:"always",rangeStart:0,rangeEnd:null,requirePragma:false,insertPragma:false,proseWrap:"preserve",htmlWhitespaceSensitivity:"css",vueIndentScriptAndStyle:false,endOfLine:"lf",embeddedLanguageFormatting:"auto"},{usePrettierrc:false}]}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={rules:{"@typescript-eslint/no-non-null-asserted-optional-chain":"warn","@typescript-eslint/explicit-member-accessibility":"off","@typescript-eslint/member-ordering":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-namespace":"off","@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-this-alias":"off","@typescript-eslint/no-useless-constructor":"off","@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off"}};
|
package/tencent/ts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={plugins:["@typescript-eslint"],rules:{"brace-style":"off","no-empty-function":"off","no-invalid-this":"off","no-magic-numbers":"off","react/sort-comp":"off","func-call-spacing":"off","comma-spacing":"off","dot-notation":"off",indent:"off","keyword-spacing":"off",camelcase:"off","no-underscore-dangle":"off","no-array-constructor":"off","no-dupe-class-members":"off","no-undef":"off","no-unused-vars":"off","no-useless-constructor":"off",quotes:"off",semi:"off","space-before-function-paren":"off","spaced-comment":["error","always",{markers:["/"]}],"@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/brace-style":"error","@typescript-eslint/comma-spacing":["error",{before:false,after:true}],"@typescript-eslint/consistent-type-definitions":"off","@typescript-eslint/explicit-member-accessibility":"off","@typescript-eslint/func-call-spacing":["error","never"],"@typescript-eslint/indent":["warn",2,{SwitchCase:1,VariableDeclarator:1,outerIIFEBody:1,FunctionDeclaration:{parameters:1,body:1},FunctionExpression:{parameters:1,body:1},CallExpression:{arguments:1},ArrayExpression:1,ObjectExpression:1,ImportDeclaration:1,flatTernaryExpressions:false,ignoredNodes:["JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],ignoreComments:false}],"@typescript-eslint/keyword-spacing":["error",{overrides:{if:{after:true},for:{after:true},while:{after:true},else:{after:true}},before:true,after:true}],"@typescript-eslint/member-ordering":["error",{default:["public-static-field","protected-static-field","private-static-field","static-field","public-static-method","protected-static-method","private-static-method","static-method","public-instance-field","protected-instance-field","private-instance-field","public-field","protected-field","private-field","instance-field","field","constructor","public-instance-method","protected-instance-method","private-instance-method","public-method","protected-method","private-method","instance-method","method"]}],"@typescript-eslint/method-signature-style":"off","@typescript-eslint/no-array-constructor":"error","@typescript-eslint/no-dupe-class-members":"error","@typescript-eslint/no-empty-interface":"error","@typescript-eslint/no-inferrable-types":"warn","@typescript-eslint/no-namespace":["error",{allowDeclarations:true,allowDefinitionFiles:true}],"@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-parameter-properties":"off","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-this-alias":["error",{allowDestructuring:true}],"@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:true,allowTernary:true,allowTaggedTemplates:true}],"@typescript-eslint/no-unused-vars":["error",{args:"after-used",ignoreRestSiblings:true,argsIgnorePattern:"^_.+",varsIgnorePattern:"^_.+"}],"@typescript-eslint/no-useless-constructor":"warn","@typescript-eslint/prefer-for-of":"warn","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/prefer-namespace-keyword":"error","@typescript-eslint/quotes":["warn","single",{allowTemplateLiterals:false}],"@typescript-eslint/semi":["error","always"],"@typescript-eslint/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@typescript-eslint/triple-slash-reference":["error",{path:"never",types:"always",lib:"always"}],"@typescript-eslint/type-annotation-spacing":"error","@typescript-eslint/typedef":["error",{arrayDestructuring:false,arrowParameter:false,memberVariableDeclaration:false,objectDestructuring:false,parameter:false,propertyDeclaration:true,variableDeclaration:false}],"@typescript-eslint/unified-signatures":"error"}};
|
package/ts.js
CHANGED
package/tsvue.js
CHANGED
package/tsvue3.js
CHANGED
|
@@ -27,17 +27,6 @@ const rules = require('./vue3.rule');
|
|
|
27
27
|
|
|
28
28
|
module.exports = {
|
|
29
29
|
root: true,
|
|
30
|
-
parser: 'vue-eslint-parser',
|
|
31
|
-
parserOptions: {
|
|
32
|
-
parser: '@typescript-eslint/parser',
|
|
33
|
-
sourceType: 'module',
|
|
34
|
-
ecmaVersion: 2019,
|
|
35
|
-
ecmaFeatures: {
|
|
36
|
-
globalReturn: false,
|
|
37
|
-
impliedStrict: false,
|
|
38
|
-
jsx: true,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
30
|
extends: ['plugin:vue/vue3-recommended', '@vue/typescript', './vue3.js', './ts.js'],
|
|
42
31
|
plugins: ['vue'],
|
|
43
32
|
rules,
|
package/vue.js
CHANGED
|
@@ -31,6 +31,12 @@ module.exports = {
|
|
|
31
31
|
parserOptions: {
|
|
32
32
|
parser: '@babel/eslint-parser',
|
|
33
33
|
sourceType: 'module',
|
|
34
|
+
ecmaVersion: 2019,
|
|
35
|
+
ecmaFeatures: {
|
|
36
|
+
globalReturn: false,
|
|
37
|
+
impliedStrict: false,
|
|
38
|
+
jsx: true,
|
|
39
|
+
},
|
|
34
40
|
},
|
|
35
41
|
extends: ['plugin:vue/recommended', './index.js'],
|
|
36
42
|
plugins: ['vue'],
|
package/vue.rule.js
CHANGED
|
@@ -130,8 +130,8 @@ module.exports = {
|
|
|
130
130
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-boolean-default.md
|
|
131
131
|
'vue/no-boolean-default': 'off',
|
|
132
132
|
|
|
133
|
-
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-
|
|
134
|
-
'vue/no-
|
|
133
|
+
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-use-v-if-with-v-for.md
|
|
134
|
+
'vue/no-use-v-if-with-v-for': 'error',
|
|
135
135
|
|
|
136
136
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-dupe-keys.md
|
|
137
137
|
// 二级属性名禁止重复
|
package/vue3.js
CHANGED
|
@@ -27,11 +27,6 @@ const rules = require('./vue3.rule');
|
|
|
27
27
|
|
|
28
28
|
module.exports = {
|
|
29
29
|
root: true,
|
|
30
|
-
parser: 'vue-eslint-parser',
|
|
31
|
-
parserOptions: {
|
|
32
|
-
parser: '@babel/eslint-parser',
|
|
33
|
-
sourceType: 'module',
|
|
34
|
-
},
|
|
35
30
|
extends: ['plugin:vue/vue3-recommended', './index.js'],
|
|
36
31
|
plugins: ['vue'],
|
|
37
32
|
rules,
|
package/vue3.rule.js
CHANGED
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
* IN THE SOFTWARE.
|
|
25
25
|
*/
|
|
26
26
|
module.exports = {
|
|
27
|
+
'vue/define-macros-order': [
|
|
28
|
+
"error", {
|
|
29
|
+
"order": ["defineOptions", "defineModel", "defineProps", "defineEmits", "defineSlots"],
|
|
30
|
+
"defineExposeLast": true
|
|
31
|
+
}
|
|
32
|
+
],
|
|
27
33
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/array-bracket-spacing.md
|
|
28
34
|
'vue/array-bracket-spacing': ['error', 'never'],
|
|
29
35
|
|
|
@@ -130,8 +136,8 @@ module.exports = {
|
|
|
130
136
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-boolean-default.md
|
|
131
137
|
'vue/no-boolean-default': 'off',
|
|
132
138
|
|
|
133
|
-
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-
|
|
134
|
-
'vue/no-
|
|
139
|
+
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-use-v-if-with-v-for.md
|
|
140
|
+
'vue/no-use-v-if-with-v-for': 'error',
|
|
135
141
|
|
|
136
142
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-dupe-keys.md
|
|
137
143
|
// 二级属性名禁止重复
|
package/bin/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const { ESLint } = require("eslint");
|
|
4
|
-
console.log(process.argv)
|
|
5
|
-
|
|
6
|
-
(async function main() {
|
|
7
|
-
// 1. Create an instance.
|
|
8
|
-
const eslint = new ESLint();
|
|
9
|
-
|
|
10
|
-
// 2. Lint files.
|
|
11
|
-
const results = await eslint.lintFiles(["lib/**/*.js"]);
|
|
12
|
-
|
|
13
|
-
// 3. Format the results.
|
|
14
|
-
const formatter = await eslint.loadFormatter("stylish");
|
|
15
|
-
const resultText = formatter.format(results);
|
|
16
|
-
|
|
17
|
-
// 4. Output it.
|
|
18
|
-
console.log(resultText);
|
|
19
|
-
})().catch((error) => {
|
|
20
|
-
process.exitCode = 1;
|
|
21
|
-
console.error(error);
|
|
22
|
-
});
|