mirror of
https://github.com/keeweb/keeweb.git
synced 2024-06-28 07:50:55 +02:00
168 lines
5.5 KiB
JSON
168 lines
5.5 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": ["app/scripts/**/*.js"],
|
|
"rules": {
|
|
"import/no-commonjs": "error"
|
|
}
|
|
}, {
|
|
"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": "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",
|
|
"import/no-commonjs": "error",
|
|
"@typescript-eslint/no-unused-vars": "error",
|
|
"@typescript-eslint/explicit-module-boundary-types": "error",
|
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
"jest/valid-expect": "off"
|
|
},
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
},
|
|
"ecmaVersion": 11,
|
|
"sourceType": "module",
|
|
"project": ["tsconfig.json", "jsconfig.json"]
|
|
}
|
|
}, {
|
|
"files": ["app/test/**/*.ts"],
|
|
"env": {
|
|
"mocha": true
|
|
}
|
|
}],
|
|
"settings": {
|
|
"import/parsers": {
|
|
"@typescript-eslint/parser": [".ts", ".tsx"]
|
|
}
|
|
},
|
|
"globals": {
|
|
"_": true,
|
|
"$": true
|
|
},
|
|
"env": {
|
|
"browser": true,
|
|
"node": true,
|
|
"es2020": true
|
|
}
|
|
}
|