3 "parser": "@typescript-eslint/parser",
5 "project": "./tsconfig.json"
9 "plugin:@typescript-eslint/recommended",
10 "plugin:@typescript-eslint/recommended-requiring-type-checking",
11 "plugin:import/errors",
12 "plugin:import/warnings",
13 "plugin:import/typescript",
14 "plugin:jsdoc/recommended",
17 "plugins": ["import", "jsdoc", "@typescript-eslint"],
25 "@typescript-eslint/indent": [
33 "FunctionDeclaration": {
37 "FunctionExpression": {
43 "@typescript-eslint/array-type": "off",
45 "@typescript-eslint/semi": ["error", "always"],
46 "space-before-blocks": ["error", "always"],
47 "@typescript-eslint/no-empty-function": [
50 "allow": ["arrowFunctions", "methods"]
53 "@typescript-eslint/member-ordering": "error",
54 "@typescript-eslint/await-thenable": "error",
55 "@typescript-eslint/no-floating-promises": "error",
56 "@typescript-eslint/promise-function-async": "error",
57 "@typescript-eslint/no-misused-promises": "error",
59 "brace-style": "error",
60 "eqeqeq": ["error", "always"],
61 "no-else-return": "error",
62 "no-eq-null": "error",
63 "no-undefined": "error",
64 "no-extra-bind": "error",
65 "no-lone-blocks": "error",
66 "no-multi-spaces": "error",
68 "no-return-assign": ["error", "always"],
69 "no-useless-catch": "error",
70 "no-useless-return": "error",
71 "no-shadow": "off", // This one is generating false positive no-shadow errors on exported/const enums
72 "@typescript-eslint/no-shadow": "error",
73 "no-multiple-empty-lines": [
80 "block-spacing": "error",
81 // "capitalized-comments": [
85 // "ignoreConsecutiveComments": true,
86 // "ignorePattern": "pragma|ignored"
89 "eol-last": ["error", "always"],
90 "consistent-this": ["error", "self"],
91 "func-call-spacing": ["error", "never"],
92 "keyword-spacing": ["error"],
107 "linebreak-style": ["error", "unix"],
112 "ignoreComments": true,
114 "ignoreStrings": true,
115 "ignoreTemplateLiterals": true,
116 "ignoreRegExpLiterals": true,
117 "ignorePattern": "(^(import|export)|(public|private))\\s.+;"
120 "no-lonely-if": "error",
121 "no-trailing-spaces": "error",
122 "no-whitespace-before-property": "error",
123 "space-before-function-paren": [
126 "anonymous": "never",
128 "asyncArrow": "always"
131 "space-in-parens": ["error", "never"],
132 "space-infix-ops": "error",
133 "space-unary-ops": "error",
134 "spaced-comment": ["error", "always"],
135 "switch-colon-spacing": "error",
136 "arrow-body-style": ["error", "as-needed"],
137 "arrow-parens": ["error", "always"],
138 "arrow-spacing": "error",
139 "no-duplicate-imports": "error",
141 "prefer-const": "error",
146 "ignoreDeclarationSort": false,
147 "ignoreMemberSort": false,
148 "memberSyntaxSortOrder": ["none", "all", "multiple", "single"]
151 "object-curly-spacing": ["error", "always"],
152 "lines-between-class-members": [
156 "exceptAfterSingleLine": true
159 "quotes": ["error", "single"]
164 "extends": "plugin:node/recommended",
166 "node/shebang": "off",
167 "@typescript-eslint/no-unused-vars": "off",
168 "@typescript-eslint/no-var-requires": "off"