{ "name": "eslint-plugin-unicorn", "version": "56.0.1", "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", "fix:snapshots": "ava --update-snapshots", "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", "eslint-plugin/require-meta-schema-description": "off" } } ] } }