keeweb/.eslintrc.json

244 lines
6.6 KiB
JSON
Raw Normal View History

2016-07-17 13:30:38 +02:00
{
2021-05-10 20:31:19 +02:00
"plugins": [
"prettier",
"import",
"babel",
"react",
"@typescript-eslint"
],
"extends": [
"standard",
"eslint:recommended",
"plugin:prettier/recommended"
],
"rules": {
"semi": [
"error",
"always"
],
"one-var": "off",
"space-before-function-paren": "off",
"no-throw-literal": "off",
"camelcase": [
"error",
{
"properties": "always"
}
],
"no-console": "error",
"no-alert": "error",
"no-debugger": "error",
"prefer-arrow-callback": "error",
"object-property-newline": "off",
"no-useless-escape": "off",
"no-var": "error",
"prefer-const": "error",
"no-unused-expressions": "off",
"strict": [
"error",
"never"
],
"no-mixed-operators": "off",
"prefer-promise-reject-errors": "off",
"standard/no-callback-literal": "off",
"object-curly-spacing": "off",
"quote-props": "off",
"no-new-object": "error",
"object-shorthand": "error",
"no-array-constructor": "error",
"array-callback-return": "error",
"no-eval": "error",
"no-new-func": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"no-useless-constructor": "error",
"no-dupe-class-members": "error",
"no-duplicate-imports": "error",
"eqeqeq": "error",
"no-unneeded-ternary": "error",
"curly": "error",
"prettier/prettier": "error",
"no-empty": "off",
"no-restricted-syntax": [
"error",
{
"selector": "ExportDefaultDeclaration",
"message": "Prefer named exports"
}
],
"import/no-webpack-loader-syntax": "off",
"import/no-relative-parent-imports": "error",
"import/first": "error",
"import/no-default-export": "error",
"babel/no-unused-expressions": "error",
"node/no-callback-literal": "off"
},
"parserOptions": {
"sourceType": "module",
"ecmaFeatures": {
"impliedStrict": true
}
},
"parser": "babel-eslint",
"overrides": [
{
"files": [
"*.ts",
"*.tsx"
],
"extends": [
2021-05-09 23:55:40 +02:00
"standard",
"eslint:recommended",
2021-05-10 20:31:19 +02:00
"preact",
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:import/typescript"
],
"rules": {
"semi": [
"error",
"always"
],
2016-07-17 13:30:38 +02:00
"one-var": "off",
"space-before-function-paren": "off",
2021-05-24 18:49:45 +02:00
"no-throw-literal": "error",
2021-05-10 20:31:19 +02:00
"camelcase": [
"error",
{
"properties": "always"
}
],
2016-07-17 13:30:38 +02:00
"no-console": "error",
"no-alert": "error",
"no-debugger": "error",
2017-01-28 23:13:39 +01:00
"prefer-arrow-callback": "error",
"object-property-newline": "off",
2017-01-31 07:50:28 +01:00
"no-useless-escape": "off",
"no-var": "error",
2017-02-05 13:11:24 +01:00
"prefer-const": "error",
"no-unused-expressions": "off",
2021-05-10 20:31:19 +02:00
"strict": [
"error",
"never"
],
2017-06-11 12:00:29 +02:00
"no-mixed-operators": "off",
"prefer-promise-reject-errors": "off",
"standard/no-callback-literal": "off",
2019-08-16 21:36:22 +02:00
"object-curly-spacing": "off",
2019-08-18 10:17:09 +02:00
"quote-props": "off",
"no-new-object": "error",
"object-shorthand": "error",
"no-array-constructor": "error",
"array-callback-return": "error",
"no-eval": "error",
"no-new-func": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"no-useless-constructor": "error",
2021-05-15 22:51:06 +02:00
"no-dupe-class-members": "off",
2019-08-18 10:17:09 +02:00
"no-duplicate-imports": "error",
"eqeqeq": "error",
"no-unneeded-ternary": "error",
"curly": "error",
"prettier/prettier": "error",
2019-08-18 10:18:18 +02:00
"no-empty": "off",
2019-08-18 10:17:09 +02:00
"no-restricted-syntax": [
2021-05-10 20:31:19 +02:00
"error",
{
"selector": "ExportDefaultDeclaration",
"message": "Prefer named exports"
}
2019-08-18 10:17:09 +02:00
],
2019-08-20 20:18:16 +02:00
"import/no-webpack-loader-syntax": "off",
2019-08-18 10:17:09 +02:00
"import/no-relative-parent-imports": "error",
"import/first": "error",
"import/no-default-export": "error",
2020-11-19 18:43:50 +01:00
"babel/no-unused-expressions": "error",
2021-05-10 20:31:19 +02:00
"node/no-callback-literal": "off",
2021-05-13 13:56:29 +02:00
"import/no-commonjs": "off",
2021-05-13 12:39:22 +02:00
"prefer-template": "off",
"no-else-return": "off",
2021-05-10 20:31:19 +02:00
"jest/valid-expect": "off",
2021-05-13 12:39:22 +02:00
"jest/expect-expect": "off",
2021-05-29 16:22:45 +02:00
"react-hooks/exhaustive-deps": "off",
2021-05-15 16:54:04 +02:00
"@typescript-eslint/no-explicit-any": "error",
2021-05-10 20:31:19 +02:00
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/explicit-module-boundary-types": "error",
2021-05-15 16:54:04 +02:00
"@typescript-eslint/no-non-null-assertion": "error",
2021-05-16 14:15:21 +02:00
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/naming-convention": [
"error",
{
"selector": ["objectLiteralProperty", "classProperty", "typeProperty"],
"modifiers": ["private", "protected"],
"format": ["camelCase"],
"leadingUnderscore": "require",
"trailingUnderscore": "forbid"
},
{
2021-05-27 16:58:27 +02:00
"selector": ["classProperty", "typeProperty"],
2021-05-16 14:15:21 +02:00
"modifiers": ["public"],
2021-05-19 08:58:34 +02:00
"format": ["camelCase", "PascalCase", "UPPER_CASE", "snake_case"],
2021-05-16 14:15:21 +02:00
"leadingUnderscore": "forbid",
"trailingUnderscore": "forbid"
2021-05-16 14:25:03 +02:00
},
{
"selector": ["method"],
"format": ["camelCase"],
"leadingUnderscore": "forbid",
"trailingUnderscore": "forbid"
},
{
"selector": ["class", "enum"],
"format": ["PascalCase"],
"leadingUnderscore": "forbid",
"trailingUnderscore": "forbid"
},
{
"selector": ["enumMember"],
2021-05-19 09:57:47 +02:00
"format": ["PascalCase", "UPPER_CASE"],
2021-05-16 14:25:03 +02:00
"leadingUnderscore": "forbid",
"trailingUnderscore": "forbid"
},
{
"selector": ["variable"],
"format": ["camelCase", "PascalCase", "UPPER_CASE"],
"leadingUnderscore": "forbid",
"trailingUnderscore": "forbid"
2021-05-16 14:15:21 +02:00
}
]
2021-05-10 20:31:19 +02:00
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
2017-04-08 18:31:38 +02:00
"ecmaFeatures": {
2021-05-10 20:31:19 +02:00
"jsx": true
2021-05-09 23:55:40 +02:00
},
2021-05-10 20:31:19 +02:00
"ecmaVersion": 11,
"sourceType": "module",
"project": [
"tsconfig.json",
"jsconfig.json"
]
}
}
],
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [
".ts",
".tsx"
]
2016-07-17 13:30:38 +02:00
}
2021-05-10 20:31:19 +02:00
},
"globals": {
"_": true,
"$": true
},
"env": {
"browser": true,
"node": true,
"es2020": true
}
2016-07-17 13:30:38 +02:00
}