2019-08-11 18:59:41 +00:00
module . exports = {
env : {
2019-08-12 15:32:28 +00:00
node : true ,
mocha : true
2019-08-11 18:59:41 +00:00
} ,
extends : [
"airbnb-base" ,
"plugin:@typescript-eslint/recommended" ,
"prettier" ,
"prettier/@typescript-eslint"
] ,
parser : "@typescript-eslint/parser" ,
parserOptions : {
project : "./tsconfig.json"
} ,
plugins : [ "@typescript-eslint" ] ,
rules : {
"@typescript-eslint/explicit-function-return-type" : [ "off" ] ,
"@typescript-eslint/no-use-before-define" : [ "error" , "nofunc" ] ,
"@typescript-eslint/prefer-interface" : [ "off" ] ,
"import/no-extraneous-dependencies" : [
"error" ,
2020-03-14 14:11:42 +00:00
{ devDependencies : [ "test/**/*.ts" ] }
2019-08-11 18:59:41 +00:00
] ,
"@typescript-eslint/no-floating-promises" : [ "error" ] ,
"no-use-before-define" : [ "error" , "nofunc" ] ,
"no-console" : [ "off" ] ,
"no-plusplus" : [ "error" , { allowForLoopAfterthoughts : true } ] ,
"@typescript-eslint/no-non-null-assertion" : [ "off" ] ,
2019-12-18 21:24:05 +00:00
"import/extensions" : [ "off" ] ,
2019-08-11 18:59:41 +00:00
"no-param-reassign" : [ "off" ] ,
"@typescript-eslint/no-explicit-any" : [ "off" ] ,
2020-07-31 21:29:40 +00:00
"no-loop-func" : [ "off" ] ,
2020-12-26 23:31:27 +00:00
"@typescript-eslint/explicit-module-boundary-types" : [ "off" ] ,
'no-restricted-syntax' : [
'error' ,
{
selector : 'ForInStatement' ,
message : 'for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.' ,
} ,
{
selector : 'LabeledStatement' ,
message : 'Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.' ,
} ,
{
selector : 'WithStatement' ,
message : '`with` is disallowed in strict mode because it makes code impossible to predict and optimize.' ,
} ,
] ,
2019-08-11 18:59:41 +00:00
} ,
settings : {
"import/resolver" : {
node : {
2019-12-24 08:53:53 +00:00
extensions : [ ".ts" ]
2019-08-11 18:59:41 +00:00
}
}
2019-10-12 10:30:42 +00:00
}
2019-08-11 18:59:41 +00:00
} ;