@blueking/eslint-config-bk 2.1.0-beta.8 → 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 CHANGED
@@ -24,16 +24,5 @@
24
24
  * IN THE SOFTWARE.
25
25
  */
26
26
  module.exports = {
27
- extends: ['eslint-config-tencent'],
28
- plugins: [
29
- 'header',
30
- ],
31
- overrides: [
32
- {
33
- files: ['*.js'],
34
- rules: {
35
- 'header/header': [2, './config/header.js'],
36
- },
37
- },
38
- ],
27
+ extends: ['./tencent/index.js'],
39
28
  };
package/package.json CHANGED
@@ -1,24 +1,21 @@
1
1
  {
2
2
  "name": "@blueking/eslint-config-bk",
3
- "version": "2.1.0-beta.08",
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.14.3",
10
- "@typescript-eslint/eslint-plugin": "~5.20.0",
11
- "@typescript-eslint/parser": "~5.20.0",
12
- "@vue/eslint-config-standard": "~6.1.0",
13
- "@vue/eslint-config-typescript": "~10.0.0",
14
- "eslint": "^8.14.0",
15
- "eslint-config-tencent": "^1.0.4",
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": "~6.0.0",
14
+ "eslint-plugin-promise": "^6.1.1",
19
15
  "eslint-plugin-standard": "~5.0.0",
20
- "eslint-plugin-vue": "^8.7.1",
21
- "typescript": "~4.6.3"
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"}};
@@ -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"}};
@@ -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
@@ -24,16 +24,5 @@
24
24
  * IN THE SOFTWARE.
25
25
  */
26
26
  module.exports = {
27
- extends: ['eslint-config-tencent', 'eslint-config-tencent/ts'],
28
- plugins: [
29
- 'header',
30
- ],
31
- overrides: [
32
- {
33
- files: ['*.ts'],
34
- rules: {
35
- 'header/header': [2, './config/header.js'],
36
- },
37
- },
38
- ],
27
+ extends: ['./tencent/index.js', './tencent/ts.js'],
39
28
  }
package/tsvue.js CHANGED
@@ -32,6 +32,7 @@ module.exports = {
32
32
  parser: '@typescript-eslint/parser',
33
33
  sourceType: 'module',
34
34
  ecmaVersion: 2019,
35
+ project: './tsconfig.json',
35
36
  ecmaFeatures: {
36
37
  globalReturn: false,
37
38
  impliedStrict: false,
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-confusing-v-for-v-if.md
134
- 'vue/no-confusing-v-for-v-if': 'error',
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-confusing-v-for-v-if.md
134
- 'vue/no-confusing-v-for-v-if': 'error',
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
- });
package/config/header.js DELETED
@@ -1,25 +0,0 @@
1
- /*
2
- * Tencent is pleased to support the open source community by making
3
- * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
4
- *
5
- * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
6
- *
7
- * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
8
- *
9
- * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
10
- *
11
- * ---------------------------------------------------
12
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
13
- * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
14
- * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
15
- * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
16
- *
17
- * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
18
- * the Software.
19
- *
20
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
21
- * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
23
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24
- * IN THE SOFTWARE.
25
- */