feat: update ts rules

This commit is contained in:
Anthony Fu 2022-01-07 03:23:12 +08:00
parent e6ffa98249
commit 13c90b5150
10 changed files with 221 additions and 445 deletions

6
fixture/a.ts Normal file
View File

@ -0,0 +1,6 @@
// @ts-expect-error requires a comment
export const a: string = 1
export interface Foo {
a: string
}

View File

@ -11,7 +11,7 @@
}, },
"devDependencies": { "devDependencies": {
"@antfu/eslint-config": "*", "@antfu/eslint-config": "*",
"eslint": "^8.5.0", "eslint": "^8.6.0",
"lerna": "^4.0.0", "lerna": "^4.0.0",
"typescript": "^4.5.4" "typescript": "^4.5.4"
} }

View File

@ -15,23 +15,23 @@
"dependencies": { "dependencies": {
"@antfu/eslint-config-react": "^0.14.2", "@antfu/eslint-config-react": "^0.14.2",
"@antfu/eslint-config-vue": "^0.14.2", "@antfu/eslint-config-vue": "^0.14.2",
"@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/eslint-plugin": "^5.9.0",
"@typescript-eslint/parser": "^5.8.1", "@typescript-eslint/parser": "^5.9.0",
"eslint-config-standard": "^16.0.3", "eslint-config-standard": "^16.0.3",
"eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-html": "^6.2.0", "eslint-plugin-html": "^6.2.0",
"eslint-plugin-import": "^2.25.3", "eslint-plugin-import": "^2.25.4",
"eslint-plugin-jsonc": "^2.0.0", "eslint-plugin-jsonc": "^2.0.0",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.0.0", "eslint-plugin-promise": "^6.0.0",
"eslint-plugin-unicorn": "^39.0.0", "eslint-plugin-unicorn": "^40.0.0",
"eslint-plugin-vue": "8.2.0", "eslint-plugin-vue": "8.2.0",
"eslint-plugin-yml": "^0.12.0", "eslint-plugin-yml": "^0.12.0",
"jsonc-eslint-parser": "^2.0.4", "jsonc-eslint-parser": "^2.0.4",
"yaml-eslint-parser": "^0.5.0" "yaml-eslint-parser": "^0.5.0"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^8.5.0" "eslint": "^8.6.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

View File

@ -132,7 +132,6 @@ module.exports = {
'no-restricted-syntax': [ 'no-restricted-syntax': [
'error', 'error',
'DebuggerStatement', 'DebuggerStatement',
'ForInStatement',
'LabeledStatement', 'LabeledStatement',
'WithStatement', 'WithStatement',
], ],

View File

@ -19,17 +19,17 @@
"eslint-config-standard": "^16.0.3", "eslint-config-standard": "^16.0.3",
"eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-html": "^6.2.0", "eslint-plugin-html": "^6.2.0",
"eslint-plugin-import": "^2.25.3", "eslint-plugin-import": "^2.25.4",
"eslint-plugin-jsonc": "^2.0.0", "eslint-plugin-jsonc": "^2.0.0",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.0.0", "eslint-plugin-promise": "^6.0.0",
"eslint-plugin-unicorn": "^39.0.0", "eslint-plugin-unicorn": "^40.0.0",
"eslint-plugin-yml": "^0.12.0", "eslint-plugin-yml": "^0.12.0",
"jsonc-eslint-parser": "^2.0.4", "jsonc-eslint-parser": "^2.0.4",
"yaml-eslint-parser": "^0.5.0" "yaml-eslint-parser": "^0.5.0"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^8.5.0" "eslint": "^8.6.0"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

View File

@ -23,7 +23,7 @@
"eslint-plugin-react": "^7.28.0" "eslint-plugin-react": "^7.28.0"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^8.5.0", "eslint": "^8.6.0",
"react": "^17.0.2", "react": "^17.0.2",
"typescript": "^4.5.4" "typescript": "^4.5.4"
} }

View File

@ -12,9 +12,13 @@ module.exports = {
// TS // TS
'@typescript-eslint/semi': ['error', 'never'], '@typescript-eslint/semi': ['error', 'never'],
'@typescript-eslint/ban-ts-comment': ['error', { 'ts-ignore': 'allow-with-description' }],
'@typescript-eslint/member-delimiter-style': ['error', { multiline: { delimiter: 'none' } }], '@typescript-eslint/member-delimiter-style': ['error', { multiline: { delimiter: 'none' } }],
'@typescript-eslint/type-annotation-spacing': ['error', {}], '@typescript-eslint/type-annotation-spacing': ['error', {}],
'@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports', disallowTypeAnnotations: false }], '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports', disallowTypeAnnotations: false }],
'@typescript-eslint/consistent-type-definitions': ['error', 'interface'],
'@typescript-eslint/consistent-indexed-object-style': ['error', 'record'],
'@typescript-eslint/prefer-ts-expect-error': 'error',
// Override JS // Override JS
'no-useless-constructor': 'off', 'no-useless-constructor': 'off',
@ -26,6 +30,12 @@ module.exports = {
'@typescript-eslint/no-redeclare': 'error', '@typescript-eslint/no-redeclare': 'error',
'no-use-before-define': 'off', 'no-use-before-define': 'off',
'@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false, variables: true }], '@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false, variables: true }],
'brace-style': 'off',
'@typescript-eslint/brace-style': ['error', 'stroustrup', { allowSingleLine: true }],
'comma-dangle': 'off',
'@typescript-eslint/comma-dangle': ['error', 'always-multiline'],
'object-curly-spacing': 'off',
'@typescript-eslint/object-curly-spacing': ['error', 'always'],
// off // off
'@typescript-eslint/camelcase': 'off', '@typescript-eslint/camelcase': 'off',
@ -37,7 +47,6 @@ module.exports = {
'@typescript-eslint/ban-ts-ignore': 'off', '@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/ban-types': 'off', '@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-namespace': 'off', '@typescript-eslint/no-namespace': 'off',

View File

@ -18,10 +18,10 @@
}, },
"dependencies": { "dependencies": {
"@antfu/eslint-config-basic": "^0.14.2", "@antfu/eslint-config-basic": "^0.14.2",
"@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/eslint-plugin": "^5.9.0",
"@typescript-eslint/parser": "^5.8.1" "@typescript-eslint/parser": "^5.9.0"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^8.5.0" "eslint": "^8.6.0"
} }
} }

View File

@ -20,6 +20,6 @@
"eslint-plugin-vue": "^8.2.0" "eslint-plugin-vue": "^8.2.0"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^8.5.0" "eslint": "^8.6.0"
} }
} }

File diff suppressed because it is too large Load Diff