lint: replace tslint with eslint and fix new warnings and errors.
parent
f29edf1563
commit
11dd883f5f
@ -0,0 +1,98 @@
|
|||||||
|
module.exports = {
|
||||||
|
"env": {
|
||||||
|
"browser": true,
|
||||||
|
"es6": true,
|
||||||
|
"node": true
|
||||||
|
},
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"parserOptions": {
|
||||||
|
"sourceType": "module",
|
||||||
|
"ecmaFeatures": {
|
||||||
|
"jsx": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"react": {
|
||||||
|
"version": "detect",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"@typescript-eslint",
|
||||||
|
],
|
||||||
|
"extends": [
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:react/recommended",
|
||||||
|
"plugin:@typescript-eslint/eslint-recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@typescript-eslint/explicit-function-return-type": "off",
|
||||||
|
"@typescript-eslint/no-use-before-define": "off",
|
||||||
|
"@typescript-eslint/no-non-null-assertion": "off",
|
||||||
|
"@typescript-eslint/no-explicit-any": "off",
|
||||||
|
"@typescript-eslint/member-delimiter-style": ["error", {
|
||||||
|
"multiline": {
|
||||||
|
"delimiter": "semi",
|
||||||
|
"requireLast": true
|
||||||
|
},
|
||||||
|
"singleline": {
|
||||||
|
"delimiter": "comma",
|
||||||
|
"requireLast": false
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
"@typescript-eslint/no-unused-vars": ["warn", {
|
||||||
|
"vars": "all",
|
||||||
|
"args": "after-used",
|
||||||
|
"ignoreRestSiblings": true,
|
||||||
|
"argsIgnorePattern": "^_",
|
||||||
|
}],
|
||||||
|
|
||||||
|
"react/display-name": "off",
|
||||||
|
"react/no-unescaped-entities": "off",
|
||||||
|
"react/jsx-tag-spacing": ["error", {
|
||||||
|
"closingSlash": "never",
|
||||||
|
"beforeSelfClosing": "always",
|
||||||
|
"afterOpening": "never",
|
||||||
|
"beforeClosing": "never"
|
||||||
|
}],
|
||||||
|
"react/jsx-boolean-value": ["error", "never"],
|
||||||
|
"react/jsx-curly-spacing": ["error", "never"],
|
||||||
|
"react/jsx-key": ["error", { "checkFragmentShorthand": true }],
|
||||||
|
|
||||||
|
"quotes": "off",
|
||||||
|
"@typescript-eslint/quotes": ["error", "single", { "allowTemplateLiterals": true }],
|
||||||
|
"semi": ["error", "always", { "omitLastInOneLineBlock": true }],
|
||||||
|
"camelcase": ["error"],
|
||||||
|
"comma-dangle": ["error", {
|
||||||
|
"arrays": "always-multiline",
|
||||||
|
"objects": "always-multiline",
|
||||||
|
"imports": "always-multiline",
|
||||||
|
"exports": "always-multiline",
|
||||||
|
"functions": "never"
|
||||||
|
}],
|
||||||
|
"eqeqeq": ["error", "smart"],
|
||||||
|
"indent": ["error", 2, {
|
||||||
|
"SwitchCase": 1,
|
||||||
|
}],
|
||||||
|
"no-multi-spaces": "error",
|
||||||
|
"object-curly-spacing": ["error", "always"],
|
||||||
|
"arrow-parens": "error",
|
||||||
|
"arrow-spacing": "error",
|
||||||
|
"key-spacing": "error",
|
||||||
|
"keyword-spacing": "error",
|
||||||
|
"func-call-spacing": "off",
|
||||||
|
"@typescript-eslint/func-call-spacing": ["error"],
|
||||||
|
"space-before-function-paren": ["error", {
|
||||||
|
"anonymous": "always",
|
||||||
|
"named": "never",
|
||||||
|
"asyncArrow": "always"
|
||||||
|
}],
|
||||||
|
"space-in-parens": ["error", "never"],
|
||||||
|
"space-before-blocks": "error",
|
||||||
|
"curly": ["error", "all"],
|
||||||
|
"space-infix-ops": "error",
|
||||||
|
"consistent-return": "error",
|
||||||
|
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
|
||||||
|
"jsx-quotes": ["error"],
|
||||||
|
}
|
||||||
|
};
|
@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": ["tslint:recommended", "tslint-react"],
|
|
||||||
"rules": {
|
|
||||||
"no-console": [true, "error"],
|
|
||||||
"interface-name": [true, "never-prefix"],
|
|
||||||
"ordered-imports": false,
|
|
||||||
"jsx-boolean-value": [true, "never"],
|
|
||||||
"jsx-curly-spacing": [true, "never"],
|
|
||||||
"jsx-no-bind": [true, "allowArrowFunctions"],
|
|
||||||
"jsx-no-lambda": [false],
|
|
||||||
"jsx-no-multiline-js": false,
|
|
||||||
"jsx-space-before-trailing-slash": true,
|
|
||||||
"jsx-key": true,
|
|
||||||
"max-classes-per-file": [false, 0],
|
|
||||||
"max-line-length": false,
|
|
||||||
"no-consecutive-blank-lines": false,
|
|
||||||
"no-conditional-assignment": false,
|
|
||||||
"object-literal-sort-keys": false,
|
|
||||||
"quotemark": [true, "single", "jsx-double", "avoid-escape", "avoid-template"],
|
|
||||||
"semicolon": [true, "always", "ignore-bound-class-methods"],
|
|
||||||
"variable-name": [true, "ban-keywords", "check-format", "allow-pascal-case", "allow-leading-underscore"],
|
|
||||||
"trailing-comma": [
|
|
||||||
true,
|
|
||||||
{
|
|
||||||
"multiline": {
|
|
||||||
"objects": "always",
|
|
||||||
"arrays": "always",
|
|
||||||
"functions": "never",
|
|
||||||
"typeLiterals": "ignore"
|
|
||||||
},
|
|
||||||
"esSpecCompliant": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"whitespace": [true,"check-branch", "check-decl", "check-operator", "check-module", "check-separator", "check-rest-spread", "check-type", "check-typecast", "check-type-operator", "check-preblock"]
|
|
||||||
},
|
|
||||||
"linterOptions": {
|
|
||||||
"exclude": [
|
|
||||||
"config/**/*.js",
|
|
||||||
"node_modules/**/*.ts"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue