blob: fc2b88eca15d25a875b8abcbc6151377cdfeb826 [file] [log] [blame] [edit]
{
"env": {
"es6": true,
"jest": true,
"node": true
},
"plugins": [
"@typescript-eslint",
"import",
"jsdoc",
"prefer-arrow-functions",
"unicorn"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/strict",
"plugin:@typescript-eslint/stylistic",
"plugin:import/recommended",
"plugin:import/typescript",
"plugin:jsdoc/recommended-typescript"
],
"settings": {
"import/resolver": {
"typescript": true,
"node": true
}
},
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module"
},
"rules": {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-expressions": "error",
"@typescript-eslint/quotes": ["error", "single", { "avoidEscape": true }],
"consistent-return": "error",
"curly": "error",
"default-case": "off",
"default-case-last": "error",
"import/order": [
"error",
{
"newlines-between": "always",
"groups": ["builtin", "external", "parent", "sibling", "index", "type"]
}
],
"import/no-named-as-default-member": "off",
"jsdoc/check-param-names": "error",
"jsdoc/require-description": "warn",
"jsdoc/require-jsdoc": [
"warn",
{
"require": {
"ArrowFunctionExpression": true,
"ClassDeclaration": true,
"ClassExpression": true,
"FunctionDeclaration": true,
"FunctionExpression": true,
"MethodDefinition": true
}
}
],
"jsdoc/require-returns": "error",
"jsdoc/require-yields": "error",
"linebreak-style": ["error", "unix"],
"no-console": "off",
"no-else-return": "error",
"no-empty": ["error", { "allowEmptyCatch": true }],
"no-eval": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-return-assign": "error",
"no-self-compare": "error",
"no-unused-expressions": "off",
"no-useless-call": "error",
"prefer-arrow-functions/prefer-arrow-functions": [
"error",
{ "returnStyle": "implicit" }
],
"prefer-const": "error",
"quotes": "off",
"unicorn/prefer-node-protocol": "error"
}
}