"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
- "plugin:@typescript-eslint/recommended-requiring-type-checking"
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
+ "plugin:import/errors",
+ "plugin:import/warnings",
+ "plugin:import/typescript",
+ "plugin:jsdoc/recommended"
],
"plugins": [
+ "import",
+ "jsdoc",
"@typescript-eslint"
],
+ "settings": {
+ "jsdoc": {
+ "mode": "typescript"
+ }
+ },
"rules": {
"indent": "off",
"@typescript-eslint/indent": [
"error",
2,
{
- "SwitchCase": 1
+ "SwitchCase": 1,
+ "FunctionDeclaration": {
+ "parameters": 2
+ },
+ "FunctionExpression": {
+ "parameters": 2
+ }
}
],
"@typescript-eslint/array-type": "off",
],
"no-useless-catch": "error",
"no-useless-return": "error",
- "no-shadow": "error",
+ "no-shadow": "off", // This one is generating false positive no-shadow errors on exported/const enums
+ "@typescript-eslint/no-shadow": "error",
"no-multiple-empty-lines": [
"error",
{
}
],
"block-spacing": "error",
- "capitalized-comments": [
- "error",
- "always",
- {
- "ignoreConsecutiveComments": true,
- "ignorePattern": "pragma|ignored"
- }
- ],
+ // "capitalized-comments": [
+ // "error",
+ // "always",
+ // {
+ // "ignoreConsecutiveComments": true,
+ // "ignorePattern": "pragma|ignored"
+ // }
+ // ],
"eol-last": [
"error",
"always"
"keyword-spacing": [
"error"
],
+ "id-blacklist": [
+ "error",
+ "any",
+ "Number",
+ "number",
+ "String",
+ "string",
+ "Boolean",
+ "boolean",
+ "Undefined",
+ "undefined",
+ "Symbol",
+ "symbol"
+ ],
"linebreak-style": [
"error",
"unix"
"error",
"single"
]
- }
+ },
+ "overrides": [
+ {
+ "files": [
+ "*.js"
+ ],
+ "extends": "plugin:node/recommended",
+ "rules": {
+ "node/shebang" : "off",
+ "@typescript-eslint/no-unused-vars": "off",
+ "@typescript-eslint/no-var-requires": "off"
+ }
+ }
+ ]
}