| 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"			}		}	]}
 |