123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- {
- "env": {
- "browser": false,
- "es2021": true,
- "node": true
- },
- "parserOptions": {
- "ecmaVersion": 2021,
- "sourceType": "module",
- "parser": "@typescript-eslint/parser"
- },
- "extends": [
- "eslint:recommended",
- "airbnb-base",
- "prettier",
- "plugin:@typescript-eslint/eslint-recommended",
- "plugin:@typescript-eslint/recommended"
- ],
- "plugins": ["prettier", "eslint-plugin-tsdoc", "@typescript-eslint"],
- "rules": {
- "no-console": 0,
- "no-control-regex": 0,
- "no-var": 2,
- "no-underscore-dangle": 0,
- "radix": 0,
- "no-multi-assign": 0,
- "no-shadow": 0,
- "no-new": 0,
- "import/no-unresolved": 0,
- "prettier/prettier": ["error"], // end of copied frontend rules
- "max-classes-per-file": 0,
- "max-len": [
- "error",
- {
- "code": 140,
- "ignoreComments": true,
- "ignoreUrls": true,
- "ignoreTemplateLiterals": true
- }
- ],
- "no-param-reassign": 0,
- "implicit-arrow-linebreak": 0,
- "import/extensions": 0,
- "class-methods-use-this": 0,
- "tsdoc/syntax": "warn",
- "@typescript-eslint/no-empty-function": 0,
- "@typescript-eslint/no-this-alias": 0,
- "@typescript-eslint/no-non-null-assertion": 0,
- "@typescript-eslint/naming-convention": [
- "error",
- {
- "selector": "memberLike",
- "modifiers": ["private"],
- "format": null,
- "leadingUnderscore": "require"
- },
- {
- "selector": "memberLike",
- "modifiers": ["protected"],
- "format": null,
- "leadingUnderscore": "require"
- }
- ],
- "no-void": 0,
- "import/no-extraneous-dependencies": [
- "error",
- {
- "devDependencies": [
- "**/*.test.ts",
- "**/*.spec.ts",
- "src/tests/**/*.ts"
- ]
- }
- ],
- "no-restricted-syntax": [
- "error",
- {
- "selector": "ForInStatement",
- "message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
- },
- {
- "selector": "LabeledStatement",
- "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
- },
- {
- "selector": "WithStatement",
- "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
- }
- ],
- "import/prefer-default-export": "off",
- "@typescript-eslint/no-explicit-any": 0
- },
- "overrides": [
- {
- "files": [
- "**/*.test.ts",
- "**/*.spec.ts",
- "src/tests/**/*.ts"
- ],
- "rules": {
- "no-unused-expressions": "off",
- "prefer-arrow-callback": "off",
- "func-names": "off",
- "@typescript-eslint/ban-ts-comment": "off"
- }
- }
- ]
- }
|