{"_id":"eslint-plugin-unicorn-x","_rev":"12-a16a0eb5223778f9a40b4f4305f75c8c","name":"eslint-plugin-unicorn-x","dist-tags":{"latest":"3.2.1"},"versions":{"1.0.0":{"name":"eslint-plugin-unicorn-x","version":"1.0.0","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"3a83d37a8b773223bec4b26226b64e1d64af533c","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.0.tgz","fileCount":239,"integrity":"sha512-Pij7ArC6MzSqDoWWQjGD+h3mG9j1RIMPTbJFtDu8QRiqwSAQiL/9xD88GRBTQoEoKIkaCvopVUtiXoQctEO4Mw==","signatures":[{"sig":"MEUCIQC+4ima7onuEs5NsAfz5OckgiQNaRMhpl2J082fEafGYwIgFNn0OzgQdNSQ8cIhIk01QO/1dKVN3kRSm0oP7LfslaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712518},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"599e9f8102f10995e520d2159fc297177b1b9bf9","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"23.5.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","@eslint/eslintrc":"^3.3.0","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.0_1745877924575_0.8846051473043388","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"eslint-plugin-unicorn-x","version":"1.0.1","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.1","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"1e75c20d1aa3cc1232b82c03e06939aed5448049","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.1.tgz","fileCount":239,"integrity":"sha512-snAtrtZGR+odhxceg2lORWyvYiJG33JBz+Wbu/BMNXs30bvkETrolOJX/C4UWFpvF60Ro+3pR5tI3ML2BtHE0A==","signatures":[{"sig":"MEUCIHPxzrKrGCoCGcdAoIfiGJiVdR73tAk9dq+98+9T0XEZAiEAiBdg7m7eNDqNKS28gT+VHpv/isJqAYN1I1oTGOZY14E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":722154},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"f3e40096490e7417749d72fc2106c10fcc098d2e","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","@eslint/eslintrc":"^3.3.0","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.1_1745968102039_0.1604269225924666","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"eslint-plugin-unicorn-x","version":"1.0.2","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.2","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"e5e1a5b40225a04d74750fbb4105ca8b7d92b25f","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.2.tgz","fileCount":239,"integrity":"sha512-e/nO0hg3InxHuCexMwwkBrrNrwEYpJ52RVMa1ez99H4G8Pb+euFMWdH0WuzjuKd5Gq7FA9GgU3PcNsa9JCOWcQ==","signatures":[{"sig":"MEUCIAGXfIyzK4OereHEo2LqDkWrK0UaSTkI812UaFJ/jVNaAiEArzP3E03d5V9lkUK9rD2+jBdVRZyeD2dmExf3QDoGRP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":722091},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"4f756fb383c0a7ddc4e287e39cac8ccec019691a","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","@eslint/eslintrc":"^3.3.0","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.2_1746009635463_0.8244101406630002","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"eslint-plugin-unicorn-x","version":"1.0.3","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.3","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"527ae75fd9816e14a8bf356593db65ae06492337","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.3.tgz","fileCount":239,"integrity":"sha512-GmGTL+3NQ9z74itGjaV7C1GYRJkhOApDLrXYTzZt3zlnwDfE8AxxIy1e2dRraCwav49FjFEm+DMV8eyMT97SyA==","signatures":[{"sig":"MEQCICeYjGLUWt98tLnf2gZJetPjYAGJkXglk1AtplVXng8mAiBNjK3RvLNAkyIxuwhpcTF2E9DmQk3i+GLX9PuR5+GoPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":722240},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"57cc5138a958648f40b40f839e3824e03456a1ee","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","@eslint/eslintrc":"^3.3.0","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.3_1746022366934_0.3332826515171332","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"eslint-plugin-unicorn-x","version":"1.0.4","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.4","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"89909665a100d752d090d834fe55e6cecd8ff8ba","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.4.tgz","fileCount":239,"integrity":"sha512-vC5otl4D7/I0xQ2lW1zinlMTT+GdcaXKZ8HB1SI4IyjRkNuw5Bejlf2B+o0Q7PsGhJAo4VO2HR0DBoEE3mAMtA==","signatures":[{"sig":"MEQCIBfym+UBOM77Qp1fdGvufjFZdFS3bytLd+dudHShUqGAAiAY0V4x/sfuLb38kp7gVXuI3XPbqDKxN+4BeJkQZ/IAPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":721994},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"b0ada16521f514d9029dce5af37c81392ae124b2","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","@eslint/eslintrc":"^3.3.0","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.4_1746093514629_0.3842990000812019","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"eslint-plugin-unicorn-x","version":"1.0.5","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.5","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"63463a9098ec488da32de7b488b7aa499106fc24","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.5.tgz","fileCount":238,"integrity":"sha512-l2L8vt38keCWjPqaaF5xhmHsGdnygOeXY6le59CflOLewmYCAgmeYndrSob7sPfjuL4xMDqYH0xMpeznVyNPGg==","signatures":[{"sig":"MEQCIDNsUUTgKYYX7QHLN17U1lXBigg4aEk88rrf8T+5XgkXAiBk9KylUkdQ5l37xgx/UdfG8/jxY3dNJCHTKvJPg1KH0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":721444},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"6caa39376159a74f49571ee60082b691379afcaf","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.5_1746104745248_0.7226383950591984","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"eslint-plugin-unicorn-x","version":"1.0.7","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.7","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"5895abfda2f7a7d358a47358db63d79029a5d4cd","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.7.tgz","fileCount":239,"integrity":"sha512-IFp20C6pVxm9sDSp48ljuQLPN1nzx3PLyKpL7FesrTk1ML9MSTBdoNc/hIAkM4ewqXhoC2wlyCjw3ZhF9PcAHA==","signatures":[{"sig":"MEQCIGDxfVUQFUllkFSarTILi/OfhBZgJ54BisXIXyc2NfGQAiA+ucJPwW+rMn4evaqWoxLn6POi0mgtE3ri+oyvBf1kLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":723967},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"a646c572c562d99cea49a75db33ad9ee630912ff","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.7_1747214240540_0.07834978686920335","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"eslint-plugin-unicorn-x","version":"1.0.8","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@1.0.8","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"16b3226512ee8692d84a384aaaf2cb8787d9e0c9","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-1.0.8.tgz","fileCount":239,"integrity":"sha512-q2j/xRY+OL/3W95xlY8yZUyzHXgkNR+UL1rstqXefuuAXpdC5CIGbBQELqQfdoUwD55jrCmrOKObMaKFzrwOKA==","signatures":[{"sig":"MEUCIGOrH5cj22NlTITXy0G6g/hhNFAW2wXJIgYHoYmc4KiIAiEAw7Yaf3ZKDE+Ojqf2k7N9e4SsRGuLielX6GWdspCFMow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":723966},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"1cc9bbe332bc13c6bcdb3792fa6215e4e9663d48","scripts":{"fix":"run-p --continue-on-error fix:*","lint":"run-p --continue-on-error lint:*","test":"npm-run-all --continue-on-error lint test:*","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.1","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.0.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.41.0","@eslint/plugin-kit":"^0.2.7","@eslint-community/eslint-utils":"^4.5.1","@babel/helper-validator-identifier":"^7.25.9"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.7.0","eslint":"^9.22.0","espree":"^10.3.0","listr2":"^8.2.5","vitest":"^3.1.2","memoize":"^10.1.0","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.2","@babel/core":"^7.26.10","open-editor":"^5.1.0","npm-run-all2":"^7.0.2","node-style-text":"^0.0.7","markdownlint-cli":"^0.44.0","@babel/code-frame":"^7.26.2","vue-eslint-parser":"^10.1.1","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.6.8","@babel/eslint-parser":"^7.26.10","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.26.1","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.22.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_1.0.8_1747602252981_0.16531018417538612","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"eslint-plugin-unicorn-x","version":"2.0.0","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@2.0.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"1e4d5412fc4d21dbdd510e096181b9c00f7d98df","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-2.0.0.tgz","fileCount":241,"integrity":"sha512-HEsJiF1Rx14DDUmH7SnMYRxxvpZX+dY6yp1uk03D6/f5VsiK6VgU9qMAU8xyZYiQy1i5IuztgbNuOgG2LNjKcA==","signatures":[{"sig":"MEYCIQChTeTjoG5Yj6N7/9BWrMDFIH4gkT3BZ+UPOr1Xtu9JuwIhAIqjnlbYQT0hUlMq8hRqPPIWvZ54Vu5Ep0vz8xUFkOJb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":732552},"type":"module","types":"./index.d.ts","engines":{"node":"^18.20.0 || ^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"f16c3da2d8df6fccde69045699761d02ff0a5ae3","scripts":{"fix":"run-p --continue-on-error \"fix:*\"","lint":"run-p --continue-on-error \"lint:*\"","test":"npm-run-all --continue-on-error lint \"test:*\"","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","actor":{"name":"43081j","type":"user","email":"43081james@gmail.com"},"email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.2","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.2.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.43.0","@eslint/plugin-kit":"^0.3.2","@eslint-community/eslint-utils":"^4.7.0","@babel/helper-validator-identifier":"^7.27.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.8.0","eslint":"^9.29.0","espree":"^10.4.0","listr2":"^8.3.3","vitest":"^3.1.2","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.3","@babel/core":"^7.27.4","open-editor":"^5.1.0","npm-run-all2":"^8.0.4","node-style-text":"^0.0.8","markdownlint-cli":"^0.45.0","@babel/code-frame":"^7.27.1","vue-eslint-parser":"^10.1.3","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.7.1","@babel/eslint-parser":"^7.27.5","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.34.0","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.29.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_2.0.0_1750613985801_0.8827669627348103","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"eslint-plugin-unicorn-x","version":"3.0.0","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@3.0.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"375ddddff2e2338a41f8b3e8d320e0144d76faf7","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-3.0.0.tgz","fileCount":241,"integrity":"sha512-czSKoXLRyJM2bb+Sd5ynCGOipyO4ClHHJAbIVPCt2lPEpr3niCTZn1+I019sgzdMOu+N0rZpqifRkcEjKUbBUQ==","signatures":[{"sig":"MEYCIQC/PYuE9wXo7GmDytYV2McUZzqOQYGQFoRPaRk4rZ14fQIhAO8iBg8tEGcLSUVTk96Ztt77AygPM15we8W5WXCjqOjM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":732024},"type":"module","types":"./index.d.ts","engines":{"node":"^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"b213f73751c16e3306e0fbbfbc7ad0dda51ef161","scripts":{"fix":"run-p --continue-on-error \"fix:*\"","lint":"run-p --continue-on-error \"lint:*\"","test":"npm-run-all --continue-on-error lint \"test:*\"","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","actor":{"name":"43081j","type":"user","email":"43081james@gmail.com"},"email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.2","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.2.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.43.0","@eslint/plugin-kit":"^0.3.2","@eslint-community/eslint-utils":"^4.7.0","@babel/helper-validator-identifier":"^7.27.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.8.0","eslint":"^9.29.0","espree":"^10.4.0","listr2":"^8.3.3","vitest":"^3.1.2","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.3","@babel/core":"^7.27.4","open-editor":"^5.1.0","npm-run-all2":"^8.0.4","node-style-text":"^0.0.8","markdownlint-cli":"^0.45.0","@babel/code-frame":"^7.27.1","vue-eslint-parser":"^10.1.3","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.7.1","@babel/eslint-parser":"^7.27.5","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.34.0","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.29.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_3.0.0_1751231861124_0.675911776058636","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"eslint-plugin-unicorn-x","version":"3.2.0","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"author":{"url":"https://github.com/es-tooling","name":"es-tooling authors"},"license":"MIT","_id":"eslint-plugin-unicorn-x@3.2.0","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"dist":{"shasum":"4ba82bc880f7db31d5ad5d65a3724dba487d98a1","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-3.2.0.tgz","fileCount":243,"integrity":"sha512-zSnJT0vYpNJhEV9NfUrUs6QC3u+q9sz/qZLQ47fH4Xr+Z+TZ1VMlLiEwSRoUFsEw9hPoLRoaaL0/4+PKJ/tANg==","signatures":[{"sig":"MEQCIFFR6y0Rik4KsjlHbCqcugLWWeV69T+3b5Gb0BMjH221AiAxdK/5X+oNS/yBo4tqKqTzUoJ6HJn+ZWwL7JRAPlnMCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":740891},"type":"module","types":"./index.d.ts","engines":{"node":"^20.10.0 || >=21.0.0"},"exports":{"types":"./index.d.ts","default":"./index.js"},"gitHead":"cdbf17c6edd7e61270bac97b23b90c71c1955e29","scripts":{"fix":"run-p --continue-on-error \"fix:*\"","lint":"run-p --continue-on-error \"lint:*\"","test":"npm-run-all --continue-on-error lint \"test:*\"","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","fix:js":"npm run lint:js -- --fix","format":"prettier --write test rules configs scripts","lint:js":"eslint","test:js":"vitest run --coverage","create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","integration":"node ./test/integration/test.js","lint:format":"prettier --check test rules configs scripts","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","fix:markdown":"npm run lint:markdown -- --fix","fix:snapshots":"vitest run -u","lint:markdown":"markdownlint \"**/*.md\"","fix:eslint-docs":"eslint-doc-generator","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:package-json":"npmPkgJsonLint .","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","create-rules-index-file":"node ./scripts/create-rules-index-file.js"},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"repository":{"url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git","type":"git"},"_npmVersion":"10.9.2","description":"More than 100 powerful ESLint rules","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"jsesc":"^3.1.0","scule":"^1.3.0","dedent":"^1.5.3","semver":"^7.7.2","ci-info":"^4.2.0","esquery":"^1.6.0","globals":"^16.2.0","empathic":"^1.0.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","clean-regexp":"^1.0.0","core-js-compat":"^3.43.0","@eslint/plugin-kit":"^0.3.2","@eslint-community/eslint-utils":"^4.7.0","@babel/helper-validator-identifier":"^7.27.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.8.0","eslint":"^9.29.0","espree":"^10.4.0","listr2":"^8.3.3","vitest":"^3.1.2","outdent":"^0.8.0","enquirer":"^2.4.1","prettier":"^3.5.3","tinyexec":"^1.0.1","pretty-ms":"^9.2.0","@eslint/js":"^9.25.1","typescript":"^5.8.3","@babel/core":"^7.27.4","open-editor":"^5.1.0","npm-run-all2":"^8.0.4","node-style-text":"^0.0.8","markdownlint-cli":"^0.45.0","@babel/code-frame":"^7.27.1","vue-eslint-parser":"^10.1.3","@vitest/coverage-v8":"^3.1.2","eslint-plugin-jsdoc":"^50.7.1","@babel/eslint-parser":"^7.27.5","eslint-doc-generator":"^2.1.2","eslint-remote-tester":"^4.0.1","npm-package-json-lint":"^8.0.0","@typescript-eslint/parser":"^8.34.0","eslint-plugin-eslint-plugin":"^6.4.0","eslint-remote-tester-repositories":"^2.0.1"},"peerDependencies":{"eslint":">=9.29.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-unicorn-x_3.2.0_1753102221470_0.26243726901029674","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"eslint-plugin-unicorn-x","version":"3.2.1","description":"More than 100 powerful ESLint rules","license":"MIT","repository":{"type":"git","url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git"},"author":{"name":"es-tooling authors","url":"https://github.com/es-tooling"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"sideEffects":false,"engines":{"node":"^20.10.0 || >=21.0.0"},"scripts":{"create-rule":"node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","create-rules-index-file":"node ./scripts/create-rules-index-file.js","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":"vitest run -u","format":"prettier --write test rules configs scripts","integration":"node ./test/integration/test.js","lint":"run-p --continue-on-error \"lint:*\"","lint:eslint-docs":"npm run fix:eslint-docs -- --check","lint:format":"prettier --check test rules configs scripts","lint:js":"eslint","lint:markdown":"markdownlint \"**/*.md\"","lint:package-json":"npmPkgJsonLint .","rename-rule":"node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs","run-rules-on-codebase":"eslint --config=./eslint.dogfooding.config.js","smoke":"eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js","test":"npm-run-all --continue-on-error lint \"test:*\"","test:js":"vitest run --coverage"},"keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"dependencies":{"@babel/helper-validator-identifier":"^7.27.1","@eslint-community/eslint-utils":"^4.7.0","@eslint/plugin-kit":"^0.3.2","ci-info":"^4.2.0","clean-regexp":"^1.0.0","core-js-compat":"^3.43.0","dedent":"^1.5.3","empathic":"^1.0.0","esquery":"^1.6.0","globals":"^16.2.0","jsesc":"^3.1.0","pluralize":"^8.0.0","regexp-tree":"^0.1.27","regjsparser":"^0.12.0","scule":"^1.3.0","semver":"^7.7.2"},"devDependencies":{"@babel/code-frame":"^7.27.1","@babel/core":"^7.27.4","@babel/eslint-parser":"^7.27.5","@eslint/js":"^9.25.1","@typescript-eslint/parser":"^8.34.0","@vitest/coverage-v8":"^3.1.2","enquirer":"^2.4.1","eslint":"^9.29.0","eslint-doc-generator":"^2.1.2","eslint-plugin-eslint-plugin":"^6.4.0","eslint-plugin-jsdoc":"^50.7.1","eslint-remote-tester":"^4.0.1","eslint-remote-tester-repositories":"^2.0.1","espree":"^10.4.0","listr2":"^8.3.3","markdownlint-cli":"^0.45.0","node-style-text":"^0.0.8","npm-package-json-lint":"^8.0.0","npm-run-all2":"^8.0.4","open-editor":"^5.1.0","outdent":"^0.8.0","prettier":"^3.5.3","pretty-ms":"^9.2.0","tinyexec":"^1.0.1","typescript":"^5.8.3","vitest":"^3.1.2","vue-eslint-parser":"^10.1.3","yaml":"^2.8.0"},"peerDependencies":{"eslint":">=9.29.0"},"_id":"eslint-plugin-unicorn-x@3.2.1","gitHead":"e9c9c0c236db6ad7d99fe17601f2a7c78ecb5c83","types":"./index.d.ts","bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-58raUuh+Rb+7xvlSRbjSHvEhqNqUphuEQU3YwkD6sB2TUiWium6JKbkHdBIdUa4jZp+MnpyakQpEqHT1OJF8Vw==","shasum":"4d33c25d7efceb9a69fbe304f80e0233bf487495","tarball":"https://registry.npmjs.org/eslint-plugin-unicorn-x/-/eslint-plugin-unicorn-x-3.2.1.tgz","fileCount":243,"unpackedSize":740991,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-unicorn-x@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC/mR7JN4BQsVMqVyxzFgWL0zzEz/Pni2M21hPcChhEPwIhAOgA1zGgeBlu/jY6bFTx4lab9Cc6dIvdwLR9PO+tq/yO"}]},"_npmUser":{"name":"43081j","email":"43081james@gmail.com"},"directories":{},"maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-unicorn-x_3.2.1_1753261491815_0.6726323962137832"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-28T22:05:24.573Z","modified":"2025-07-23T09:04:52.500Z","1.0.0":"2025-04-28T22:05:24.918Z","1.0.1":"2025-04-29T23:08:22.246Z","1.0.2":"2025-04-30T10:40:35.696Z","1.0.3":"2025-04-30T14:12:47.195Z","1.0.4":"2025-05-01T09:58:34.893Z","1.0.5":"2025-05-01T13:05:45.468Z","1.0.7":"2025-05-14T09:17:20.762Z","1.0.8":"2025-05-18T21:04:13.217Z","2.0.0":"2025-06-22T17:39:46.038Z","3.0.0":"2025-06-29T21:17:41.285Z","3.2.0":"2025-07-21T12:50:21.672Z","3.2.1":"2025-07-23T09:04:52.066Z"},"bugs":{"url":"https://github.com/es-tooling/eslint-plugin-unicorn-x/issues"},"author":{"name":"es-tooling authors","url":"https://github.com/es-tooling"},"license":"MIT","homepage":"https://github.com/es-tooling/eslint-plugin-unicorn-x#readme","keywords":["eslint","eslintplugin","eslint-plugin","unicorn","linter","lint","style","xo"],"repository":{"type":"git","url":"git+https://github.com/es-tooling/eslint-plugin-unicorn-x.git"},"description":"More than 100 powerful ESLint rules","maintainers":[{"name":"43081j","email":"43081james@gmail.com"}],"readme":"# eslint-plugin-unicorn-x\n\n> More than 100 powerful ESLint rules\n\nA modern, faster and lighter fork of [`eslint-plugin-unicorn`](https://github.com/sindresorhus/eslint-plugin-unicorn).\n\n## Install\n\n```sh\nnpm install --save-dev eslint eslint-plugin-unicorn-x\n```\n\n**Requires ESLint `>=9.29.0` and [flat config](https://eslint.org/docs/latest/use/configure/configuration-files).**\n\n## Usage\n\nUse a [preset config](#preset-configs) or configure each rule in `eslint.config.js`.\n\nIf you don't use the preset, ensure you use the same `languageOptions` config as below.\n\n```js\nimport eslintPluginUnicorn from 'eslint-plugin-unicorn-x';\nimport globals from 'globals';\n\nexport default [\n\t{\n\t\tlanguageOptions: {\n\t\t\tglobals: globals.builtin,\n\t\t},\n\t\tplugins: {\n\t\t\tunicorn: eslintPluginUnicorn,\n\t\t},\n\t\trules: {\n\t\t\t'unicorn-x/better-regex': 'error',\n\t\t\t'unicorn-x/…': 'error',\n\t\t},\n\t},\n\t// …\n];\n```\n\n## Why this fork exists\n\nThis fork exists to provide various performance improvements and a reduced install footprint.\n\nMuch of this cannot be contributed upstream due to differences in opinion on dependency selection, backwards compatibility requirements, and so on.\n\nWe will contribute what we can upstream, and continue to track the original, allowing this plugin to exist as a mostly drop-in replacement to get an easy bump in lint performance.\n\n## Migration from `eslint-plugin-unicorn`\n\nIf you are migrating from `eslint-plugin-unicorn`, simply replace `unicorn` with `unicorn-x` in your rules and update the plugin import path:\n\n```json5\n{\n\t\"rules\": {\n\t\t// before\n\t\t\"unicorn/better-regex\": \"error\",\n\n\t\t// after\n\t\t\"unicorn-x/better-regex\": \"error\",\n\t}\n}\n```\n\n## Rules\n\n<!-- Do not manually modify this list. Run: `npm run fix:eslint-docs` -->\n<!-- begin auto-generated rules list -->\n\n💼 [Configurations](https://github.com/es-tooling/eslint-plugin-unicorn-x#recommended-config) enabled in.\\\n✅ Set in the `recommended` [configuration](https://github.com/es-tooling/eslint-plugin-unicorn-x#recommended-config).\\\n🔧 Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\\\n💡 Manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).\n\n| Name                                                                                             | Description                                                                                                                                                                                                       | 💼 | 🔧 | 💡 |\n| :----------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :- | :- | :- |\n| [better-regex](docs/rules/better-regex.md)                                                       | Improve regexes by making them shorter, consistent, and safer.                                                                                                                                                    |    | 🔧 |    |\n| [catch-error-name](docs/rules/catch-error-name.md)                                               | Enforce a specific parameter name in catch clauses.                                                                                                                                                               | ✅  | 🔧 |    |\n| [consistent-assert](docs/rules/consistent-assert.md)                                             | Enforce consistent assertion style with `node:assert`.                                                                                                                                                            | ✅  | 🔧 |    |\n| [consistent-date-clone](docs/rules/consistent-date-clone.md)                                     | Prefer passing `Date` directly to the constructor when cloning.                                                                                                                                                   | ✅  | 🔧 |    |\n| [consistent-destructuring](docs/rules/consistent-destructuring.md)                               | Use destructured variables over properties.                                                                                                                                                                       |    |    | 💡 |\n| [consistent-empty-array-spread](docs/rules/consistent-empty-array-spread.md)                     | Prefer consistent types when spreading a ternary in an array literal.                                                                                                                                             | ✅  | 🔧 |    |\n| [consistent-existence-index-check](docs/rules/consistent-existence-index-check.md)               | Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.                                                                                    | ✅  | 🔧 |    |\n| [consistent-function-scoping](docs/rules/consistent-function-scoping.md)                         | Move function definitions to the highest possible scope.                                                                                                                                                          | ✅  |    |    |\n| [custom-error-definition](docs/rules/custom-error-definition.md)                                 | Enforce correct `Error` subclassing.                                                                                                                                                                              |    | 🔧 |    |\n| [empty-brace-spaces](docs/rules/empty-brace-spaces.md)                                           | Enforce no spaces between braces.                                                                                                                                                                                 | ✅  | 🔧 |    |\n| [error-message](docs/rules/error-message.md)                                                     | Enforce passing a `message` value when creating a built-in error.                                                                                                                                                 | ✅  |    |    |\n| [escape-case](docs/rules/escape-case.md)                                                         | Require escape sequences to use uppercase or lowercase values.                                                                                                                                                    | ✅  | 🔧 |    |\n| [expiring-todo-comments](docs/rules/expiring-todo-comments.md)                                   | Add expiration conditions to TODO comments.                                                                                                                                                                       | ✅  |    |    |\n| [explicit-length-check](docs/rules/explicit-length-check.md)                                     | Enforce explicitly comparing the `length` or `size` property of a value.                                                                                                                                          | ✅  | 🔧 | 💡 |\n| [filename-case](docs/rules/filename-case.md)                                                     | Enforce a case style for filenames.                                                                                                                                                                               | ✅  |    |    |\n| [import-style](docs/rules/import-style.md)                                                       | Enforce specific import styles per module.                                                                                                                                                                        | ✅  |    |    |\n| [new-for-builtins](docs/rules/new-for-builtins.md)                                               | Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.                                                                                                           | ✅  | 🔧 | 💡 |\n| [no-abusive-eslint-disable](docs/rules/no-abusive-eslint-disable.md)                             | Enforce specifying rules to disable in `eslint-disable` comments.                                                                                                                                                 | ✅  |    |    |\n| [no-accessor-recursion](docs/rules/no-accessor-recursion.md)                                     | Disallow recursive access to `this` within getters and setters.                                                                                                                                                   | ✅  |    |    |\n| [no-anonymous-default-export](docs/rules/no-anonymous-default-export.md)                         | Disallow anonymous functions and classes as the default export.                                                                                                                                                   | ✅  |    | 💡 |\n| [no-array-callback-reference](docs/rules/no-array-callback-reference.md)                         | Prevent passing a function reference directly to iterator methods.                                                                                                                                                | ✅  |    | 💡 |\n| [no-array-for-each](docs/rules/no-array-for-each.md)                                             | Prefer `for…of` over the `forEach` method.                                                                                                                                                                        | ✅  | 🔧 | 💡 |\n| [no-array-method-this-argument](docs/rules/no-array-method-this-argument.md)                     | Disallow using the `this` argument in array methods.                                                                                                                                                              | ✅  | 🔧 | 💡 |\n| [no-array-reduce](docs/rules/no-array-reduce.md)                                                 | Disallow `Array#reduce()` and `Array#reduceRight()`.                                                                                                                                                              | ✅  |    |    |\n| [no-array-reverse](docs/rules/no-array-reverse.md)                                               | Prefer `Array#toReversed()` over `Array#reverse()`.                                                                                                                                                               | ✅  |    | 💡 |\n| [no-await-expression-member](docs/rules/no-await-expression-member.md)                           | Disallow member access from await expression.                                                                                                                                                                     | ✅  | 🔧 |    |\n| [no-await-in-promise-methods](docs/rules/no-await-in-promise-methods.md)                         | Disallow using `await` in `Promise` method parameters.                                                                                                                                                            | ✅  |    | 💡 |\n| [no-console-spaces](docs/rules/no-console-spaces.md)                                             | Do not use leading/trailing space between `console.log` parameters.                                                                                                                                               | ✅  | 🔧 |    |\n| [no-document-cookie](docs/rules/no-document-cookie.md)                                           | Do not use `document.cookie` directly.                                                                                                                                                                            | ✅  |    |    |\n| [no-empty-file](docs/rules/no-empty-file.md)                                                     | Disallow empty files.                                                                                                                                                                                             | ✅  |    |    |\n| [no-for-loop](docs/rules/no-for-loop.md)                                                         | Do not use a `for` loop that can be replaced with a `for-of` loop.                                                                                                                                                | ✅  | 🔧 | 💡 |\n| [no-hex-escape](docs/rules/no-hex-escape.md)                                                     | Enforce the use of Unicode escapes instead of hexadecimal escapes.                                                                                                                                                | ✅  | 🔧 |    |\n| [no-instanceof-builtins](docs/rules/no-instanceof-builtins.md)                                   | Disallow `instanceof` with built-in objects                                                                                                                                                                       | ✅  | 🔧 | 💡 |\n| [no-invalid-fetch-options](docs/rules/no-invalid-fetch-options.md)                               | Disallow invalid options in `fetch()` and `new Request()`.                                                                                                                                                        | ✅  |    |    |\n| [no-invalid-remove-event-listener](docs/rules/no-invalid-remove-event-listener.md)               | Prevent calling `EventTarget#removeEventListener()` with the result of an expression.                                                                                                                             | ✅  |    |    |\n| [no-keyword-prefix](docs/rules/no-keyword-prefix.md)                                             | Disallow identifiers starting with `new` or `class`.                                                                                                                                                              |    |    |    |\n| [no-lonely-if](docs/rules/no-lonely-if.md)                                                       | Disallow `if` statements as the only statement in `if` blocks without `else`.                                                                                                                                     | ✅  | 🔧 |    |\n| [no-magic-array-flat-depth](docs/rules/no-magic-array-flat-depth.md)                             | Disallow a magic number as the `depth` argument in `Array#flat(…).`                                                                                                                                               | ✅  |    |    |\n| [no-named-default](docs/rules/no-named-default.md)                                               | Disallow named usage of default import and export.                                                                                                                                                                | ✅  | 🔧 |    |\n| [no-negated-condition](docs/rules/no-negated-condition.md)                                       | Disallow negated conditions.                                                                                                                                                                                      | ✅  | 🔧 |    |\n| [no-negation-in-equality-check](docs/rules/no-negation-in-equality-check.md)                     | Disallow negated expression in equality check.                                                                                                                                                                    | ✅  |    | 💡 |\n| [no-nested-ternary](docs/rules/no-nested-ternary.md)                                             | Disallow nested ternary expressions.                                                                                                                                                                              | ✅  | 🔧 |    |\n| [no-new-array](docs/rules/no-new-array.md)                                                       | Disallow `new Array()`.                                                                                                                                                                                           | ✅  | 🔧 | 💡 |\n| [no-new-buffer](docs/rules/no-new-buffer.md)                                                     | Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.                                                                                                                 | ✅  | 🔧 | 💡 |\n| [no-null](docs/rules/no-null.md)                                                                 | Disallow the use of the `null` literal.                                                                                                                                                                           | ✅  | 🔧 | 💡 |\n| [no-object-as-default-parameter](docs/rules/no-object-as-default-parameter.md)                   | Disallow the use of objects as default parameters.                                                                                                                                                                | ✅  |    |    |\n| [no-process-exit](docs/rules/no-process-exit.md)                                                 | Disallow `process.exit()`.                                                                                                                                                                                        | ✅  |    |    |\n| [no-single-promise-in-promise-methods](docs/rules/no-single-promise-in-promise-methods.md)       | Disallow passing single-element arrays to `Promise` methods.                                                                                                                                                      | ✅  | 🔧 | 💡 |\n| [no-static-only-class](docs/rules/no-static-only-class.md)                                       | Disallow classes that only have static members.                                                                                                                                                                   | ✅  | 🔧 |    |\n| [no-thenable](docs/rules/no-thenable.md)                                                         | Disallow `then` property.                                                                                                                                                                                         | ✅  |    |    |\n| [no-this-assignment](docs/rules/no-this-assignment.md)                                           | Disallow assigning `this` to a variable.                                                                                                                                                                          | ✅  |    |    |\n| [no-typeof-undefined](docs/rules/no-typeof-undefined.md)                                         | Disallow comparing `undefined` using `typeof`.                                                                                                                                                                    | ✅  | 🔧 | 💡 |\n| [no-unnecessary-array-flat-depth](docs/rules/no-unnecessary-array-flat-depth.md)                 | Disallow using `1` as the `depth` argument of `Array#flat()`.                                                                                                                                                     | ✅  | 🔧 |    |\n| [no-unnecessary-array-splice-count](docs/rules/no-unnecessary-array-splice-count.md)             | Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.                                                                                              | ✅  | 🔧 |    |\n| [no-unnecessary-await](docs/rules/no-unnecessary-await.md)                                       | Disallow awaiting non-promise values.                                                                                                                                                                             | ✅  | 🔧 |    |\n| [no-unnecessary-polyfills](docs/rules/no-unnecessary-polyfills.md)                               | Enforce the use of built-in methods instead of unnecessary polyfills.                                                                                                                                             | ✅  |    |    |\n| [no-unnecessary-slice-end](docs/rules/no-unnecessary-slice-end.md)                               | Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.                                                                                                              | ✅  | 🔧 |    |\n| [no-unreadable-array-destructuring](docs/rules/no-unreadable-array-destructuring.md)             | Disallow unreadable array destructuring.                                                                                                                                                                          | ✅  | 🔧 |    |\n| [no-unreadable-iife](docs/rules/no-unreadable-iife.md)                                           | Disallow unreadable IIFEs.                                                                                                                                                                                        | ✅  |    |    |\n| [no-unused-properties](docs/rules/no-unused-properties.md)                                       | Disallow unused object properties.                                                                                                                                                                                |    |    |    |\n| [no-useless-error-capture-stack-trace](docs/rules/no-useless-error-capture-stack-trace.md)       | Disallow unnecessary `Error.captureStackTrace(…)`.                                                                                                                                                                | ✅  | 🔧 |    |\n| [no-useless-fallback-in-spread](docs/rules/no-useless-fallback-in-spread.md)                     | Disallow useless fallback when spreading in object literals.                                                                                                                                                      | ✅  | 🔧 |    |\n| [no-useless-length-check](docs/rules/no-useless-length-check.md)                                 | Disallow useless array length check.                                                                                                                                                                              | ✅  | 🔧 |    |\n| [no-useless-promise-resolve-reject](docs/rules/no-useless-promise-resolve-reject.md)             | Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks                                                                                                                    | ✅  | 🔧 |    |\n| [no-useless-spread](docs/rules/no-useless-spread.md)                                             | Disallow unnecessary spread.                                                                                                                                                                                      | ✅  | 🔧 |    |\n| [no-useless-switch-case](docs/rules/no-useless-switch-case.md)                                   | Disallow useless case in switch statements.                                                                                                                                                                       | ✅  |    | 💡 |\n| [no-useless-undefined](docs/rules/no-useless-undefined.md)                                       | Disallow useless `undefined`.                                                                                                                                                                                     | ✅  | 🔧 |    |\n| [no-zero-fractions](docs/rules/no-zero-fractions.md)                                             | Disallow number literals with zero fractions or dangling dots.                                                                                                                                                    | ✅  | 🔧 |    |\n| [number-literal-case](docs/rules/number-literal-case.md)                                         | Enforce proper case for numeric literals.                                                                                                                                                                         | ✅  | 🔧 |    |\n| [numeric-separators-style](docs/rules/numeric-separators-style.md)                               | Enforce the style of numeric separators by correctly grouping digits.                                                                                                                                             | ✅  | 🔧 |    |\n| [prefer-add-event-listener](docs/rules/prefer-add-event-listener.md)                             | Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.                                                                                                                                    | ✅  | 🔧 |    |\n| [prefer-array-find](docs/rules/prefer-array-find.md)                                             | Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.                                                                                                                            | ✅  | 🔧 | 💡 |\n| [prefer-array-flat](docs/rules/prefer-array-flat.md)                                             | Prefer `Array#flat()` over legacy techniques to flatten arrays.                                                                                                                                                   | ✅  | 🔧 |    |\n| [prefer-array-flat-map](docs/rules/prefer-array-flat-map.md)                                     | Prefer `.flatMap(…)` over `.map(…).flat()`.                                                                                                                                                                       | ✅  | 🔧 |    |\n| [prefer-array-index-of](docs/rules/prefer-array-index-of.md)                                     | Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.                                                                                            | ✅  | 🔧 | 💡 |\n| [prefer-array-some](docs/rules/prefer-array-some.md)                                             | Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.                                                                                                               | ✅  | 🔧 | 💡 |\n| [prefer-at](docs/rules/prefer-at.md)                                                             | Prefer `.at()` method for index access and `String#charAt()`.                                                                                                                                                     | ✅  | 🔧 | 💡 |\n| [prefer-blob-reading-methods](docs/rules/prefer-blob-reading-methods.md)                         | Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.                                                                                             | ✅  |    |    |\n| [prefer-class-fields](docs/rules/prefer-class-fields.md)                                         | Prefer class field declarations over `this` assignments in constructors.                                                                                                                                          | ✅  | 🔧 | 💡 |\n| [prefer-code-point](docs/rules/prefer-code-point.md)                                             | Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.                                                                                           | ✅  |    | 💡 |\n| [prefer-date-now](docs/rules/prefer-date-now.md)                                                 | Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.                                                                                                                                       | ✅  | 🔧 |    |\n| [prefer-default-parameters](docs/rules/prefer-default-parameters.md)                             | Prefer default parameters over reassignment.                                                                                                                                                                      | ✅  |    | 💡 |\n| [prefer-dom-node-append](docs/rules/prefer-dom-node-append.md)                                   | Prefer `Node#append()` over `Node#appendChild()`.                                                                                                                                                                 | ✅  | 🔧 |    |\n| [prefer-dom-node-dataset](docs/rules/prefer-dom-node-dataset.md)                                 | Prefer using `.dataset` on DOM elements over calling attribute methods.                                                                                                                                           | ✅  | 🔧 |    |\n| [prefer-dom-node-remove](docs/rules/prefer-dom-node-remove.md)                                   | Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.                                                                                                                                             | ✅  | 🔧 | 💡 |\n| [prefer-dom-node-text-content](docs/rules/prefer-dom-node-text-content.md)                       | Prefer `.textContent` over `.innerText`.                                                                                                                                                                          | ✅  |    | 💡 |\n| [prefer-event-target](docs/rules/prefer-event-target.md)                                         | Prefer `EventTarget` over `EventEmitter`.                                                                                                                                                                         | ✅  |    |    |\n| [prefer-export-from](docs/rules/prefer-export-from.md)                                           | Prefer `export…from` when re-exporting.                                                                                                                                                                           | ✅  | 🔧 | 💡 |\n| [prefer-global-this](docs/rules/prefer-global-this.md)                                           | Prefer `globalThis` over `window`, `self`, and `global`.                                                                                                                                                          | ✅  | 🔧 |    |\n| [prefer-import-meta-properties](docs/rules/prefer-import-meta-properties.md)                     | Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.                                                                                                                            |    | 🔧 |    |\n| [prefer-includes](docs/rules/prefer-includes.md)                                                 | Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.                                                                                        | ✅  | 🔧 | 💡 |\n| [prefer-json-parse-buffer](docs/rules/prefer-json-parse-buffer.md)                               | Prefer reading a JSON file as a buffer.                                                                                                                                                                           |    | 🔧 |    |\n| [prefer-keyboard-event-key](docs/rules/prefer-keyboard-event-key.md)                             | Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.                                                                                                                                                          | ✅  | 🔧 |    |\n| [prefer-logical-operator-over-ternary](docs/rules/prefer-logical-operator-over-ternary.md)       | Prefer using a logical operator over a ternary.                                                                                                                                                                   | ✅  |    | 💡 |\n| [prefer-math-min-max](docs/rules/prefer-math-min-max.md)                                         | Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.                                                                                                                                       | ✅  | 🔧 |    |\n| [prefer-math-trunc](docs/rules/prefer-math-trunc.md)                                             | Enforce the use of `Math.trunc` instead of bitwise operators.                                                                                                                                                     | ✅  | 🔧 | 💡 |\n| [prefer-modern-dom-apis](docs/rules/prefer-modern-dom-apis.md)                                   | Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`. | ✅  | 🔧 |    |\n| [prefer-modern-math-apis](docs/rules/prefer-modern-math-apis.md)                                 | Prefer modern `Math` APIs over legacy patterns.                                                                                                                                                                   | ✅  | 🔧 |    |\n| [prefer-module](docs/rules/prefer-module.md)                                                     | Prefer JavaScript modules (ESM) over CommonJS.                                                                                                                                                                    | ✅  | 🔧 | 💡 |\n| [prefer-native-coercion-functions](docs/rules/prefer-native-coercion-functions.md)               | Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.                                                                                                                                      | ✅  | 🔧 |    |\n| [prefer-negative-index](docs/rules/prefer-negative-index.md)                                     | Prefer negative index over `.length - index` when possible.                                                                                                                                                       | ✅  | 🔧 |    |\n| [prefer-node-protocol](docs/rules/prefer-node-protocol.md)                                       | Prefer using the `node:` protocol when importing Node.js builtin modules.                                                                                                                                         | ✅  | 🔧 |    |\n| [prefer-number-properties](docs/rules/prefer-number-properties.md)                               | Prefer `Number` static properties over global ones.                                                                                                                                                               | ✅  | 🔧 | 💡 |\n| [prefer-object-from-entries](docs/rules/prefer-object-from-entries.md)                           | Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.                                                                                                                       | ✅  | 🔧 |    |\n| [prefer-optional-catch-binding](docs/rules/prefer-optional-catch-binding.md)                     | Prefer omitting the `catch` binding parameter.                                                                                                                                                                    | ✅  | 🔧 |    |\n| [prefer-prototype-methods](docs/rules/prefer-prototype-methods.md)                               | Prefer borrowing methods from the prototype instead of the instance.                                                                                                                                              | ✅  | 🔧 |    |\n| [prefer-query-selector](docs/rules/prefer-query-selector.md)                                     | Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.                                              | ✅  | 🔧 |    |\n| [prefer-reflect-apply](docs/rules/prefer-reflect-apply.md)                                       | Prefer `Reflect.apply()` over `Function#apply()`.                                                                                                                                                                 | ✅  | 🔧 |    |\n| [prefer-regexp-test](docs/rules/prefer-regexp-test.md)                                           | Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.                                                                                                                                                 | ✅  | 🔧 | 💡 |\n| [prefer-set-has](docs/rules/prefer-set-has.md)                                                   | Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.                                                                                                                          | ✅  | 🔧 | 💡 |\n| [prefer-set-size](docs/rules/prefer-set-size.md)                                                 | Prefer using `Set#size` instead of `Array#length`.                                                                                                                                                                | ✅  | 🔧 |    |\n| [prefer-single-call](docs/rules/prefer-single-call.md)                                           | Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.                                                                                               | ✅  | 🔧 | 💡 |\n| [prefer-spread](docs/rules/prefer-spread.md)                                                     | Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.                                                                                           | ✅  | 🔧 | 💡 |\n| [prefer-string-raw](docs/rules/prefer-string-raw.md)                                             | Prefer using the `String.raw` tag to avoid escaping `\\`.                                                                                                                                                          | ✅  | 🔧 |    |\n| [prefer-string-replace-all](docs/rules/prefer-string-replace-all.md)                             | Prefer `String#replaceAll()` over regex searches with the global flag.                                                                                                                                            | ✅  | 🔧 |    |\n| [prefer-string-slice](docs/rules/prefer-string-slice.md)                                         | Prefer `String#slice()` over `String#substr()` and `String#substring()`.                                                                                                                                          | ✅  | 🔧 |    |\n| [prefer-string-starts-ends-with](docs/rules/prefer-string-starts-ends-with.md)                   | Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.                                                                                                                                          | ✅  | 🔧 | 💡 |\n| [prefer-string-trim-start-end](docs/rules/prefer-string-trim-start-end.md)                       | Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.                                                                                                                 | ✅  | 🔧 |    |\n| [prefer-structured-clone](docs/rules/prefer-structured-clone.md)                                 | Prefer using `structuredClone` to create a deep clone.                                                                                                                                                            | ✅  |    | 💡 |\n| [prefer-switch](docs/rules/prefer-switch.md)                                                     | Prefer `switch` over multiple `else-if`.                                                                                                                                                                          | ✅  | 🔧 |    |\n| [prefer-ternary](docs/rules/prefer-ternary.md)                                                   | Prefer ternary expressions over simple `if-else` statements.                                                                                                                                                      | ✅  | 🔧 |    |\n| [prefer-top-level-await](docs/rules/prefer-top-level-await.md)                                   | Prefer top-level await over top-level promises and async function calls.                                                                                                                                          | ✅  |    | 💡 |\n| [prefer-type-error](docs/rules/prefer-type-error.md)                                             | Enforce throwing `TypeError` in type checking conditions.                                                                                                                                                         | ✅  | 🔧 |    |\n| [prevent-abbreviations](docs/rules/prevent-abbreviations.md)                                     | Prevent abbreviations.                                                                                                                                                                                            | ✅  | 🔧 |    |\n| [relative-url-style](docs/rules/relative-url-style.md)                                           | Enforce consistent relative URL style.                                                                                                                                                                            | ✅  | 🔧 | 💡 |\n| [require-array-join-separator](docs/rules/require-array-join-separator.md)                       | Enforce using the separator argument with `Array#join()`.                                                                                                                                                         | ✅  | 🔧 |    |\n| [require-module-specifiers](docs/rules/require-module-specifiers.md)                             | Require non-empty specifier list in import and export statements.                                                                                                                                                 | ✅  | 🔧 | 💡 |\n| [require-number-to-fixed-digits-argument](docs/rules/require-number-to-fixed-digits-argument.md) | Enforce using the digits argument with `Number#toFixed()`.                                                                                                                                                        | ✅  | 🔧 |    |\n| [require-post-message-target-origin](docs/rules/require-post-message-target-origin.md)           | Enforce using the `targetOrigin` argument with `window.postMessage()`.                                                                                                                                            |    |    | 💡 |\n| [string-content](docs/rules/string-content.md)                                                   | Enforce better string content.                                                                                                                                                                                    |    | 🔧 | 💡 |\n| [switch-case-braces](docs/rules/switch-case-braces.md)                                           | Enforce consistent brace style for `case` clauses.                                                                                                                                                                | ✅  | 🔧 |    |\n| [template-indent](docs/rules/template-indent.md)                                                 | Fix whitespace-insensitive template indentation.                                                                                                                                                                  | ✅  | 🔧 |    |\n| [text-encoding-identifier-case](docs/rules/text-encoding-identifier-case.md)                     | Enforce consistent case for text encoding identifiers.                                                                                                                                                            | ✅  | 🔧 | 💡 |\n| [throw-new-error](docs/rules/throw-new-error.md)                                                 | Require `new` when creating an error.                                                                                                                                                                             | ✅  | 🔧 |    |\n\n<!-- end auto-generated rules list -->\n\n### Deleted and deprecated rules\n\nSee [the list](docs/deleted-and-deprecated-rules.md).\n\n## Preset configs\n\nSee the [ESLint docs](https://eslint.org/docs/latest/use/configure/configuration-files) for more information about extending config files.\n\n**Note**: Preset configs will also enable the correct [language options](https://eslint.org/docs/latest/use/configure/language-options).\n\n### Recommended config\n\nThis plugin exports a `recommended` config that enforces good practices.\n\n```js\nimport eslintPluginUnicorn from 'eslint-plugin-unicorn-x';\n\nexport default [\n\t\t// …\n\t\teslintPluginUnicorn.configs.recommended,\n\t\t{\n\t\t\trules: {\n\t\t\t\t'unicorn-x/better-regex': 'warn',\n\t\t\t},\n\t\t},\n];\n```\n\n### All config\n\nThis plugin exports an `all` that makes use of all rules (except for deprecated ones).\n\n```js\nimport eslintPluginUnicorn from 'eslint-plugin-unicorn-x';\n\nexport default [\n\t\t// …\n\t\teslintPluginUnicorn.configs.all,\n\t\t{\n\t\t\trules: {\n\t\t\t\t'unicorn-x/better-regex': 'warn',\n\t\t\t},\n\t\t},\n];\n```\n","readmeFilename":"README.md"}