LaTeX-Workshop/.eslintrc.json

114 lines
4.6 KiB
JSON

{
"env": {
"node": true,
"es6": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2018,
"project": "./tsconfig.eslint.json"
},
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-inferrable-types": "off",
"@typescript-eslint/no-parameter-properties": "off",
"@typescript-eslint/no-use-before-define": "off",
"@typescript-eslint/prefer-interface": "off",
"@typescript-eslint/member-delimiter-style": ["error", {
"multiline": {"delimiter": "comma", "requireLast": false},
"singleline": {"delimiter": "comma", "requireLast": false}
}],
"@typescript-eslint/naming-convention": ["error",
{
"selector": "default",
"format": ["camelCase", "PascalCase", "UPPER_CASE"],
"leadingUnderscore": "allow"
},
{
"selector": "method",
"format": ["camelCase"]
},
{
"selector": "function",
"format": ["camelCase"]
},
{
"selector": "typeLike",
"format": ["PascalCase"]
},
{
"selector": "objectLiteralProperty",
"format": null
}
],
"@typescript-eslint/semi": ["error", "never", { "beforeStatementContinuationChars": "always" }],
"@typescript-eslint/type-annotation-spacing": ["error", { "before": false, "after": true, "overrides": { "arrow": { "before": true, "after": true }}}],
"@typescript-eslint/consistent-type-assertions": ["error", { "assertionStyle": "as", "objectLiteralTypeAssertions": "never" }],
"@typescript-eslint/no-empty-interface": [ "error", { "allowSingleExtends": true } ],
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-invalid-void-type": "error",
"@typescript-eslint/no-misused-promises": [ "error", { "checksVoidReturn": { "arguments": false } } ],
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error",
"@typescript-eslint/no-unsafe-argument": "error",
"@typescript-eslint/no-unsafe-assignment": "error",
"@typescript-eslint/no-unsafe-call": "error",
"@typescript-eslint/no-unsafe-return": "error",
"no-unused-expressions": "off",
"@typescript-eslint/no-unused-expressions": "error",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/prefer-includes": "error",
"@typescript-eslint/prefer-readonly": "error",
"no-return-await": "off",
"@typescript-eslint/return-await": "error",
"require-await": "off",
"@typescript-eslint/require-await": "error",
"@typescript-eslint/unbound-method": "error",
"curly": "error",
"default-case": "error",
"eol-last": "error",
"eqeqeq": ["error", "always"],
"func-call-spacing": ["error", "never"],
"no-caller": "error",
"no-constant-condition": ["error", { "checkLoops": false }],
"no-eval": "error",
"no-invalid-this": "error",
"no-multiple-empty-lines": "error",
"no-multi-spaces": ["error", { "ignoreEOLComments": true }],
"no-new-wrappers": "error",
"no-trailing-spaces": "error",
"no-empty": ["error", { "allowEmptyCatch": true }],
"object-shorthand": "error",
"one-var": ["error", { "initialized": "never", "uninitialized": "never" }],
"prefer-arrow-callback": [ "error", { "allowUnboundThis": false } ],
"quotes": ["error", "single", {"avoidEscape": true}],
"space-before-function-paren": ["error", {"anonymous": "always", "named": "never", "asyncArrow": "always"}]
},
"overrides": [
{
"files": ["viewer/**/*.ts"],
"parserOptions": {
"ecmaVersion": 2018,
"project": "./tsconfig.eslint.viewer.json"
},
"rules": {
"@typescript-eslint/naming-convention": ["error", { "selector": "interface", "prefix": ["I"], "format": ["PascalCase"] }],
"@typescript-eslint/no-unnecessary-type-assertion": "off",
"@typescript-eslint/ban-ts-comment": "off"
}
}
]
}