/* 👋 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" // ] // } // } // ] } };