X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=.eslintrc.json;h=4e80ff2246f657b3907292e4f489e7116e023488;hb=c56dd2807fe5d129907b9bf8c42656a8314d754b;hp=042254c95aca67a6a98b23bfad954568591f9e75;hpb=1e4d2cb5aef11898585fae4053da4ebd0a69b480;p=github%2FChocobozzz%2FPeerTube.git diff --git a/.eslintrc.json b/.eslintrc.json index 042254c95..4e80ff224 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -38,12 +38,15 @@ } } ], + "quotes": "off", "@typescript-eslint/indent": [ "error", 2, { "SwitchCase": 1, - "MemberExpression": "off" + "MemberExpression": "off", + // https://github.com/eslint/eslint/issues/15299 + "ignoredNodes": ["PropertyDefinition"] } ], "@typescript-eslint/consistent-type-assertions": [ @@ -76,7 +79,14 @@ "@typescript-eslint/dot-notation": "off", "@typescript-eslint/method-signature-style": "off", "@typescript-eslint/no-base-to-string": "off", - "@typescript-eslint/quotes": "off", + "@typescript-eslint/quotes": [ + "error", + "single", + { + "avoidEscape": true, + "allowTemplateLiterals": true + } + ], "@typescript-eslint/no-var-requires": "off", "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/promise-function-async": "off", @@ -89,16 +99,45 @@ "@typescript-eslint/no-empty-interface": "off", "@typescript-eslint/no-extraneous-class": "off", "@typescript-eslint/no-use-before-define": "off", + + "require-await": "off", + "@typescript-eslint/require-await": "error", + // bugged but useful - "@typescript-eslint/restrict-plus-operands": "off" + "@typescript-eslint/restrict-plus-operands": "off", + + // Requires strictNullChecks + "@typescript-eslint/prefer-nullish-coalescing": "off", + "@typescript-eslint/consistent-type-imports": "off", + "@typescript-eslint/consistent-indexed-object-style": "off", + "@typescript-eslint/no-confusing-void-expression": "off", + "@typescript-eslint/consistent-type-exports": "off", + "@typescript-eslint/key-spacing": "off", + + "@typescript-eslint/ban-types": [ + "error", + { + "types": { + "{}": false, + "Function": false + }, + "extendDefaults": true + } + ] }, "ignorePatterns": [ - "node_modules/" + "node_modules/", + "server/tests/fixtures" ], "parserOptions": { + "EXPERIMENTAL_useSourceOfProjectReferenceRedirect": true, "project": [ "./tsconfig.json", - "./server/tools/tsconfig.json" + "./shared/tsconfig.json", + "./scripts/tsconfig.json", + "./server/tsconfig.json", + "./server/tools/tsconfig.json", + "./packages/peertube-runner/tsconfig.json" ] } }