{
	"plugins": ["lodash", "eslint-comments"],

	"extends": ["./configs/common.json", "plugin:lodash/recommended", "plugin:eslint-comments/recommended"],

	"rules": {
		"indent": "error",
		"quotes": ["error", "double"],
		"semi": ["error", "always"],
		"curly": ["error", "multi-line"],
		"no-with": "error",
		"new-parens": "warn",
		"comma-dangle": ["error", "never"],
		"no-new-object": "error",
		"no-caller": "error",
		"no-extra-boolean-cast": "error",
		"no-new-func": "error",
		"no-mixed-spaces-and-tabs": "warn",
		"quote-props": ["warn", "as-needed", { "keywords": true, "unnecessary": false }],
		"no-eval": "error",
		"no-alert": "error",
		"no-console": "warn",
		"block-scoped-var": "warn",
		"array-callback-return": "warn",
		"no-unused-vars": ["warn", { "args": "none", "vars": "all" }],
		"comma-spacing": ["warn", { "before": false, "after": true }],
		"key-spacing": ["warn", { "beforeColon": false, "afterColon": true }],
		"space-infix-ops": "warn",
		"no-multi-spaces": "error",
		"eqeqeq": ["error", "smart"],

		"xss/no-location-href-assign": "error",

		"unicorn/no-abusive-eslint-disable": "error",
		"unicorn/number-literal-case": "warn",
		"unicorn/escape-case": "warn",
		"unicorn/no-array-instanceof": "warn",
		"unicorn/no-new-buffer": "warn",
		"unicorn/no-hex-escape": "warn",
		"unicorn/custom-error-definition": "warn",
		"unicorn/prefer-starts-ends-with": "warn",
		"unicorn/prefer-type-error": "off",
		"unicorn/no-fn-reference-in-iterator": "off",
		"unicorn/import-index": "warn",
		"unicorn/new-for-builtins": "error",

		"promise/param-names": "off",
		"promise/no-return-wrap": "warn",

		"lodash/callback-binding": "warn",
		"lodash/chain-style": "warn",
		"lodash/chaining": "warn",
		"lodash/collection-method-value": "warn",
		"lodash/collection-return": "warn",
		"lodash/consistent-compose": "warn",
		"lodash/identity-shorthand": "warn",
		"lodash/import-scope": "warn",
		"lodash/matches-prop-shorthand": "warn",
		"lodash/matches-shorthand": "warn",
		"lodash/no-commit": "warn",
		"lodash/no-double-unwrap": "warn",
		"lodash/no-extra-args": "warn",
		"lodash/no-unbound-this": "warn",
		"lodash/path-style": "warn",
		"lodash/prefer-compact": "warn",
		"lodash/prefer-constant": "warn",
		"lodash/prefer-filter": "warn",
		"lodash/prefer-flat-map": "warn",
		"lodash/prefer-get": "warn",
		"lodash/prefer-includes": "warn",
		"lodash/prefer-invoke-map": "warn",
		"lodash/prefer-is-nil": "warn",
		"lodash/prefer-lodash-chain": "warn",
		"lodash/prefer-lodash-method": "warn",
		"lodash/prefer-lodash-typecheck": "warn",
		"lodash/prefer-map": "warn",
		"lodash/prefer-matches": "warn",
		"lodash/prefer-noop": "warn",
		"lodash/prefer-over-quantifier": "warn",
		"lodash/prefer-reject": "warn",
		"lodash/prefer-some": "warn",
		"lodash/prefer-startswith": "warn",
		"lodash/prefer-thru": "warn",
		"lodash/prefer-times": "warn",
		"lodash/prefer-wrapper-method": "warn",
		"lodash/preferred-alias": "warn",
		"lodash/prop-shorthand": "warn",
		"lodash/unwrap": "warn",

		"unicorn/no-fn-reference-in-iterator": "warn",
		"unicorn/explicit-length-check": "warn"
	}
}
