}
}
],
+ "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": [
"@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",
"@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"
]
}
}