{
	"name": "eslint-plugin-unicorn",
	"version": "56.0.0",
	"description": "More than 100 powerful ESLint rules",
	"license": "MIT",
	"repository": "sindresorhus/eslint-plugin-unicorn",
	"funding": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1",
	"author": {
		"name": "Sindre Sorhus",
		"email": "sindresorhus@gmail.com",
		"url": "https://sindresorhus.com"
	},
	"main": "index.js",
	"types": "index.d.ts",
	"sideEffects": false,
	"engines": {
		"node": ">=18.18"
	},
	"scripts": {
		"bundle-lodash": "echo \"export {defaultsDeep, camelCase, kebabCase, snakeCase, upperFirst, lowerFirst} from 'lodash-es';\" | npx esbuild --bundle --outfile=rules/utils/lodash.js --format=cjs",
		"create-rule": "node ./scripts/create-rule.mjs && npm run fix:eslint-docs",
		"fix": "run-p --continue-on-error fix:*",
		"fix:eslint-docs": "eslint-doc-generator",
		"fix:js": "npm run lint:js -- --fix",
		"fix:markdown": "npm run lint:markdown -- --fix",
		"integration": "node ./test/integration/test.mjs",
		"lint": "run-p --continue-on-error lint:*",
		"lint:eslint-docs": "npm run fix:eslint-docs -- --check",
		"lint:js": "xo",
		"lint:markdown": "markdownlint \"**/*.md\"",
		"lint:package-json": "npmPkgJsonLint .",
		"run-rules-on-codebase": "eslint --config=./eslint.dogfooding.config.mjs",
		"smoke": "eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.mjs",
		"test": "npm-run-all --continue-on-error lint test:*",
		"test:js": "c8 ava"
	},
	"files": [
		"index.js",
		"index.d.ts",
		"rules",
		"configs"
	],
	"keywords": [
		"eslint",
		"eslintplugin",
		"eslint-plugin",
		"unicorn",
		"linter",
		"lint",
		"style",
		"xo"
	],
	"dependencies": {
		"@babel/helper-validator-identifier": "^7.24.7",
		"@eslint-community/eslint-utils": "^4.4.0",
		"ci-info": "^4.0.0",
		"clean-regexp": "^1.0.0",
		"core-js-compat": "^3.38.1",
		"esquery": "^1.6.0",
		"globals": "^15.9.0",
		"indent-string": "^4.0.0",
		"is-builtin-module": "^3.2.1",
		"jsesc": "^3.0.2",
		"pluralize": "^8.0.0",
		"read-pkg-up": "^7.0.1",
		"regexp-tree": "^0.1.27",
		"regjsparser": "^0.10.0",
		"semver": "^7.6.3",
		"strip-indent": "^3.0.0"
	},
	"devDependencies": {
		"@babel/code-frame": "^7.24.7",
		"@babel/core": "^7.25.2",
		"@babel/eslint-parser": "^7.25.1",
		"@eslint/eslintrc": "^3.1.0",
		"@lubien/fixture-beta-package": "^1.0.0-beta.1",
		"@typescript-eslint/parser": "^8.4.0",
		"ava": "^6.1.3",
		"c8": "^10.1.2",
		"chalk": "^5.3.0",
		"enquirer": "^2.4.1",
		"eslint": "^9.10.0",
		"eslint-ava-rule-tester": "^5.0.1",
		"eslint-doc-generator": "1.7.0",
		"eslint-plugin-eslint-plugin": "^6.2.0",
		"eslint-plugin-internal-rules": "file:./scripts/internal-rules/",
		"eslint-remote-tester": "^4.0.1",
		"eslint-remote-tester-repositories": "^2.0.0",
		"espree": "^10.1.0",
		"execa": "^8.0.1",
		"listr": "^0.14.3",
		"lodash-es": "^4.17.21",
		"markdownlint-cli": "^0.41.0",
		"memoize": "^10.0.0",
		"npm-package-json-lint": "^8.0.0",
		"npm-run-all2": "^6.2.2",
		"outdent": "^0.8.0",
		"pretty-ms": "^9.1.0",
		"typescript": "^5.5.4",
		"vue-eslint-parser": "^9.4.3",
		"xo": "^0.59.3",
		"yaml": "^2.5.1"
	},
	"peerDependencies": {
		"eslint": ">=8.56.0"
	},
	"ava": {
		"files": [
			"test/*.mjs",
			"test/unit/*.mjs"
		]
	},
	"c8": {
		"reporter": [
			"text",
			"lcov"
		]
	},
	"xo": {
		"extends": [
			"plugin:internal-rules/all"
		],
		"ignores": [
			".cache-eslint-remote-tester",
			"eslint-remote-tester-results",
			"rules/utils/lodash.js",
			"test/integration/{fixtures,fixtures-local}/**"
		],
		"rules": {
			"unicorn/escape-case": "off",
			"unicorn/expiring-todo-comments": "off",
			"unicorn/no-hex-escape": "off",
			"unicorn/no-null": "error",
			"unicorn/prefer-array-flat": [
				"error",
				{
					"functions": [
						"flat",
						"flatten"
					]
				}
			],
			"import/order": "off",
			"func-names": "off"
		},
		"overrides": [
			{
				"files": [
					"**/*.js"
				],
				"parserOptions": {
					"sourceType": "script"
				},
				"rules": {
					"strict": "error",
					"unicorn/prefer-module": "off"
				}
			},
			{
				"files": [
					"rules/*.js"
				],
				"plugins": [
					"eslint-plugin"
				],
				"extends": [
					"plugin:eslint-plugin/all"
				],
				"rules": {
					"eslint-plugin/require-meta-docs-description": [
						"error",
						{
							"pattern": ".+"
						}
					],
					"eslint-plugin/require-meta-docs-url": "off",
					"eslint-plugin/require-meta-has-suggestions": "off",
					"eslint-plugin/require-meta-schema": "off"
				}
			}
		]
	}
}
