taskana/web/.eslintrc.js

45 lines
1.4 KiB
JavaScript

module.exports = {
"extends": [
"airbnb-typescript/base"
],
"env": {
"browser": true,
"node": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
},
"plugins": [
"@typescript-eslint",
"@typescript-eslint/tslint"
],
"rules": {
"arrow-parens": ["error", "as-needed"],
"@typescript-eslint/indent": ['error', 2],
"max-len": ["off", { "code": 140, "ignorePattern": "import *" }], // smaller than 140?
"object-curly-newline": ["error", { "ImportDeclaration": "never" }],
"quote-props": ["error", "as-needed"],
"lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }],
"comma-dangle": ["error", "only-multiline"],
"no-underscore-dangle": ["off", { "allow": ["_links", "__karma__"] }],
"no-param-reassign": ["off", { "props": false }],
// all following rules SHOULD be removed
"class-methods-use-this": "off",
"import/extensions": "off",
"import/no-unresolved": "off",
"import/prefer-default-export": "off",
"max-classes-per-file": "off",
"@typescript-eslint/no-unused-vars": "off",
// all following rules MUST be removed (mostly autofix)
"linebreak-style": ["off", "unix"], // own PR
"no-restricted-syntax": "off",
"@typescript-eslint/no-use-before-define": "off",
"@typescript-eslint/camelcase": "off",
"no-plusplus": "off",
"no-prototype-builtins": "off",
}
};