{"versions":{"0.0.1":{"name":"@e18e/eslint-plugin","version":"0.0.1","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.3","@typescript-eslint/rule-tester":"^8.50.0","@typescript-eslint/typescript-estree":"^8.50.0","@vitest/coverage-v8":"^4.0.16","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.2.0","prettier":"^3.7.4","typescript":"^5.9.3","typescript-eslint":"^8.50.0","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"f16316342395d54246b45693ea69ba9ade48e99e","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.0.1","_nodeVersion":"24.1.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-iqRyCfRpgonoudtzr+bIGSOJk+eCE1woCUsK5gwmYCsbaKZ7aDkbKelG2zAlb7v1dWKN0xFHpEkNrawGEOVxDg==","shasum":"3fbfb462a61f698477d52f0c350268c6f45f5a0d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.0.1.tgz","fileCount":51,"unpackedSize":79850,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQBATEP9SvkNFwUmiNuQiWqwdkIpic/v8NjHkEavZ1ngIgAcPFGNgqZOXhtFe0L7aJpjJobzTfnLmwl9yXdvH8yLc="}],"size":14196},"_npmUser":{"name":"anonymous","email":"43081james@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.0.1_1766162325208_0.9431302312779606"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T16:38:45.355Z","publish_time":1766162325355,"_source_registry_name":"default","contributors":[]},"0.1.0":{"name":"@e18e/eslint-plugin","version":"0.1.0","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.3","@typescript-eslint/rule-tester":"^8.50.0","@typescript-eslint/typescript-estree":"^8.50.0","@vitest/coverage-v8":"^4.0.16","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.2.0","oxlint":"^1.34.0","prettier":"^3.7.4","typescript":"^5.9.3","typescript-eslint":"^8.50.0","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"f5ea6db00de6b8d5b1ee225de34f1f3defbf6c04","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.1.0","_nodeVersion":"22.21.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-Sx2dKIfhNHxgSzOuZK10guJSE+fOXTpDgGy9Y1Zpz59e1x/iaBRDfpV6Uq0Y3Jy9I7rcZAuBgkNNQavTXpSIuA==","shasum":"aaa7aa8d5186b3982a0d9e7b2f7d794b1f19ab74","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.1.0.tgz","fileCount":47,"unpackedSize":68530,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEkpl0VTu6dusQgo5kPiQ3F55XRvRdx6A7p47zvXOALCAiAoUZgGzAI5fMLcFXDADcHARAnBdVs2JrUHwbyh4KiaRA=="}],"size":13304},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.1.0_1766171843150_0.6543511815327088"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T19:17:23.300Z","publish_time":1766171843300,"_source_registry_name":"default","contributors":[]},"0.1.1":{"name":"@e18e/eslint-plugin","version":"0.1.1","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.3","@typescript-eslint/rule-tester":"^8.50.0","@typescript-eslint/typescript-estree":"^8.50.0","@vitest/coverage-v8":"^4.0.16","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.2.0","oxlint":"^1.34.0","prettier":"^3.7.4","typescript":"^5.9.3","typescript-eslint":"^8.50.0","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"1155ad7ea8f3eb6e6822e3fc6552b0a82dce8184","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.1.1","_nodeVersion":"22.21.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-X62xmdPhD8rRLWUCqyij8LlXDcjCsPwq2F1Bx8lk8CkdSL0BrdHT6arDVcaU2pCNfNJkSG7DtvVqk+r+08rnyQ==","shasum":"86ce6baa058f21f6bdd36091756e8d6b2babe6bb","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.1.1.tgz","fileCount":47,"unpackedSize":68756,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFibxNnLZ4oZsFUpTGfhnjWlOm6u7ZUXUvCIrnl0COylAiEA38UWSPNPjgnMRobWTHNAHMX1aswVx4ztdxdtp3VBJME="}],"size":13336},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.1.1_1766177634719_0.18730675218642268"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T20:53:54.849Z","publish_time":1766177634849,"_source_registry_name":"default","contributors":[]},"0.1.2":{"name":"@e18e/eslint-plugin","version":"0.1.2","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.3","@typescript-eslint/rule-tester":"^8.50.0","@typescript-eslint/typescript-estree":"^8.50.0","@vitest/coverage-v8":"^4.0.16","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.2.0","oxlint":"^1.34.0","prettier":"^3.7.4","typescript":"^5.9.3","typescript-eslint":"^8.50.0","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"cb2e05c6729198867a79fab644987df9a1f0e429","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.1.2","_nodeVersion":"22.21.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-QJ44h5WI91F3DqHTTlDsfOoDE14yWEeWLgd36AB2hyR6ZSnsCpafzpPeaJLVUh7gPGAHcgay1knA8O8ZB5w2vQ==","shasum":"9b9220860662fd12b2964e6785c917b2d622e917","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.1.2.tgz","fileCount":47,"unpackedSize":69589,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDKwWlYa4H1Y5CeTCXr8GhtFfYXwgkuzEknsfeha3KgAQIhALEw81LhfA1JoUZe2jDzWJ4d0I3Q8DPvh/IyLZbaPIGc"}],"size":13522},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.1.2_1766183982931_0.4129187335085023"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T22:39:43.084Z","publish_time":1766183983084,"_source_registry_name":"default","contributors":[]},"0.1.3":{"name":"@e18e/eslint-plugin","version":"0.1.3","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.3","@typescript-eslint/rule-tester":"^8.50.0","@typescript-eslint/typescript-estree":"^8.50.0","@vitest/coverage-v8":"^4.0.16","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.2.0","oxlint":"^1.34.0","prettier":"^3.7.4","typescript":"^5.9.3","typescript-eslint":"^8.50.0","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"08c515afb54aefec9f94395530bf50ea03157290","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.1.3","_nodeVersion":"22.21.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-gkldotfVlQqyiA2YkmpeWkMva7kbz+wf7nh7tswzDaFjlGxkIgrx45hIgj5oUb1vKS6SVKBa/8/f0ZmBxUXyxg==","shasum":"83012596baaeecd117b29abcebc85c37d4be3835","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.1.3.tgz","fileCount":51,"unpackedSize":79142,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD+pQl2p/DoxsUkeFjuTBGV5R7w0RiaJb9hCI0BxQX65QIhAINXFfxgXe9zsllGln+ZpvqxBHxduQPaUoJlmNIHDX+3"}],"size":15204},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.1.3_1766330258530_0.2455099061670185"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-21T15:17:38.709Z","publish_time":1766330258709,"_source_registry_name":"default","contributors":[]},"0.1.4":{"name":"@e18e/eslint-plugin","version":"0.1.4","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@eslint/json":"^0.14.0","@types/node":"^25.0.10","@typescript-eslint/rule-tester":"^8.53.1","@typescript-eslint/typescript-estree":"^8.53.1","@vitest/coverage-v8":"^4.0.18","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.3.0","jsonc-eslint-parser":"^2.4.2","oxlint":"^1.41.0","prettier":"^3.8.1","typescript":"^5.9.3","typescript-eslint":"^8.53.1","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0"},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"1dc399be6eb9dcee207e5cd63ef184bd6c902492","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.1.4","_nodeVersion":"22.22.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-nN0zo9lIsYJynhFyN+kNVINc9pDMotKjfEr1NcRRXCFKJt89V5S4DL6ZSXN2USJb2XezkMvyLOQMZ0lZTpvFeQ==","shasum":"cea3fe867d227c3a790af34678b4dc16594780ae","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.1.4.tgz","fileCount":53,"unpackedSize":88364,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAzIH+Au3BXDasUPu5uPg6EoRROEP2rZB9HH5W2hSYCtAiEA/K1+xJsbejNR8FlT5POIe6FP1WLXs5WhdBRZoDNCssQ="}],"size":16814},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.1.4_1769607771856_0.5855961891424881"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-28T13:42:52.019Z","publish_time":1769607772019,"_source_registry_name":"default","contributors":[]},"0.2.0":{"name":"@e18e/eslint-plugin","version":"0.2.0","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^9.39.2","@eslint/json":"^0.14.0","@types/node":"^25.0.10","@typescript-eslint/rule-tester":"^8.53.1","@typescript-eslint/typescript-estree":"^8.53.1","@vitest/coverage-v8":"^4.0.18","eslint":"^9.39.2","eslint-plugin-eslint-plugin":"^7.3.0","jsonc-eslint-parser":"^2.4.2","oxlint":"^1.41.0","prettier":"^3.8.1","typescript":"^5.9.3","typescript-eslint":"^8.53.1","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0 || ^10.0.0","oxlint":"^1.41.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"oxlint":{"optional":true}},"dependencies":{"eslint-plugin-depend":"^1.4.0"},"gitHead":"34ff3ef3be562b9fb07ac8b0714e4c1fadf5b233","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.2.0","_nodeVersion":"22.22.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-mXgODVwhuDjTJ+UT+XSvmMmCidtGKfrV5nMIv1UtpWex2pYLsIM3RSpT8HWIMAebS9qANbXPKlSX4BE7ZvuCgA==","shasum":"458d2ca0164707e4bf419b62e8b91b102208dcf6","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.2.0.tgz","fileCount":57,"unpackedSize":96846,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDv99+FZAalDxFCUMmAxxeuT6G0WTKW9EZr/XgvmlO9VwIhAIlah95BWSob//y/nKZ3thfl6yp/Pg3dD2y0QqEgdpCG"}],"size":18192},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.2.0_1771274768969_0.6626269036535153"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-16T20:46:09.193Z","publish_time":1771274769193,"_source_registry_name":"default","contributors":[]},"0.3.0":{"name":"@e18e/eslint-plugin","version":"0.3.0","description":"The official e18e ESLint plugin for modernizing code and improving performance.","keywords":["eslint","e18e","performance","bloat","perf"],"homepage":"https://github.com/e18e/eslint-plugin#readme","bugs":{"url":"https://github.com/e18e/eslint-plugin/issues"},"repository":{"type":"git","url":"git+https://github.com/e18e/eslint-plugin.git"},"license":"MIT","author":{"name":"James Garbutt","url":"https://github.com/43081j"},"type":"module","main":"lib/main.js","scripts":{"build":"tsc","test":"vitest run","format":"prettier --write src","lint":"npm run lint:js && npm run lint:format","lint:js":"eslint src","lint:format":"prettier --check src"},"devDependencies":{"@eslint/js":"^10.0.1","@eslint/json":"^1.1.0","@types/node":"^25.5.0","@typescript-eslint/rule-tester":"^8.57.0","@typescript-eslint/typescript-estree":"^8.57.0","@vitest/coverage-v8":"^4.1.0","eslint":"^10.0.3","eslint-plugin-eslint-plugin":"^7.3.2","jsonc-eslint-parser":"^3.1.0","oxlint":"^1.55.0","prettier":"^3.8.1","typescript":"^5.9.3","typescript-eslint":"^8.57.0","vitest":"^4.0.14"},"peerDependencies":{"eslint":"^9.0.0 || ^10.0.0","oxlint":"^1.55.0"},"peerDependenciesMeta":{"eslint":{"optional":true},"oxlint":{"optional":true}},"dependencies":{"eslint-plugin-depend":"^1.5.0"},"gitHead":"877252815a665541be33943665ad23a3534d9414","types":"./lib/main.d.ts","_id":"@e18e/eslint-plugin@0.3.0","_nodeVersion":"22.22.1","_npmVersion":"11.12.0","dist":{"integrity":"sha512-hHgfpxsrZ2UYHcicA+tGZnmk19uJTaye9VH79O+XS8R4ona2Hx3xjhXghclNW58uXMk3xXlbYEOMr8thsoBmWg==","shasum":"8ab0703bfbe4b75ad3b9fb7efc4fceb886de9a4f","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@e18e/eslint-plugin/-/eslint-plugin-0.3.0.tgz","fileCount":57,"unpackedSize":102030,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@e18e%2feslint-plugin@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCqDv1Ma5PPy7gPDzODWk8y3BwLuYfxBMM1V4hty07IcAIhAKnuRsUmI+0H4t6jT6pcCw7o+8FdXtPzH3CRI0X6xI2X"}],"size":19037},"_npmUser":{"name":"anonymous","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ec6407d-291f-4eb3-ac96-2fc22a730e81"}},"directories":{},"maintainers":[{"name":"anonymous","email":"43081james@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_0.3.0_1774150603023_0.4908418287294096"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-22T03:36:43.157Z","publish_time":1774150603157,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"0.3.0"},"name":"@e18e/eslint-plugin","time":{"created":"2025-12-19T16:49:55.182Z","modified":"2026-03-22T03:36:52.668Z","0.0.1":"2025-12-19T16:38:45.355Z","0.1.0":"2025-12-19T19:17:23.300Z","0.1.1":"2025-12-19T20:53:54.849Z","0.1.2":"2025-12-19T22:39:43.084Z","0.1.3":"2025-12-21T15:17:38.709Z","0.1.4":"2026-01-28T13:42:52.019Z","0.2.0":"2026-02-16T20:46:09.193Z","0.3.0":"2026-03-22T03:36:43.157Z"},"readme":"# @e18e/eslint-plugin\n\n> The official e18e ESLint plugin for modernizing JavaScript/TypeScript code and improving performance.\n\nThis plugin focuses on applying the e18e community's best practices and advise to JavaScript/TypeScript codebases.\n\n## Overview\n\nThere are a few categories of rules in this plugin:\n\n- Modernization - New syntax and APIs which improve code readability and performance\n- Module replacements - Community recommended alternatives to popular libraries, focused on performance and size\n- Performance improvements - Patterns that can be optimized for better runtime performance\n\nEach of these can be enabled individually, or you can use the recommended configuration to enable all rules.\n\n## Installation\n\n```bash\nnpm install --save-dev @e18e/eslint-plugin\n```\n\n## Usage\n\nAdd the plugin to your `eslint.config.js`:\n\n```ts\nimport e18e from '@e18e/eslint-plugin';\n\nexport default [\n  // Use the recommended configuration (includes all categories)\n  e18e.configs.recommended,\n\n  // Or use specific category configurations\n  e18e.configs.modernization,\n  e18e.configs.moduleReplacements,\n  e18e.configs.performanceImprovements,\n\n  // Or configure rules manually\n  {\n    plugins: {\n      e18e\n    },\n    rules: {\n      'e18e/prefer-array-at': 'error',\n      'e18e/prefer-array-fill': 'error',\n      'e18e/prefer-includes': 'error'\n    }\n  }\n];\n```\n\n## Usage with oxlint\n\nIf you're using oxlint, you can enable the e18e plugin by adding it to your `.oxlintrc.json` file:\n\n```json\n{\n  \"jsPlugins\": [\"@e18e/eslint-plugin\"],\n  \"rules\": {\n    \"e18e/prefer-includes\": \"error\"\n  }\n}\n```\n\nYou can enable the recommended configuration by copying the rules from each of the ESLint configuration files into your `.oxlintrc.json` file.\n\n- [modernization configuration](./src/configs/modernization.ts)\n- [module replacements configuration](./src/configs/module-replacements.ts)\n- [performance improvements configuration](./src/configs/performance-improvements.ts)\n\nCopying these rules into your `rules` object will achieve the same effect as using the recommended configuration in ESLint.\n\n> [!NOTE]\n> Our type-aware rules depend on TypeScript ESLint's parser, which means they\n> will not work with oxlint at this time.\n\n## Linting `package.json`\n\nSome rules (e.g. `ban-dependencies`) can be used against your `package.json`.\n\nYou can achieve this by using `@eslint/json` or `jsonc-eslint-parser`.\n\nFor example, with `@eslint/json` and `eslint.config.js`:\n\n```ts\nimport e18e from '@e18e/eslint-plugin';\nimport json from '@eslint/json';\nimport {defineConfig} from 'eslint/config';\n\nexport default defineConfig([\n  {\n    files: ['package.json'],\n    language: 'json/json',\n    plugins: {\n      e18e,\n      json\n    },\n    extends: ['e18e/recommended'],\n  }\n]);\n```\n\nOr with `jsonc-eslint-parser` and `eslint.config.js`:\n\n```ts\nimport e18e from '@e18e/eslint-plugin';\nimport jsonParser from 'jsonc-eslint-parser';\nimport {defineConfig} from 'eslint/config';\n\nexport default defineConfig([\n  {\n    files: ['package.json'],\n    languageOptions: {\n      parser: jsonParser\n    },\n    plugins: {\n      e18e\n    },\n    extends: ['e18e/recommended'],\n  }\n]);\n```\n\nRead more at the\n[`@eslint/json` docs](https://github.com/eslint/json) and\n[`jsonc-eslint-parser` docs](https://github.com/ota-meshi/jsonc-eslint-parser).\n\n## Rules\n\n**Legend:**\n- ✅ = Yes / Enabled\n- ✖️ = No / Disabled\n- 💡 = Has suggestions (requires user confirmation for fixes)\n- 🔶 = Optionally uses types (works without TypeScript but more powerful with it)\n\n### Modernization\n\n| Rule | Description | Recommended | Fixable | Requires Types |\n|------|-------------|-------------|---------|----------------|\n| [prefer-array-at](./src/rules/prefer-array-at.ts) | Prefer `Array.prototype.at()` over length-based indexing | ✅ | ✅ | 🔶 |\n| [prefer-array-fill](./src/rules/prefer-array-fill.ts) | Prefer `Array.prototype.fill()` over `Array.from()` or `map()` with constant values | ✅ | ✅ | ✖️ |\n| [prefer-includes](./src/rules/prefer-includes.ts) | Prefer `.includes()` over `indexOf()` comparisons for arrays and strings | ✅ | ✅ | ✖️ |\n| [prefer-array-to-reversed](./src/rules/prefer-array-to-reversed.ts) | Prefer `Array.prototype.toReversed()` over copying and reversing arrays | ✅ | ✅ | 🔶 |\n| [prefer-array-to-sorted](./src/rules/prefer-array-to-sorted.ts) | Prefer `Array.prototype.toSorted()` over copying and sorting arrays | ✅ | ✅ | 🔶 |\n| [prefer-array-to-spliced](./src/rules/prefer-array-to-spliced.ts) | Prefer `Array.prototype.toSpliced()` over copying and splicing arrays | ✅ | ✅ | ✖️ |\n| [prefer-exponentiation-operator](./src/rules/prefer-exponentiation-operator.ts) | Prefer the exponentiation operator `**` over `Math.pow()` | ✅ | ✅ | ✖️ |\n| [prefer-nullish-coalescing](./src/rules/prefer-nullish-coalescing.ts) | Prefer nullish coalescing operator (`??` and `??=`) over verbose null checks | ✅ | ✅ | ✖️ |\n| [prefer-object-has-own](./src/rules/prefer-object-has-own.ts) | Prefer `Object.hasOwn()` over `Object.prototype.hasOwnProperty.call()` and `obj.hasOwnProperty()` | ✅ | ✅ | ✖️ |\n| [prefer-spread-syntax](./src/rules/prefer-spread-syntax.ts) | Prefer spread syntax over `Array.concat()`, `Array.from()`, `Object.assign({}, ...)`, and `Function.apply()` | ✅ | ✅ | 🔶 |\n| [prefer-url-canparse](./src/rules/prefer-url-canparse.ts) | Prefer `URL.canParse()` over try-catch blocks for URL validation | ✅ | 💡 | ✖️ |\n\n### Module replacements\n\n| Rule | Description | Recommended | Fixable | Requires Types |\n|------|-------------|-------------|---------|----------------|\n| ban-dependencies | Ban dependencies in favor of lighter alternatives | ✅ | ✖️ | ✖️ |\n\n### Performance improvements\n\n| Rule | Description | Recommended | Fixable | Requires Types |\n|------|-------------|-------------|---------|----------------|\n| [no-indexof-equality](./src/rules/no-indexof-equality.ts) | Prefer `startsWith()` for strings and direct array access over `indexOf()` equality checks | ✖️ | ✅ | ✅ |\n| [prefer-array-from-map](./src/rules/prefer-array-from-map.ts) | Prefer `Array.from(iterable, mapper)` over `[...iterable].map(mapper)` to avoid intermediate array allocation | ✅ | ✅ | ✖️ |\n| [prefer-array-some](./src/rules/prefer-array-some.ts) | Prefer `Array.some()` over `Array.find()` when checking for element existence | ✅ | ✅ | ✖️ |\n| [prefer-timer-args](./src/rules/prefer-timer-args.ts) | Prefer passing function and arguments directly to `setTimeout`/`setInterval` instead of wrapping in an arrow function or using `bind` | ✅ | ✅ | ✖️ |\n| [prefer-date-now](./src/rules/prefer-date-now.ts) | Prefer `Date.now()` over `new Date().getTime()` and `+new Date()` | ✅ | ✅ | ✖️ |\n| [prefer-regex-test](./src/rules/prefer-regex-test.ts) | Prefer `RegExp.test()` over `String.match()` and `RegExp.exec()` when only checking for match existence | ✅ | ✅ | 🔶 |\n| [prefer-static-regex](./src/rules/prefer-static-regex.ts) | Prefer defining regular expressions at module scope to avoid re-compilation on every function call | ✅ | ✖️ | 🔶 |\n| [prefer-inline-equality](./src/rules/prefer-inline-equality.ts) | Prefer inline equality checks over temporary object creation for simple comparisons | ✖️ | ✅ | 🔶 |\n\n## Sponsors\n\n<p align=\"center\">\n  <a href=\"https://e18e.dev/sponsor\">\n    <img src=\"https://e18e.dev/sponsors.svg\" alt=\"e18e community sponsors\" />\n  </a>\n</p>\n\n## License\n\nMIT","users":{}}