123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- /*
- 👋 Hi! This file was autogenerated by tslint-to-eslint-config.
- https://github.com/typescript-eslint/tslint-to-eslint-config
- It represents the closest reasonable ESLint configuration to this
- project's original TSLint configuration.
- We recommend eventually switching this configuration to extend from
- the recommended rulesets in typescript-eslint.
- https://github.com/typescript-eslint/tslint-to-eslint-config/blob/master/docs/FAQs.md
- Happy linting! 💖
- */
- module.exports = {
- "env": {
- "browser": true,
- "es6": true,
- "node": true
- },
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "project": "tsconfig.json",
- "sourceType": "module"
- },
- "plugins": [
- "eslint-plugin-jsdoc",
- "eslint-plugin-no-null",
- "@typescript-eslint",
- //"@typescript-eslint/tslint"
- ],
- "overrides": [
- {
- "files": ["test/Util/*.js"],
- "rules": {
- "@typescript-eslint/explicit-function-return-type": "off",
- "@typescript-eslint/typedef": "off",
- }
- }
- ],
- "ignorePatterns": ["webpack*.js"],
- "rules": {
- "@typescript-eslint/dot-notation": "error",
- "@typescript-eslint/explicit-function-return-type": "error",
- "@typescript-eslint/explicit-member-accessibility": [
- "off",
- {
- "accessibility": "explicit"
- }
- ],
- "@typescript-eslint/indent": [
- "off",
- 2,
- {
- "CallExpression": {
- "arguments": "first"
- },
- "FunctionDeclaration": {
- "parameters": "first"
- },
- "FunctionExpression": {
- "parameters": "first"
- }
- }
- ],
- "@typescript-eslint/member-delimiter-style": [
- "error",
- {
- "multiline": {
- "delimiter": "semi",
- "requireLast": true
- },
- "singleline": {
- "delimiter": "comma",
- "requireLast": false
- }
- }
- ],
- "@typescript-eslint/member-ordering": "off",
- "@typescript-eslint/naming-convention": "off",
- "@typescript-eslint/no-empty-function": "error",
- "@typescript-eslint/no-explicit-any": "off",
- "@typescript-eslint/no-inferrable-types": "off",
- "@typescript-eslint/no-parameter-properties": "error",
- "@typescript-eslint/no-require-imports": "off",
- "@typescript-eslint/no-shadow": [
- "error",
- {
- "hoist": "all"
- }
- ],
- "@typescript-eslint/no-unused-expressions": "error",
- "@typescript-eslint/no-var-requires": "error",
- "@typescript-eslint/prefer-namespace-keyword": "error",
- "@typescript-eslint/quotes": [
- "error",
- "double",
- {
- "avoidEscape": true
- }
- ],
- "@typescript-eslint/semi": [
- "error"
- ],
- "@typescript-eslint/typedef": [
- "error",
- {
- // we could add this requirement for arrow (function) parameters too,
- // but we have a lot of arrow parameters without types already (~25),
- // and a lot of them look ugly and unnecessarily explicit with types,
- // the type info is usually obvious there.
- "arrowParameter": false,
- "variableDeclaration": true
- }
- ],
- "@typescript-eslint/type-annotation-spacing": "error",
- "brace-style": [
- "off",
- "1tbs"
- ],
- "comma-dangle": "off",
- "curly": "error",
- "default-case": "error",
- "eol-last": "error",
- "eqeqeq": [
- "error",
- "smart"
- ],
- "guard-for-in": "error",
- // this misfires in Typescript
- /*"id-blacklist": [
- "error",
- "any",
- "Number",
- "number",
- "String",
- "string",
- "Boolean",
- "boolean",
- //"Undefined",
- //"undefined"
- ],*/
- "id-match": "error",
- "jsdoc/check-alignment": "error",
- "jsdoc/check-indentation": "off",
- "jsdoc/newline-after-description": "off",
- "max-len": [
- "error",
- {
- "code": 160
- }
- ],
- "no-bitwise": "error",
- "no-caller": "error",
- "no-cond-assign": "error",
- "no-console": [
- "error",
- {
- "allow": [
- "log",
- "warn",
- "dir",
- "timeLog",
- "assert",
- "clear",
- "count",
- "countReset",
- "group",
- "groupEnd",
- "table",
- "dirxml",
- "error",
- "groupCollapsed",
- "Console",
- "profile",
- "profileEnd",
- "timeStamp",
- "context"
- ]
- }
- ],
- "no-debugger": "error",
- "no-empty": "error",
- "no-eval": "error",
- "no-fallthrough": "error",
- "no-multiple-empty-lines": "off",
- "no-new-wrappers": "error",
- "no-null/no-null": "off",
- "no-redeclare": "error",
- "no-trailing-spaces": "error",
- "no-underscore-dangle": "off",
- "no-unused-labels": "error",
- "no-var": "error",
- "prefer-const": "error",
- "radix": "error",
- "spaced-comment": [
- "off",
- "always",
- {
- "markers": [
- "/"
- ]
- }
- ],
- // using this requires two extra modules: tslint and @typescript-eslint/tslint.
- // "@typescript-eslint/tslint/config": [
- // "error",
- // {
- // "rules": {
- // "object-literal-sort-keys": true,
- // "typedef": [
- // true,
- // "call-signature",
- // "parameter",
- // "property-declaration",
- // "variable-declaration",
- // "member-variable-declaration"
- // ],
- // "whitespace": [
- // true,
- // "check-branch",
- // "check-decl",
- // "check-operator",
- // "check-separator",
- // "check-type"
- // ]
- // }
- // }
- // ]
- }
- };
|