1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
{
"plugins": ["jsdoc"],
"extends": [
"eslint:recommended",
"plugin:jsdoc/recommended",
"plugin:node/recommended",
"prettier"
],
"env": { "node": true },
"rules": {
"array-callback-return": [
2,
{
"allowImplicit": true
}
],
"no-lonely-if": 2,
"no-proto": 2,
"eqeqeq": [2, "smart"],
"no-caller": 2,
"dot-notation": 2,
"no-var": 2,
"prefer-const": 2,
"prefer-arrow-callback": [2, { "allowNamedFunctions": true }],
"arrow-body-style": [2, "as-needed"],
"object-shorthand": 2,
"prefer-template": 2,
"one-var": [2, "never"],
"prefer-destructuring": [2, { "object": true }],
"capitalized-comments": 2,
"multiline-comment-style": [2, "starred-block"],
"spaced-comment": 2,
"yoda": [2, "never"],
"curly": [2, "multi-line"],
"no-else-return": [
2,
{
"allowElseIf": false
}
],
"no-unused-expressions": 2,
"no-useless-call": 2,
"no-use-before-define": [2, "nofunc"],
"no-constant-binary-expression": 2,
"no-void": 2,
"jsdoc/require-jsdoc": 0,
"jsdoc/check-param-names": 0,
"jsdoc/check-tag-names": 2,
"jsdoc/newline-after-description": 2,
"jsdoc/require-description-complete-sentence": 2,
"jsdoc/require-hyphen-before-param-description": 2,
"jsdoc/require-param-description": 2,
"jsdoc/require-param-name": 2,
"jsdoc/require-param-type": 0,
"jsdoc/require-returns-type": 0,
"jsdoc/require-param": 0,
"jsdoc/no-types": 2,
"jsdoc/valid-types": 2,
"jsdoc/tag-lines": 0,
"node/no-unsupported-features/es-syntax": 0,
"node/file-extension-in-import": ["error", "always"],
"node/no-missing-import": 0
},
"settings": {
"jsdoc": {
"mode": "typescript",
"tagNamePreference": {
"category": "category"
}
}
},
"overrides": [
{
"files": "*.ts",
"extends": [
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier"
],
"parserOptions": {
"sourceType": "module",
"project": "./tsconfig.eslint.json"
},
"rules": {
"dot-notation": 0,
"curly": [2, "multi-line"],
"@typescript-eslint/prefer-for-of": 0,
"@typescript-eslint/member-ordering": 0,
"@typescript-eslint/explicit-function-return-type": 0,
"@typescript-eslint/no-unused-vars": 0,
"no-use-before-define": 0,
"@typescript-eslint/no-use-before-define": [2, { "functions": false }],
"@typescript-eslint/consistent-type-definitions": [2, "interface"],
"@typescript-eslint/prefer-function-type": 2,
"@typescript-eslint/no-unnecessary-type-arguments": 2,
"@typescript-eslint/prefer-string-starts-ends-with": 2,
"@typescript-eslint/prefer-readonly": 2,
"@typescript-eslint/prefer-includes": 2,
"@typescript-eslint/switch-exhaustiveness-check": 2,
"@typescript-eslint/prefer-nullish-coalescing": 2,
"@typescript-eslint/no-explicit-any": 1 // TODO
}
},
{
"files": "*.spec.ts",
"extends": "plugin:jest/recommended",
"rules": {
"@typescript-eslint/no-explicit-any": 0
}
}
]
}
|