{
	"extends": [
        "eslint:recommended",
        "plugin:node/recommended"
    ],
    "parserOptions": {
        "ecmaVersion": 2020
    },
	"overrides": [
		{
			"files": [
				"**/*.test.js"
			],
			"env": {
				"jest": true
			},
			"plugins": ["jest"],
			"rules": {
				"jest/no-disabled-tests": "warn",
				"jest/no-focused-tests": "error",
				"jest/no-identical-title": "error",
				"jest/prefer-to-have-length": "warn",
				"jest/valid-expect": "error"
			}
		}
	],
	"env": {
		"node": true,
		"es6": true
	},
	"rules": {
		"arrow-parens": ["error", "as-needed"],
		"no-trailing-spaces": [
			"error",
			{
				"skipBlankLines": true
			}
		],
		"indent": [
			"error",
			"tab",
			{
				"SwitchCase": 1
			}
		],
		"max-len": ["error", 110],
		"quotes": [
			"error",
			"single"
		],
		"semi": [
			"error",
			"always"
		],
		"no-multiple-empty-lines": ["error", { "max": 3, "maxEOF": 1, "maxBOF": 1 }],
		"keyword-spacing": ["error", { "before": true, "after": true }],
		"space-before-blocks": ["error"],
		"space-before-function-paren": ["error", {"anonymous": "always", "named": "never", "asyncArrow": "always"}],
		"camelcase": ["error"],
		"no-tabs": [0],
		"global-require": [0],
		"no-underscore-dangle": [0],
		"no-plusplus": [0],
		"no-shadow": [0],
		"node/no-unpublished-require": [0],
		"no-process-exit": [0],
		"linebreak-style": [0],
		"node/no-missing-require": [0],
		"node/no-unsupported-features/node-builtins": [0],
		"no-console": [0]
	}
}