{
	"env": {
		"es6": true,
		"node": true
	},
	"parser": "@typescript-eslint/parser",
	"parserOptions": {
		"ecmaVersion": "latest",
		"project": [
			"tsconfig.webview.json",
			"tsconfig.json"
		]
	},
	"plugins": [
		"@typescript-eslint"
	],
	"rules": {
		"@typescript-eslint/member-delimiter-style": [
			"error",
			{
				"multiline": {
					"delimiter": "semi",
					"requireLast": true
				},
				"singleline": {
					"delimiter": "semi",
					"requireLast": false
				}
			}
		],
		"@typescript-eslint/naming-convention": "error",
		"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
		"@typescript-eslint/prefer-for-of": "error",
		"@typescript-eslint/semi": [
			"error",
			"always"
		],
		"@typescript-eslint/type-annotation-spacing": "error",
		"curly": [
			"error",
			"multi-line"
		],
		"eqeqeq": [
			"error",
			"always"
		],
		"id-denylist": [
			"error",
			"any",
			"Number",
			"number",
			"String",
			"string",
			"Boolean",
			"boolean",
			"Undefined",
			"undefined"
		],
		"id-match": "error",
		"no-debugger": "error",
		"no-multiple-empty-lines": "error",
		"no-trailing-spaces": "error",
		"no-underscore-dangle": "error",
		"no-var": "error",
		"prefer-arrow-callback": [
			"error",
			{
				"allowNamedFunctions": true
			}
		],
		"prefer-const": "error",
		"prefer-template": "error",
		"quote-props": [
			"error",
			"as-needed"
		],
		"semi": "error",
		"spaced-comment": [
			"error",
			"always",
			{
				"markers": [
					"/"
				]
			}
		]
	},
	"overrides": [
		{
			"files": [
				"**/*.js"
			],
			"rules": {
				"@typescript-eslint/no-var-requires": "off",
				"@typescript-eslint/naming-convention": "off",
				"@typescript-eslint/semi": "off",
				"prefer-arrow/prefer-arrow-functions": "off",
				"prefer-arrow-callback": "off",
				"no-useless-escape": "off",
				"spaced-comment": "off",
				"semi": "off",
				"prefer-template": "off",
				"prefer-const": "off"
			}
		},
		{
			"files": [
				"**/*.test.ts"
			],
			"rules": {
				"prefer-arrow-callback": "off"
			}
		}
	]
}