mirror of
https://github.com/p-stream/backend.git
synced 2026-01-11 12:00:45 +00:00
120 lines
3.3 KiB
JSON
120 lines
3.3 KiB
JSON
{
|
|
"root": true,
|
|
"env": {
|
|
"node": true,
|
|
"es2022": true
|
|
},
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:prettier/recommended"
|
|
],
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"ecmaVersion": "latest",
|
|
"sourceType": "module",
|
|
"project": "./tsconfig.json"
|
|
},
|
|
"plugins": ["@typescript-eslint", "prettier"],
|
|
"rules": {
|
|
// Error prevention
|
|
"no-console": ["warn", { "allow": ["warn", "error"] }],
|
|
"no-debugger": "warn",
|
|
"no-duplicate-imports": "error",
|
|
"no-unused-vars": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
"argsIgnorePattern": "^_",
|
|
"varsIgnorePattern": "^_",
|
|
"caughtErrorsIgnorePattern": "^_"
|
|
}
|
|
],
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/explicit-function-return-type": [
|
|
"warn",
|
|
{
|
|
"allowExpressions": true,
|
|
"allowTypedFunctionExpressions": true
|
|
}
|
|
],
|
|
"@typescript-eslint/no-floating-promises": "error",
|
|
"@typescript-eslint/no-misused-promises": "error",
|
|
"@typescript-eslint/await-thenable": "error",
|
|
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
|
"@typescript-eslint/prefer-nullish-coalescing": "error",
|
|
"@typescript-eslint/prefer-optional-chain": "error",
|
|
"@typescript-eslint/consistent-type-imports": [
|
|
"error",
|
|
{
|
|
"prefer": "type-imports",
|
|
"disallowTypeAnnotations": false
|
|
}
|
|
],
|
|
|
|
// Code style
|
|
"prettier/prettier": [
|
|
"error",
|
|
{
|
|
"singleQuote": true,
|
|
"trailingComma": "es5",
|
|
"printWidth": 100,
|
|
"tabWidth": 2,
|
|
"semi": true
|
|
}
|
|
],
|
|
"arrow-body-style": ["error", "as-needed"],
|
|
"prefer-arrow-callback": "error",
|
|
"no-var": "error",
|
|
"prefer-const": "error",
|
|
"eqeqeq": ["error", "always", { "null": "ignore" }],
|
|
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0 }],
|
|
"no-trailing-spaces": "error",
|
|
"eol-last": "error",
|
|
"comma-dangle": ["error", "always-multiline"],
|
|
"quotes": ["error", "single", { "avoidEscape": true }],
|
|
"semi": ["error", "always"],
|
|
"object-curly-spacing": ["error", "always"],
|
|
"array-bracket-spacing": ["error", "never"],
|
|
"computed-property-spacing": ["error", "never"],
|
|
"space-before-function-paren": [
|
|
"error",
|
|
{
|
|
"anonymous": "always",
|
|
"named": "never",
|
|
"asyncArrow": "always"
|
|
}
|
|
],
|
|
"space-before-blocks": ["error", "always"],
|
|
"keyword-spacing": ["error", { "before": true, "after": true }],
|
|
"space-infix-ops": "error",
|
|
"no-multi-spaces": "error",
|
|
"no-whitespace-before-property": "error",
|
|
"func-call-spacing": ["error", "never"],
|
|
"no-spaced-func": "error",
|
|
"no-unexpected-multiline": "error",
|
|
"no-mixed-spaces-and-tabs": "error",
|
|
"no-tabs": "error",
|
|
"indent": [
|
|
"error",
|
|
2,
|
|
{
|
|
"SwitchCase": 1,
|
|
"FunctionDeclaration": { "parameters": "first" },
|
|
"FunctionExpression": { "parameters": "first" },
|
|
"CallExpression": { "arguments": "first" },
|
|
"ArrayExpression": "first",
|
|
"ObjectExpression": "first"
|
|
}
|
|
]
|
|
},
|
|
"ignorePatterns": [
|
|
"node_modules/",
|
|
"dist/",
|
|
".nuxt/",
|
|
".output/",
|
|
"coverage/",
|
|
"*.config.js",
|
|
"*.config.ts"
|
|
]
|
|
}
|