mirror of
https://github.com/keeweb/keeweb.git
synced 2024-06-28 07:50:55 +02:00
243 lines
6.6 KiB
JSON
243 lines
6.6 KiB
JSON
{
|
|
"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": [
|
|
"standard",
|
|
"eslint:recommended",
|
|
"preact",
|
|
"plugin:prettier/recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
"plugin:import/typescript"
|
|
],
|
|
"rules": {
|
|
"semi": [
|
|
"error",
|
|
"always"
|
|
],
|
|
"one-var": "off",
|
|
"space-before-function-paren": "off",
|
|
"no-throw-literal": "error",
|
|
"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": "off",
|
|
"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",
|
|
"import/no-commonjs": "off",
|
|
"prefer-template": "off",
|
|
"no-else-return": "off",
|
|
"jest/valid-expect": "off",
|
|
"jest/expect-expect": "off",
|
|
"@typescript-eslint/no-explicit-any": "error",
|
|
"@typescript-eslint/no-unused-vars": "error",
|
|
"@typescript-eslint/explicit-module-boundary-types": "error",
|
|
"@typescript-eslint/no-non-null-assertion": "error",
|
|
"@typescript-eslint/no-var-requires": "off",
|
|
"@typescript-eslint/naming-convention": [
|
|
"error",
|
|
{
|
|
"selector": ["objectLiteralProperty", "classProperty", "typeProperty"],
|
|
"modifiers": ["private", "protected"],
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "require",
|
|
"trailingUnderscore": "forbid"
|
|
},
|
|
{
|
|
"selector": ["objectLiteralProperty", "classProperty", "typeProperty"],
|
|
"modifiers": ["public"],
|
|
"format": ["camelCase", "PascalCase", "UPPER_CASE", "snake_case"],
|
|
"leadingUnderscore": "forbid",
|
|
"trailingUnderscore": "forbid"
|
|
},
|
|
{
|
|
"selector": ["method"],
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "forbid",
|
|
"trailingUnderscore": "forbid"
|
|
},
|
|
{
|
|
"selector": ["class", "enum"],
|
|
"format": ["PascalCase"],
|
|
"leadingUnderscore": "forbid",
|
|
"trailingUnderscore": "forbid"
|
|
},
|
|
{
|
|
"selector": ["enumMember"],
|
|
"format": ["PascalCase", "UPPER_CASE"],
|
|
"leadingUnderscore": "forbid",
|
|
"trailingUnderscore": "forbid"
|
|
},
|
|
{
|
|
"selector": ["variable"],
|
|
"format": ["camelCase", "PascalCase", "UPPER_CASE"],
|
|
"leadingUnderscore": "forbid",
|
|
"trailingUnderscore": "forbid"
|
|
}
|
|
]
|
|
},
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
},
|
|
"ecmaVersion": 11,
|
|
"sourceType": "module",
|
|
"project": [
|
|
"tsconfig.json",
|
|
"jsconfig.json"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"settings": {
|
|
"import/parsers": {
|
|
"@typescript-eslint/parser": [
|
|
".ts",
|
|
".tsx"
|
|
]
|
|
}
|
|
},
|
|
"globals": {
|
|
"_": true,
|
|
"$": true
|
|
},
|
|
"env": {
|
|
"browser": true,
|
|
"node": true,
|
|
"es2020": true
|
|
}
|
|
}
|