.eslintrc.json
{
"root": true,
"env": {
"browser": true,
"es6": true,
"es2017": true,
"node": true,
"mocha": true
},
"parserOptions": {
"ecmaVersion": 2021,
"sourceType": "module",
"ecmaFeatures": {
"jsx": false,
"modules": true
}
},
"rules": {
"comma-spacing": [2, { "before": false, "after": true }],
"eqeqeq": 2,
"handle-callback-err": 2,
"keyword-spacing": 2,
"no-eq-null": 2,
"no-eval": 2,
"no-tabs": 2,
"no-var": 2,
"semi": 2,
"space-before-blocks": 2,
"space-before-function-paren": [
2,
{ "anonymous": "always", "named": "never" }
],
"no-octal-escape": "off",
"security/detect-object-injection": "off"
},
"plugins": ["security"],
"extends": [
"eslint:recommended",
"plugin:security/recommended",
"plugin:@typescript-eslint/recommended"
],
"settings": {
"svelte3/typescript": "() => require('typescript')"
},
"overrides": [
{
"files": ["**/*.ts"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["./tsconfig.json"]
},
"plugins": ["@typescript-eslint", "security"],
"extends": ["plugin:@typescript-eslint/recommended"]
},
{
"files": ["**/*.test.ts"],
"rules": {
"@typescript-eslint/no-explicit-any": ["off"],
"@typescript-eslint/no-empty-function": ["off"]
}
},
{
"files": ["**/*.js"],
"rules": {
"@typescript-eslint/no-var-requires": ["off"]
}
}
]
}