@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 CHANGED
@@ -24,5 +24,5 @@
24
24
  * IN THE SOFTWARE.
25
25
  */
26
26
  module.exports = {
27
- extends: ['eslint-config-tencent'],
27
+ extends: ['./tencent/index.js'],
28
28
  };
package/package.json CHANGED
@@ -1,24 +1,21 @@
1
1
  {
2
2
  "name": "@blueking/eslint-config-bk",
3
- "version": "2.1.0-beta.09",
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,5 +24,5 @@
24
24
  * IN THE SOFTWARE.
25
25
  */
26
26
  module.exports = {
27
- extends: ['eslint-config-tencent', 'eslint-config-tencent/ts'],
27
+ extends: ['./tencent/index.js', './tencent/ts.js'],
28
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
- });