| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 | /*👋 Hi! This file was autogenerated by tslint-to-eslint-config.https://github.com/typescript-eslint/tslint-to-eslint-configIt represents the closest reasonable ESLint configuration to thisproject's original TSLint configuration.We recommend eventually switching this configuration to extend fromthe recommended rulesets in typescript-eslint. https://github.com/typescript-eslint/tslint-to-eslint-config/blob/master/docs/FAQs.mdHappy 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"        //             ]        //         }        //     }        // ]    }};
 |