{"_id":"eslint-plugin-react-features","_rev":"36-ef3f573200b1218b99399299d4bb4692","name":"eslint-plugin-react-features","dist-tags":{"latest":"1.7.11"},"versions":{"1.1.0":{"name":"eslint-plugin-react-features","version":"1.1.0","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.1.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-react-features#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"893784ff47af7daa531288b9b3a60457f2318902","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.1.0.tgz","fileCount":114,"integrity":"sha512-S6L6sxa0fT/nya3iXM73Y7T34TWCIJzTYIxPhvoBQbysppmecjK/eXsnPU4MjXo/qL+vF0CI+iCYoERcnk8Euw==","signatures":[{"sig":"MEQCIGRxBKxNH98QOoOKPKWFKZ5ndbWoJk1KEQOCS5ias0MtAiBO6CdiEfBmHHBLxPS9pF3G+y5yMKUNzKdVwLeLkZTwCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421926},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"}},"gitHead":"2d9d2469e98bc8c2aaa768fdb2edba233bf97e43","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.8.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.1.0_1770019081325_0.6556548992254081","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"eslint-plugin-react-features","version":"1.1.1","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.1.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-react-features#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"fd8432d1d16496d54d1a7378c431c57f064d00ab","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.1.1.tgz","fileCount":114,"integrity":"sha512-1PBhX6JO22AXjjxcYQnL8tWQN12DoeOnBi1MQuzV6ncjrGCitupYgZfrY2MnoVQltFGsmUua9O9Pn72haKB60A==","signatures":[{"sig":"MEQCIBtU91IVA+ZB5BM8HUBqWLLxDbDgG/s5c6zERs/e3JiJAiBYRy798l21KOpFm12k00ul20j/nxeOzE33GJ+ZoL+5bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418618},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"}},"gitHead":"9be1c5a5fc9654aa64b2f4b15b0365e59cf1f90b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.8.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.1.1_1770024383958_0.0030849808379387333","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"eslint-plugin-react-features","version":"1.1.2","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.1.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-react-features#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"fbe607bb38d1b107c38465fdf4a04df2dfaa58b9","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.1.2.tgz","fileCount":114,"integrity":"sha512-3qR4NrzkT679SadSzle4YZtuKBOxeaIBvartgfgKbHNHe5gML3KrbUHVePuJCLnK35sy/U3ea/0SHk4fG+DkIg==","signatures":[{"sig":"MEQCIDzjgi14qc1Lqy5XUjU0gWkLCk8rNLOttif8c+Y3lnoIAiBzWwdE8gSGXTI56Vux67ioqnHgQz3K2ROED4LEMoWr2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418767},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"}},"gitHead":"da076a89af8a606a7b96d1fb25d9fc1df980fdc9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.9.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.1.2_1770362859808_0.11452968271552644","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"eslint-plugin-react-features","version":"1.1.3","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.1.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-react-features#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a731785fc911e2cbd68b73eda47834224e352a25","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.1.3.tgz","fileCount":114,"integrity":"sha512-U5C7LKchh95FcoQIxdlcsP2fNgesJPfhUKzoyaeNTFhQD3O7okzqjRN134Pq1Km/YFKPiJTccSH39wNhPUcx7g==","signatures":[{"sig":"MEUCIGMSkPIeM/GSDsSIUFsxaOm6v/zzbgsfpzzyiVqmxyPfAiEA2ZjyihPWhzn/r6m7rwEXY55sU5pqcvTudGZFC7wIOfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418986},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"}},"gitHead":"48803eb0c35c0ae769620c36d9c4f9e6373bc940","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.9.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.1.3_1770515026848_0.7790377331405911","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"eslint-plugin-react-features","version":"1.1.4","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.1.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-react-features#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"8bf52ae596942e1c3751ed8e9cabe621d10efdd8","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.1.4.tgz","fileCount":116,"integrity":"sha512-uHz2Lr2M+nIjRBDqbKr5onTFqpagt3DIgq/rxznUAbDhJvaojPiESsJ5lch7frqV5WN17F2HL4qgGDW0O+Rr/Q==","signatures":[{"sig":"MEYCIQDsHJaaMF/o2k2LtUMcRMTs9fOvwsXJE1ZwZI2dIAmorAIhAO4+54SdzngmTZQchR1ORAaJ3KZTJRJh87MxYfKzxVdp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470770},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"gitHead":"e43f57627bde6783b152ee5dc1637514f0192505","scripts":{"test":"vitest run","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.14.1","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.1.4_1778489196285_0.4275962995844871","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"eslint-plugin-react-features","version":"1.2.0","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"d67cd115ef2724436f78887780c27bbbabccba21","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.0.tgz","fileCount":132,"integrity":"sha512-5n09IjVZsRKhLQTcx4lOUUMzZgla5hBTOPazhawQk5BAMXZjwJeZdI8B53Xx43KnshfUJ/UMBgfkptWWjgmv7Q==","signatures":[{"sig":"MEUCIQCYbMNctc8ISzVDhtiE9Z406stzmsSU4dHUBa8AAPew+AIgSscrSQqZjkQxFsW/32o3FquviPxe7aUDldBlc8PlnOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555593},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"1edae719f71be28f9943be84784c60a42addd366","scripts":{"test":"vitest run","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.0_1782071309239_0.6382874611623544","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"eslint-plugin-react-features","version":"1.2.1","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"09aee7821654e058c657265d67034771457a1f20","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.1.tgz","fileCount":132,"integrity":"sha512-QK+RBpW5u3z1JUyFbFgenERHnckr2+zyxxBTB4xKggeIHbR+nwgh2CvfqxVrgMM17cQFxqYpbnj/xK5ONLo7cg==","signatures":[{"sig":"MEYCIQCn+ONxaIclLiibEolob1Y5fG9iUnQ05dCqTrcHHX0wVgIhAMjVsUd7Gxj1gCKIrHjPlUAygAuTX4u/KRtJ6TVBZScV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556488},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"ae0b75b7f5cbf4c2e55c26cd5784bc7e21478da2","scripts":{"test":"vitest run --coverage","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.18.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.1_1783317626649_0.8741280941609657","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"eslint-plugin-react-features","version":"1.2.2","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"795488a74f7dfb91a2b28399592629b0b6a33a86","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.2.tgz","fileCount":132,"integrity":"sha512-/lM+tWF9B+YLmprcTY2v3pnLGg+2U70+mcer1d0bd6cxRXOMHz82xzL5XJqYSKYfYYLQRCZGB6rEcX8bczXglA==","signatures":[{"sig":"MEUCIQCGTsyaZbWauLs8dWyo85A1thNpytUU1QDkwOjDjW4KBwIgfskiInXZ43gYMnBeElrl3guWWjQXmxyKErQ+GCvqlwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555426},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"ae75ae8f31f8863b40613bd29cc259b85c80f8e0","scripts":{"test":"vitest run --coverage","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.2_1784319722929_0.3761232097503444","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"eslint-plugin-react-features","version":"1.2.3","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"4287837f42185602c9d1e934f384b7b8a40c857a","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.3.tgz","fileCount":132,"integrity":"sha512-Pcm3rDXwUg8BJ81cOnKCQkVufZTZXJ0a2YS1gdD9rcgs1KbujbVmgcuWtXEjzVA3bMt/WvQ7THgQtYRyKJ4JLA==","signatures":[{"sig":"MEYCIQD4GxUHpDbo1owhREauW8uG36oNw9dGH0a8Oh+NFxQSEwIhAPNetdMmNnOGSLDN5Vq7LNq6BYl9EUhL7A5dUTs8o6vN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555803},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"0cdb87433192b0420a4721c09030cb80c3f51faa","scripts":{"test":"vitest run --coverage","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.3_1784482028237_0.6967556161284045","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"eslint-plugin-react-features","version":"1.2.4","keywords":["eslint","eslint-plugin","interlace-quality","react","jsx","hooks","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"08c9bf83f1cce6b12de1ad667697ff9554845299","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.4.tgz","fileCount":132,"integrity":"sha512-vcj99ES2JtSTzkcOhxF2gheMLQYnj4fT6IWfG1PtvGFolcMq0SgRJ40p9O2CEr51Q+9bU5k/nqqu2uQW3qGjbg==","signatures":[{"sig":"MEQCIDXaOmrDeX+zDB+Wh/z13F7KP2h4vQ1cs3KgVtzcUkz7AiBfSbHiB7Mo+KRS1EL8MtLYqWk9W/hjR6M9lvS2+XCCbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556758},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"973a05eb44c7cfe2bf77713f79ba3bdc76f17a32","scripts":{"test":"vitest run --coverage","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint React rules for modern react features, hooks, and patterns.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.4_1785478678472_0.9924322896362967","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"eslint-plugin-react-features","version":"1.2.5","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3369467755ffb9303effe64c3840762c3810b918","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.5.tgz","fileCount":132,"integrity":"sha512-yE6NcQ59iP84aG3JFQNqk/m++8CfLgOZWqABSsGAndf8E2VUbk2mBUNdQh/v5BQPp9lOxuN4mmRKAChr4E0kKA==","signatures":[{"sig":"MEUCIQCGYZc0nLyGmR4u3Y8VVLnXPcNw+laSqGBj6uxF9dnZDgIgSJxlo6pEHAUygKcBHs3pd+/K+ZNDoOQNfFThnYVqBa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":560080},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"9dfef98fb16504047de3278ff5bc1d959082e0bf","scripts":{"test":"vitest run --coverage","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2","@typescript-eslint/rule-tester":"^8.46.2"},"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.5_1785684596658_0.11520272904804685","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"eslint-plugin-react-features","version":"1.2.6","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.6","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"cb2ce3e876fb6a8d32b014579ae52459360d4f1a","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.6.tgz","fileCount":70,"integrity":"sha512-Vl8AkJAQVs32e3S7L+J72gudkaFYzNjwMFlrYf3CyEEHmRP8zn+RBt1pvcEeZoQFHqeCvQ5EEx4YWPpeF6uITA==","signatures":[{"sig":"MEUCIQC6ZdbmgNDtPRaFH2ryTbfAd9jrRZU+33IGaXmVPB8GMwIgQuHD0QP9hQk5bJjTYhs5rG9YiEk0cLGsth5RTHqOgcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327554},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"38f042ffef8a6723771b740cb98f9fcaaea3d885","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"^1.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.6_1785743917603_0.7241356067902327","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"eslint-plugin-react-features","version":"1.2.7","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.7","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"50df6df62abde38e48204f297da296c55ca7ca5b","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.7.tgz","fileCount":70,"integrity":"sha512-LxucKYrr5fyIhqZOjvYDqjPncKL0FOB+CT9EjLP0tfQtcEyMgNbatg/V/BqUkNwwQqFVj6CwSw2XOgvTe2LK/Q==","signatures":[{"sig":"MEUCIQConRTstOmTj+RHEp8ZKkmjT1Ev+QFhLPZFm1nuvPiotwIgVGEpLYT0kFAwEopsAgn5CgTDQ1ol51Jc1zu3zHxTP/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327583},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"8794ef44bbc27c0a8e8453597e6a365d6b13b5f7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.7_1785860844136_0.010088193814727697","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"eslint-plugin-react-features","version":"1.2.8","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.8","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"ef01eb2901e9d55f37d0cf408e899e60645627a3","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.8.tgz","fileCount":70,"integrity":"sha512-3Rwn8QoeQ878r4mPWaoLLm29LpRWh9/5fNp6a0FCufG015jb0CLSkhpYknGrXWpCJ2lf9ad6BoFhjYtIG3gfwA==","signatures":[{"sig":"MEYCIQDL/dhlWslrzAqAUmUcFl8P+Pre1jvYa8WjJclEOcppXQIhALCYimSDE2OT8GCWmSBN+ldIw5LBKR1i8kEA2BlGFY1Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327888},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"fa5e699be4ff25869de61f2e289ff705b06c4a5a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tslib":"^2.3.0","@interlace/eslint-devkit":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.8_1785889461351_0.20137854697510038","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"eslint-plugin-react-features","version":"1.2.9","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.9","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"cdf0387e080214d34ae36b216263b47c63dd012d","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.9.tgz","fileCount":70,"integrity":"sha512-gmGvKBaZ2BkxdBJtrLkFo+/F2Q2AHqanpR8/QdQeFtWKSKRphoJ2Q3VUHBT5wtG7y0W2TdfWhUcisriwRTcwOw==","signatures":[{"sig":"MEUCIQDyFOKlZ2q6kGz60DTVb8eDZfs3O3E24sqDoFW9t9gfVAIgGW2E7I4K9NFRJKU/8XkAbdjqeFNqDJZt9317fX0jzDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":328146},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"989ddba90bd37321d473f78946c8b16b5042afa3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@interlace/eslint-devkit":"^1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.9_1785915245911_0.16120569897485248","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"eslint-plugin-react-features","version":"1.2.10","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.10","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"9e4a5147989b9cdf98905d67e57dab97205e098f","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.10.tgz","fileCount":70,"integrity":"sha512-AsYHZWqSVI/jLbyk+S7JmJzSeILpoZXJ1jNNvg2glq7kHOW9z2jnjfN2a0TbFPmCazdk0xLGIYTlvvW+4nL0zA==","signatures":[{"sig":"MEUCIQCJYQ3CK3o9ayDTrYfWOL9EFXQ/7EkmJFGzvNwRkjOI5wIgaOoEDqTDhYDT3YBYmdU68LurNeXwMaLVbnp4eZL8v8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219014},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"72ce14852f66ae5edd0da1c69829ab27578abaf7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@interlace/eslint-devkit":"^1.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.10_1785984800437_0.521898726853139","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"eslint-plugin-react-features","version":"1.2.11","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.11","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"56e2dde8208e5acfc9c74aed36246c9b52afd15b","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.11.tgz","fileCount":70,"integrity":"sha512-nh0fLGUAN2+zLptwUrhwcNN3IbitQE3NVv2uFO/8lk3duNuuKY58D9nmSj8GiPzyBt8aWT4202XWttSgEpHUkQ==","signatures":[{"sig":"MEUCIQDkUp6B2EQi6oO/2ndzLTNU3aATc7JihKv1ce1Uv+pgvQIgEu5rBnOoi0aZePp6u81PgbJ//LgtjnYUbFisuP+1l+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":218996},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"4e9db1907e321b94ee5e545d1848dbdd82821dc4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@interlace/eslint-devkit":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.11_1786318212297_0.9460472681282233","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"eslint-plugin-react-features","version":"1.2.12","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.2.12","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"b79fb4c1c3da9a0c6afb7d234c5c2cc31962f0ab","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.2.12.tgz","fileCount":70,"integrity":"sha512-aMi7zJZ3GMkZTltqyGAvoTltSKEc/qOQ4XoXQRQgk1pdVxWoOmhnjIe2NJnE9yjVCNqNVOz7CYo7ghJ3ZgQgUQ==","signatures":[{"sig":"MEYCIQD/M/h7AcjO9tVA1Uy7koRIDAHsaADTnodHAiM0ZbzlQgIhANBHLtGzfWBGlBt7mj6sdNfTO+wRPgk5DWL080Tqa+65","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.2.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219106},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"791ea2a9f195bf8f5759c68fe5a68fa930096506","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.16.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@interlace/eslint-devkit":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.2.12_1786427347275_0.005794861859317768","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"eslint-plugin-react-features","version":"1.3.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.3.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a8e69a94ea96fef9cfc7623eb5dd38b253a84677","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.3.0.tgz","fileCount":70,"integrity":"sha512-LcwF2M2/iCTT7Yq6pNASaLDQFI1uxNbqFQ5/P8OT0n8GOiz3jC6i7gNwZs9x4NM5TGzxDPDIvnzCD57b6sGtXQ==","signatures":[{"sig":"MEQCIBkrumdBJIFoVRnxbh3LuRcm94b2g/rVr9C3SeeZQcLBAiBdqWXYWPt/slbSnDahs35LPfgLlWrskHsj+UPC4kTVwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222089},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"c7fed65df664f4c3f79cbc0201a95af04bcc3c42","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.3.0_1786845576426_0.8221774064149647","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"eslint-plugin-react-features","version":"1.3.1","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.3.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"5079844f084b1b49567ba77d13b8b200318dd88a","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.3.1.tgz","fileCount":70,"integrity":"sha512-gMf4dtI/lDR7OxBFzIqenQBSeh/vMt7qDZYCBtNm9RFo+nywTMi5d3//qQXiCK3IfAPrQxZIRaMTI0GXlu67Zw==","signatures":[{"sig":"MEYCIQCcgeiIRJVkISfvJ7Cb0nXP+Ux+qL5YfOP/nUmv3EIAKgIhAKEjAYhXb2D7LmBxvUj7JwfiKzElQmvTJK7f3CcYWDR1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222228},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"80fda28164d85df4d5aedecfc1c8d999676ff09a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.17.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.3.1_1787627686519_0.39370867902152984","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"eslint-plugin-react-features","version":"1.4.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.4.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"e52762c13eb6506fbfdd778cb8767229e6db2fba","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.4.0.tgz","fileCount":70,"integrity":"sha512-r5wwgK0GyPH/0ZPxXKH+WbBoIJpxjz99FGCexsRSfdDe3mXzFwiWogFDoflqcwwcivPGdM3qI83ZwYEdj61CSg==","signatures":[{"sig":"MEUCIHsyyL1pzu4WTNGbQ3VQ9ie+ZkdO43cuGT9ijcYDPkRJAiEA6JyFjflYZ9tn9hvqgvM2dzOSc/FZCuaQlKNxB4qe618=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222475},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"127421cabc715573a6a1e2e7308d0d7e5683c24b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.17.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.4.0_1787680757251_0.8445672311728774","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"eslint-plugin-react-features","version":"1.5.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.5.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"32a82b5b6e14e853ccc30f82efb3d3e6223533eb","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.5.0.tgz","fileCount":70,"integrity":"sha512-ucT8S+rZ5iHggnGHHpLpTOcv1vEXkyUY6q5bOPsDqpenlCysoWob11CDxme8GGswad3OGRYkSNm5c6U04Qt8aA==","signatures":[{"sig":"MEUCIQC9WhLEBrSeI/C2OPFa7vYwvwlsWFmiyiEKHV+LYbHz3AIgOlh/vb0K8UDLQItQU7M6vGdHb8knT9vM0yZDuwfxaOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226048},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"67cd3c2af3dc6111c9f146b8ace18d96105166cd","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.17.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.5.0_1788229782995_0.4691156315475704","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"eslint-plugin-react-features","version":"1.6.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.6.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3977c06c6aaee4a1a7c6e8a4dc456a3ae6cfdf88","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.6.0.tgz","fileCount":70,"integrity":"sha512-2WcwO0g4/QDm6/MWTIuNpfgu+NWW5m77rL6F2TK9fNZzcwe0NonKWQaCIgQsb+RzoVVxyEcgCNe3lzDvQJwRFA==","signatures":[{"sig":"MEUCIEouxFgpCrRfjrq3Y8kRK7+KiYo+m/PFNHCx9us5+srPAiEAjuJ/Q9Bby12xXH+1FB4lcER/suGunsgVw9TyQAmeS5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226200},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"783ebfdcd9f40325cb5ffdde360fdc8a072d2b1a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.6.0_1788244288271_0.059344236674591544","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"eslint-plugin-react-features","version":"1.6.1","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.6.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"ac17f5a9e73acd586383c7fb795070769e9c5acd","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.6.1.tgz","fileCount":70,"integrity":"sha512-cUwvgGt1RIKvf7KIdEdLXxqOojjy/LmZvEJfxaeGUm/8VzRay/QlcxOSEh/1QHnjxJ+05g+zz0RMF6E7ek0KpQ==","signatures":[{"sig":"MEQCICXoVwPd6AwEe2x6Tf0xu4wS1AEPb/zW1gl8PjcBo+4eAiBDqzabQErlMEPV3ZcV6Rig/ECi0suayFdweUPKnJsE8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226399},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"ea8d87c6fcd26e9c359e38306c01d154d4cab3f9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.6.1_1788266980096_0.7152359744881795","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"eslint-plugin-react-features","version":"1.7.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"0349621716a37c96dfe1a34902adc2c69f224e62","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.0.tgz","fileCount":70,"integrity":"sha512-MGpi2bLvzRtVJ6qScPCxj23d/hRM2Xl/gFoIVTYX/PGNNEwtpVyFrvekHE+uLqJXdLPH8iMAj3e5Rpz68mNxYQ==","signatures":[{"sig":"MEYCIQDP5UhpMJMI1v6EqldsRqy08c+J/iJyBtevkfJrEXbHOwIhALHOKjN5E3U5om6jO6FI1YNBwU9tY1VIjOqyMjE3CSM2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225645},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"a0486fdad826fa6370bacca0f3db37b5bb62e763","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.0_1788385376114_0.43230139423388336","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"eslint-plugin-react-features","version":"1.7.1","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"792eabdbea0f58497cd7415736c91ed7ad4204c9","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.1.tgz","fileCount":70,"integrity":"sha512-M6TfRf1wjVyMOdtuF4/tpc6Nxzd0m2k/lqTqPNeFYT96+NR7f4+W8qb8eC17+oIXCNeX4lLdLssFupd6dM1CMw==","signatures":[{"sig":"MEUCIQDbKoSluSo60NcTd1qNsObZTwG61GPjiuS0qohvIIoQFQIgQqc0ZUXR0kIZpFvKXvYJn87THoq2RZeHzHIDmJsTfj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225661},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"130c9b47beae3f3a535e44853053ff609898aac2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.17.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.1_1788409543884_0.6960214012219823","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"eslint-plugin-react-features","version":"1.7.2","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"347efb8637176e62da3d6f817d5bb73bfdfd7c6a","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.2.tgz","fileCount":70,"integrity":"sha512-E0rtViJ4ojUtG/oqpSQs3/wVrFdmeWJnFgy+uGThDJqJlW9RHMsZyMgnqEkLHAjUyfKwzw2ca6eDBFIMtD5wrA==","signatures":[{"sig":"MEUCID1r5MFZynxJhlD4yk4SpTP+zZvmyGXxUM+tmexRu5/+AiEA8is8oy2Cuja8Ab7fbtQBKK9y62XcLQI+K8LKEdCDPk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHsEjBMmy8B+vVtlEO8i4qtYj1lNqD+wjj/lT9MvSbFQAiEAk5KMV0OwpKv/8gR31+YnATDI+voWKJ00buhy6rtUc/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225964},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"bd17dd61e77791cad23162dfceb3c37439ddd997","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.2_1788467115697_0.7529105388492003","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"eslint-plugin-react-features","version":"1.7.3","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"edad728a70824ab9487e209772d277542b924be7","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.3.tgz","fileCount":70,"integrity":"sha512-MGJYhZvXb3NKsDI5yathK/ew6T4FYw9Lb64rqRRbi/aMvbbVBsvqLGIMxeQrxo16j1NeyAO1rvBkACi16qhI8g==","signatures":[{"sig":"MEUCIQCU43QLxhpd/H50ScLpJ/HQXsWj2OmQdWrS5VXFlWjijQIgQfmfEetjrUeeYyElA6XVu62X1kBOOF9qoBrnLXn3Ung=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEcp4/Gu7JLfymiVuePmUk6P1R64nKWCwA5ya4SHk+N0AiEA70ydgNLH6s3QTdJL4iI44dwTGdFSjcYL6Wm8Ry2bR10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226032},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"3ff92a338fba769b56f6d526b5c14b1099d9bb2c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.3_1788548188603_0.6448650208727793","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"eslint-plugin-react-features","version":"1.7.4","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"24cf70745fcbb8535b69876abee3e9c66b044c43","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.4.tgz","fileCount":70,"integrity":"sha512-/XxCorgj8fLvVdWTkEguhTJ/G9TdT1K+QwvZogtCA8diVTW4FGtZr6Lree7B/1nrLd43Ued0KZuUtYTYnVyQFw==","signatures":[{"sig":"MEQCIH68Fdu/2fmNtyXh4AnoMp6gKFcwdeSoMN8eZcV9PvXgAiBUfHEbKfUBlac6xLLWH+F/05pCyGR4jGvAaJ2VXA58/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEBO+Izn9jKccj0HDAcwQ82ySs4oBYMh4p1KfMkpqq/FAiAwJhpBHcfOTjTaKrfON2WtJugen0DSwdYgxLg2aPmRiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226018},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"ef9c878db8e792e789631f5d2b817a9f25ab7175","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.4_1788704955777_0.1269899174507343","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"eslint-plugin-react-features","version":"1.7.5","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"fc0c8b3bd1ac0769d5d2c7963e5f9cd3898f58c9","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.5.tgz","fileCount":70,"integrity":"sha512-NuLZgH89Hee1HsSECHbP8qZyKYPTPGWdJofPSrOc2cmyui4s2D5PHUXAzfEpiMxjFGbOCDEBjV18mb0HlA7RMg==","signatures":[{"sig":"MEUCIDzsosHyRGY/sGrozc5kQhw9tqYu82N0mrtn92eVRGc0AiEAx97fIOUoyYnnL6sxzivUeBDl2VGprzk0YS1DnKuIVs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDbJbaeY2dZyEMmiSxH7LCdKZmXeMQ/525ha5mTdPqZMgIhAOD98I9M3MrDPbSdHuE+BksBx/YZ1eRfgyU7ajL0a6B7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226120},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"b261c354728b652132241df184d3bc5c2853aef6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.5_1789055696974_0.5362935722856788","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"eslint-plugin-react-features","version":"1.7.6","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.6","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"b8ac5a2b7c272939839114b2815e74857bea9db4","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.6.tgz","fileCount":70,"integrity":"sha512-yMY9EndC4yefDLfGcKSv1QuFzIqlTMKHOE1Pqb4/b/HYDdrYlS22VrjmQwLv/9Nyf1u+aX1jsgPncKIezTFtnQ==","signatures":[{"sig":"MEUCIQDBeyJSBxpzBIJMqQMuDgG7an/T0Sx4+ZKCAH7KweumSwIgUNmv7gt50JTnM3JHuLQBRYkGBYnKmhRyhl5HYBRKHDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDsleQ6jESiMRl+qQahTVWAn1SP8PQrats5YNAS3mopWgIgV6HrBPngOldnueCy8mAisiTaKa0DaSk4IbDMqp08aCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226807},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"9a9cc27c929bea932b25ba5cb399484a9a697f2f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.6_1789455817406_0.257586335078672","host":"s3://npm-registry-packages-npm-production"}},"1.7.7":{"name":"eslint-plugin-react-features","version":"1.7.7","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.7","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"02b0fe2cc274afec60b756b3173e9e8a37349d29","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.7.tgz","fileCount":70,"integrity":"sha512-winabzESu7uJl8fgoGKOhMJywEsbyw3MhQNcfQV5Wpn3ZbH++kq7GFCaZ96t0H8rDTSqB+M3frupgr8hXqGq2A==","signatures":[{"sig":"MEUCIQD3WjLGMsZkUjvb+jsqMPjvmlwqDf2CeQye1LdEKD/9qgIgUk/RvLQe0V9iVUyeclVLSIvQz6DiggEmTJxn7xbYDS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCb0clncUX67SXbrH+qK+SOQnSVd2UWakb6YokSchGWRwIhAIJQRvt9kiBLBciCK8hT/Ksm32ku8ySN4eiyicxbX7cP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226901},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"ce579a543fa060d601b983e911bc2d771dde87ef","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.7_1789966083115_0.8129289726342492","host":"s3://npm-registry-packages-npm-production"}},"1.7.8":{"name":"eslint-plugin-react-features","version":"1.7.8","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.8","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a6f5afb282e78d358e1e7db33e4adac4af77e849","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.8.tgz","fileCount":70,"integrity":"sha512-b6+BvsKe0Afqfx39XKjMmWbSI0ji57WPZbuipiGV4xivZ2EM/xJX0uVoFR/7JYJRauhFrhaEHIoOqgJg7SZrrw==","signatures":[{"sig":"MEUCIF7KMi0TyneugmGaJnobBgF49E4sjNZGpogsH0mxwfDpAiEA+fzTxT99QAdoa+kTCg48zCK/2W8uw/HWxaHiJsna1BE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/AIkn2W0ShEd1i+zjcrsMLyyn9fXLxiGy5l0V6Qz/3wIgUGj6UNGPW8CuKpMkUZCmjb3CeDKeTSnuo636ra5iU3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227374},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"d16dc697db439861248c24bf01b9aaf3e6f281c0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.8_1790113149077_0.6359824575147093","host":"s3://npm-registry-packages-npm-production"}},"1.7.9":{"name":"eslint-plugin-react-features","version":"1.7.9","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.9","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"6cf3029e3a056b6dc220460ef9cf277389ad42b3","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.9.tgz","fileCount":70,"integrity":"sha512-pIEkm+2QuqACa9ipRHcP6CL6RjWSqDQ5JEvb5numaRL0PRaQySmVRvHmoR5fo4tJEOS9uTDhndcv8o/t/+ITbQ==","signatures":[{"sig":"MEYCIQCMgBXaPOZdOUs6ilrH5g4biveF2Zcygc4Q2F3Lo7w/nQIhALlSPO9nHv9SZwRAHsl9ZMMlot1mMP76XJc2KLbO8+h0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFSrIGpEYI1V3UgKca1ynwRmVE34FhFnHXRIQQvJT/idAiEA39GnoAqT/VvitAEF8ypcLMSQNr/KyIUZG25lDl4K5iQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228630},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"40e10395645894743838a59cb96d8a7df999b9e3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.9_1790132404886_0.5826358269012544","host":"s3://npm-registry-packages-npm-production"}},"1.7.10":{"name":"eslint-plugin-react-features","version":"1.7.10","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-react-features@1.7.10","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"85f034b54bb1641b31b85aa73eb40e2903a878af","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.10.tgz","fileCount":70,"integrity":"sha512-RuudqOIByWdgHCEYomtpvgbis6PwCP8oCtuUuVj13JHIjeqRg2K4KYpzXs08ddH1JRlbwtHDRAt+kbkPN7Hm+w==","signatures":[{"sig":"MEQCICA6SJQOO0dpdh7ndattFMlqztbgZFyiSCOhHKQwDP6CAiAqsRHsAgKI0G9MgWU9xODbwZXKA2KWVI/zC3mXXcYfdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGgC2+iUQLBrHGZHp29703QZq4Iw0axpzQSz7/p9CbdEAiEAyZdKoHPsvwJvQ2FvZWNsvYJW1viz3+Znm/R14v14xfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228631},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"d4ff2bd1e72b65834855c14e5a7f2da4f57847cd","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-react-features_1.7.10_1790151985183_0.7899854153830403","host":"s3://npm-registry-packages-npm-production"}},"1.7.11":{"_id":"eslint-plugin-react-features@1.7.11","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"2225d96b41dd7ccf4c3dfe7edef20e89ae8ddda8","tarball":"https://registry.npmjs.org/eslint-plugin-react-features/-/eslint-plugin-react-features-1.7.11.tgz","fileCount":70,"integrity":"sha512-6dTNxtEAD1DCP1EpHL47KswRID9dkolyGIwqEh5LvbnaZxOdmW1BeEVK+9nSf2uPen4OuIUyWxIXVAAOoPNSvA==","signatures":[{"sig":"MEYCIQCMbAGH1eNzIoAd1qv7YI5x8Bq9iTnsru5r/P4tkPToKAIhAKPEktFNO2vF9F07Q+qGBEuBjVpmImkQwqW14pjP1CYn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCqS7RnRIBtW7GsJNzgeBLoUxVcNDazkUkvXssMNdabqAIhAKXyvscXjNBpORLDaOvinYOKqi1bIfgVKbRlfjCeWy2h"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-react-features@1.7.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228625},"main":"./src/index.js","name":"eslint-plugin-react-features","type":"commonjs","types":"./src/index.d.ts","author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./types":{"types":"./src/types/index.d.ts","default":"./src/types/index.js"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"326165126785d69972ec976cc6a60f336fa03d5d","license":"MIT","version":"1.7.11","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7addea1-9554-4d0a-b213-dd46b2047a25"}},"homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"interlace":{"surface":{"kind":"npm","modules":["react"]}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"_npmVersion":"11.19.0","description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","directories":{},"maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^17.0.0 || ^18.0.0 || ^19.0.0","eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":"^4.8.4 || ^5.0.0 || ^6.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"typescript":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-react-features_1.7.11_1790298668951_0.3350152058359619"}}},"time":{"created":"2026-02-02T07:58:01.199Z","modified":"2026-09-25T01:11:09.433Z","1.1.0":"2026-02-02T07:58:01.466Z","1.1.1":"2026-02-02T09:26:24.117Z","1.1.2":"2026-02-06T07:27:39.945Z","1.1.3":"2026-02-08T01:43:47.008Z","1.1.4":"2026-05-11T08:46:36.433Z","1.2.0":"2026-06-21T19:48:29.380Z","1.2.1":"2026-07-06T06:00:26.796Z","1.2.2":"2026-07-17T20:22:03.074Z","1.2.3":"2026-07-19T17:27:08.480Z","1.2.4":"2026-07-31T06:17:58.626Z","1.2.5":"2026-08-02T15:29:56.789Z","1.2.6":"2026-08-03T07:58:37.748Z","1.2.7":"2026-08-04T16:27:24.261Z","1.2.8":"2026-08-05T00:24:21.512Z","1.2.9":"2026-08-05T07:34:06.108Z","1.2.10":"2026-08-06T02:53:20.602Z","1.2.11":"2026-08-09T23:30:12.481Z","1.2.12":"2026-08-11T05:49:07.484Z","1.3.0":"2026-08-16T01:59:36.573Z","1.3.1":"2026-08-25T03:14:46.665Z","1.4.0":"2026-08-25T17:59:17.406Z","1.5.0":"2026-09-01T02:29:43.136Z","1.6.0":"2026-09-01T06:31:28.420Z","1.6.1":"2026-09-01T12:49:40.254Z","1.7.0":"2026-09-02T21:42:56.316Z","1.7.1":"2026-09-03T04:25:44.030Z","1.7.2":"2026-09-03T20:25:15.782Z","1.7.3":"2026-09-04T18:56:28.709Z","1.7.4":"2026-09-06T14:29:15.865Z","1.7.5":"2026-09-10T15:54:57.062Z","1.7.6":"2026-09-15T07:03:37.489Z","1.7.7":"2026-09-21T04:48:03.211Z","1.7.8":"2026-09-22T21:39:09.183Z","1.7.9":"2026-09-23T03:00:04.964Z","1.7.10":"2026-09-23T08:26:25.267Z","1.7.11":"2026-09-25T01:11:09.030Z"},"bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","homepage":"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-react-features","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","react","jsx","hooks","react-hooks","exhaustive-deps","prop-types","eslint-plugin-react","eslint-plugin-react-alternative","component-api","performance","migration","llm-optimized","ai-assistant","typescript"],"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-react-features"},"description":"ESLint plugin for React — hooks, prop-types, JSX correctness, render performance, and class-to-hooks migration rules for modern React codebases.","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features\" target=\"blank\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://eslint.interlace.tools/logos/interlace-dark.svg\"><img src=\"https://eslint.interlace.tools/logos/interlace-light.svg\" alt=\"Interlace\" height=\"90\" /></picture></a>\n  &nbsp;&nbsp;\n  <a href=\"https://react.dev\" target=\"_blank\"><img src=\"https://eslint.interlace.tools/logos/react.svg\" alt=\"React\" height=\"90\" /></a>\n  &nbsp;&nbsp;\n  <a href=\"https://oxc.rs\" target=\"_blank\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://eslint.interlace.tools/logos/oxlint-dark.svg\"><img src=\"https://eslint.interlace.tools/logos/oxlint-light.svg\" alt=\"oxlint\" height=\"90\" /></picture></a>\n  &nbsp;&nbsp;\n  <a href=\"https://eslint.org\" target=\"_blank\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://eslint.interlace.tools/logos/eslint-dark.svg\"><img src=\"https://eslint.interlace.tools/logos/eslint-light.svg\" alt=\"ESLint\" height=\"90\" /></picture></a>\n</p>\n\n<p align=\"center\">\n  Advanced React patterns, hook usage, and best practices enforcement.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/eslint-plugin-react-features\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/eslint-plugin-react-features.svg\" alt=\"NPM Version\" /></a>\n  <a href=\"https://www.npmjs.com/package/eslint-plugin-react-features\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/eslint-plugin-react-features.svg\" alt=\"NPM Downloads\" /></a>\n  <a href=\"https://packagephobia.com/result?p=eslint-plugin-react-features\" target=\"_blank\"><img src=\"https://badgen.net/packagephobia/install/eslint-plugin-react-features\" alt=\"Install Size\" /></a>\n  <a href=\"https://opensource.org/licenses/MIT\" target=\"_blank\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"Package License\" /></a>\n  <a href=\"https://app.codecov.io/gh/ofri-peretz/eslint/components?components%5B0%5D=eslint-plugin-react-features\" target=\"_blank\"><img src=\"https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=eslint-plugin-react-features\" alt=\"Codecov\" /></a>\n  <a href=\"https://github.com/ofri-peretz/eslint\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Since-Dec_2025-blue?logo=rocket&logoColor=white\" alt=\"Since Dec 2025\" /></a>\n  <a href=\"https://scorecard.dev/viewer/?uri=github.com/ofri-peretz/eslint\" target=\"_blank\"><img src=\"https://api.securityscorecards.dev/projects/github.com/ofri-peretz/eslint/badge\" alt=\"OpenSSF Scorecard\" /></a>\n</p>\n\n> ⭐ If this plugin caught a real bug for you, [**star the repo**](https://github.com/ofri-peretz/eslint) — it's the signal that keeps these rules maintained.\n\n## Description\n\nThis plugin provides Advanced React patterns, hook usage, and best practices enforcement.\n\n<!-- AUTO-GENERATED:DOCTRINE:START - Do not edit manually -->\n\n- **Why** — a linter nobody reads protects nothing. We would rather miss a finding\n  than spend your attention on one that was never real.\n- **How** — evidence, not names. A rule fires on what the code *does*, resolved\n  through the AST and ESLint's own scope analysis.\n- **What** — every finding carries its fix, in prose for a human and as structured\n  JSON for an agent. Security rules add a CWE mapping and, where assigned, a CVSS score.\n\nThat trade costs recall, and we measure it:\n[methodology](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-METHODOLOGY.md)\n· [results](https://github.com/ofri-peretz/eslint/blob/main/BENCHMARK-RESULTS.md)\n· [a false positive is a bug](https://github.com/ofri-peretz/eslint/issues).\n\n<!-- AUTO-GENERATED:DOCTRINE:END -->\n\n## Getting Started\n\n- To check out the [guide](https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features), visit [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features). 📚\n\n```bash\nnpm install eslint-plugin-react-features --save-dev\n```\n\n## ⚙️ Configuration Presets\n| Preset        | Description                                      |\n| :------------ | :----------------------------------------------- |\n| `recommended` | Recommended React patterns and performance rules |\n\n## 📦 Compatibility\n| Package | Version |\n| :--- | :--- |\n| ESLint | `^8.40.0 \\|\\| ^9.0.0 \\|\\| ^10.0.0` |\n| Node.js | `>=18.0.0` |\n\nSee the [ESLint Version Support Policy](../../docs/ESLINT_VERSION_SUPPORT.md) — current ecosystem share data, the 20% gate, and the forward-looking exception that covers v10.\n\n## Rules\n\n**Legend**\n\n| Icon | Description |\n| :---: | :--- |\n| 💼 | **Recommended**: Included in the recommended preset. |\n| ⚠️ | **Warns**: Set to warn in recommended preset. |\n| 🔧 | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |\n| 💡 | **Suggestions**: Providing code suggestions in IDE. |\n| 🚫 | **Deprecated**: This rule is deprecated. |\n| 🟢 | **Type-unaware**: AST-only, runs in oxlint JS-plugin tier. |\n| 🟡 | **Type-aware (refining)**: pure-AST primary path; types refine precision. |\n| 🟠 | **Type-aware (graceful)**: requires TS program; silent without it. |\n\n<!-- AUTO-GENERATED:RULES_TABLE:START - Do not edit manually -->\n| Rule | CWE | OWASP | CVSS | Description | 🧠 | 💼 | ⚠️ | 🔧 | 💡 | 🚫 |\n| :--- | :---: | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: | :---: |\n| [checked-requires-onchange-or-readonly](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/checked-requires-onchange-or-readonly?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | checked-requires-onchange-or-readonly rule | 🟢 |  |  |  | 💡 |  |\n| [default-props-match-prop-types](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/default-props-match-prop-types?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | default-props-match-prop-types rule | 🟢 |  |  |  | 💡 |  |\n| [display-name](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/display-name?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | display-name rule | 🟢 |  |  |  | 💡 |  |\n| [hooks-exhaustive-deps](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/hooks-exhaustive-deps?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | hooks-exhaustive-deps rule | 🟢 |  | ⚠️ |  | 💡 |  |\n| [jsx-handler-names](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-handler-names?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | jsx-handler-names rule | 🟢 |  |  |  | 💡 |  |\n| [jsx-key](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-key?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | jsx-key rule | 🟢 | 💼 |  |  | 💡 |  |\n| [jsx-max-depth](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-max-depth?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | jsx-max-depth rule | 🟢 |  |  |  | 💡 |  |\n| [jsx-no-bind](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-no-bind?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | jsx-no-bind rule | 🟢 |  |  |  | 💡 |  |\n| [jsx-no-duplicate-props](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-no-duplicate-props?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Prevent duplicate props in JSX elements. This rule is part of eslint-plugin-react-features and provides LLM… | 🟢 | 💼 |  |  | 💡 |  |\n| [jsx-no-literals](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-no-literals?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | jsx-no-literals rule | 🟢 |  |  |  | 💡 |  |\n| [jsx-no-script-url](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-no-script-url?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Prevent javascript: URLs in JSX. This rule is part of eslint-plugin-react-features and provides LLM-optimiz… | 🟢 | 💼 |  |  | 💡 |  |\n| [jsx-no-target-blank](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/jsx-no-target-blank?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Require rel='noopener noreferrer' with target='_blank'. This rule is part of eslint-plugin-react-features a… | 🟢 | 💼 |  |  | 💡 |  |\n| [no-access-state-in-setstate](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-access-state-in-setstate?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-access-state-in-setstate rule | 🟢 |  |  |  | 💡 |  |\n| [no-adjacent-inline-elements](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-adjacent-inline-elements?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-adjacent-inline-elements rule | 🟢 |  |  |  | 💡 |  |\n| [no-arbitrary-token-class](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-arbitrary-token-class?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [no-arrow-function-lifecycle](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-arrow-function-lifecycle?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-arrow-function-lifecycle rule | 🟢 |  |  |  | 💡 |  |\n| [no-children-prop](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-children-prop?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-children-prop rule | 🟢 |  | ⚠️ |  | 💡 |  |\n| [no-danger](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-danger?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) | CWE-79 |  |  | no-danger rule | 🟢 |  | ⚠️ |  | 💡 |  |\n| [no-danger-with-children](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-danger-with-children?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Prevent using children and dangerouslySetInnerHTML together. This rule is part of eslint-plugin-react-featu… | 🟢 | 💼 |  |  | 💡 |  |\n| [no-default-test-id](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-default-test-id?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [no-deprecated](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-deprecated?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Warn about using deprecated React APIs. This rule is part of eslint-plugin-react-features and provides LLM-… | 🟢 |  | ⚠️ |  | 💡 |  |\n| [no-did-mount-set-state](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-did-mount-set-state?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-did-mount-set-state rule | 🟢 |  |  |  | 💡 |  |\n| [no-did-update-set-state](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-did-update-set-state?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-did-update-set-state rule | 🟢 |  |  |  | 💡 |  |\n| [no-direct-mutation-state](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-direct-mutation-state?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-direct-mutation-state rule | 🟢 |  |  |  | 💡 |  |\n| [no-find-dom-node](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-find-dom-node?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Prevent using findDOMNode. This rule is part of eslint-plugin-react-features and provides LLM-optimized err… | 🟢 |  |  |  | 💡 |  |\n| [no-inline-style](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-inline-style?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [no-invalid-html-attribute](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-invalid-html-attribute?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-invalid-html-attribute rule | 🟢 |  |  |  | 💡 |  |\n| [no-is-mounted](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-is-mounted?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-is-mounted rule | 🟢 |  |  |  | 💡 |  |\n| [no-is-prefix-prop](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-is-prefix-prop?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [no-kind-prop-discriminator](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-kind-prop-discriminator?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [no-multi-comp](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-multi-comp?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-multi-comp rule | 🟢 |  |  |  | 💡 |  |\n| [no-namespace](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-namespace?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-namespace rule | 🟢 |  |  |  | 💡 |  |\n| [no-object-type-as-default-prop](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-object-type-as-default-prop?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-object-type-as-default-prop rule | 🟢 |  |  |  | 💡 |  |\n| [no-raw-color-literal](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-raw-color-literal?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [no-redundant-should-component-update](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-redundant-should-component-update?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-redundant-should-component-update rule | 🟢 |  |  |  | 💡 |  |\n| [no-render-return-value](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-render-return-value?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-render-return-value rule | 🟢 |  |  |  | 💡 |  |\n| [no-set-state](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-set-state?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-set-state rule | 🟢 |  |  |  | 💡 |  |\n| [no-string-refs](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-string-refs?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-string-refs rule | 🟢 | 💼 |  |  | 💡 |  |\n| [no-this-in-sfc](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-this-in-sfc?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-this-in-sfc rule | 🟢 |  |  |  | 💡 |  |\n| [no-typos](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-typos?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-typos rule | 🟢 |  |  |  | 💡 |  |\n| [no-unescaped-entities](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-unescaped-entities?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-unescaped-entities rule | 🟢 |  |  |  | 💡 |  |\n| [no-unknown-property](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-unknown-property?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-unknown-property rule | 🟢 | 💼 |  |  | 💡 |  |\n| [no-unnecessary-rerenders](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-unnecessary-rerenders?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | no-unnecessary-rerenders rule | 🟢 |  |  |  | 💡 |  |\n| [no-unsafe](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-unsafe?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Warn about UNSAFE_ lifecycle methods. This rule is part of eslint-plugin-react-features and provides LLM-op… | 🟢 |  |  |  | 💡 |  |\n| [no-wrapper-sub-component](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/no-wrapper-sub-component?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [prefer-es6-class](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/prefer-es6-class?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | prefer-es6-class rule | 🟢 |  |  |  | 💡 |  |\n| [prefer-stateless-function](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/prefer-stateless-function?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | prefer-stateless-function rule | 🟢 |  |  |  | 💡 |  |\n| [prop-types](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/prop-types?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | prop-types rule | 🟢 |  |  |  | 💡 |  |\n| [react-class-to-hooks](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/react-class-to-hooks?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | react-class-to-hooks rule | 🟢 |  |  |  | 💡 |  |\n| [react-in-jsx-scope](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/react-in-jsx-scope?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | react-in-jsx-scope rule | 🟢 |  |  |  | 💡 |  |\n| [react-no-inline-functions](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/react-no-inline-functions?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | react-no-inline-functions rule | 🟢 |  |  |  | 💡 |  |\n| [react-render-optimization](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/react-render-optimization?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | react-render-optimization rule | 🟢 |  |  |  | 💡 |  |\n| [require-data-slot](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/require-data-slot?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  |  | 🟢 |  |  |  |  |  |\n| [require-default-props](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/require-default-props?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | require-default-props rule | 🟢 |  |  |  | 💡 |  |\n| [require-optimization](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/require-optimization?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | require-optimization rule | 🟢 |  |  |  | 💡 |  |\n| [require-render-return](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/require-render-return?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | require-render-return rule | 🟢 |  |  |  | 💡 |  |\n| [required-attributes](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/required-attributes?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | required-attributes rule | 🟢 |  |  |  | 💡 |  |\n| [sort-comp](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/sort-comp?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | sort-comp rule | 🟢 |  |  |  | 💡 |  |\n| [state-in-constructor](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/state-in-constructor?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | state-in-constructor rule | 🟢 |  |  |  | 💡 |  |\n| [static-property-placement](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/static-property-placement?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | static-property-placement rule | 🟢 |  |  |  | 💡 |  |\n| [void-dom-elements-no-children](https://eslint.interlace.tools/docs/quality/plugin-react-features/rules/void-dom-elements-no-children?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features) |  |  |  | Prevent void DOM elements from receiving children. This rule is part of eslint-plugin-react-features and pr… | 🟢 |  |  |  | 💡 |  |\n<!-- AUTO-GENERATED:RULES_TABLE:END -->\n<!-- AUTO-GENERATED:ECOSYSTEM_TABLE:START - Do not edit manually -->\n\n## 🔗 Related ESLint Plugins\n\nPart of the **Interlace ESLint ecosystem** — AI-native rules with LLM-optimized error messages:\n\n**Security**\n\n| Plugin | Downloads | Description |\n| :--- | :---: | :--- |\n| [`eslint-plugin-anthropic-security`](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-anthropic-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-anthropic-security) | Anthropic SDK security. |\n| [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-browser-security) | XSS, DOM security. |\n| [`eslint-plugin-drizzle-security`](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-drizzle-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-drizzle-security) | Drizzle security. |\n| [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-express-security) | Express middleware hardening. |\n| [`eslint-plugin-gemini-security`](https://www.npmjs.com/package/eslint-plugin-gemini-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-gemini-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-gemini-security) | Google Gemini SDK security. |\n| [`eslint-plugin-jwt-security`](https://www.npmjs.com/package/eslint-plugin-jwt-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt-security) | Token security. |\n| [`eslint-plugin-knex-security`](https://www.npmjs.com/package/eslint-plugin-knex-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-knex-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-knex-security) | Knex security. |\n| [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda hardening. |\n| [`eslint-plugin-mcp-sdk-security`](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mcp-sdk-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mcp-sdk-security) | MCP SDK security. |\n| [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mongodb-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB injection. |\n| [`eslint-plugin-mysql-security`](https://www.npmjs.com/package/eslint-plugin-mysql-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mysql-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mysql-security) | MySQL security. |\n| [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-nestjs-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS framework hardening. |\n| [`eslint-plugin-node-security`](https://www.npmjs.com/package/eslint-plugin-node-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-node-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-node-security) | Server-side patterns. |\n| [`eslint-plugin-openai-security`](https://www.npmjs.com/package/eslint-plugin-openai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-openai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-openai-security) | OpenAI SDK security. |\n| [`eslint-plugin-postgresql-security`](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-postgresql-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-postgresql-security) | PostgreSQL security. |\n| [`eslint-plugin-prisma-security`](https://www.npmjs.com/package/eslint-plugin-prisma-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-prisma-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-prisma-security) | Prisma security. |\n| [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-secure-coding) | Injection prevention. |\n| [`eslint-plugin-sequelize-security`](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-sequelize-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-sequelize-security) | Sequelize ORM security. |\n| [`eslint-plugin-sqlite-security`](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-sqlite-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-sqlite-security) | SQLite security. |\n| [`eslint-plugin-supabase-security`](https://www.npmjs.com/package/eslint-plugin-supabase-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-supabase-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-supabase-security) | Supabase security. |\n| [`eslint-plugin-typeorm-security`](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-typeorm-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-typeorm-security) | TypeORM security. |\n| [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | AI SDK security. |\n\n**Code quality**\n\n| Plugin | Downloads | Description |\n| :--- | :---: | :--- |\n| [`eslint-plugin-conventions`](https://www.npmjs.com/package/eslint-plugin-conventions) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-conventions.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-conventions) | Team-specific habits and styles. |\n| [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | Fast cycle + import-graph analysis. |\n| [`eslint-plugin-maintainability`](https://www.npmjs.com/package/eslint-plugin-maintainability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-maintainability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-maintainability) | Cognitive load and clean-code patterns. |\n| [`eslint-plugin-modernization`](https://www.npmjs.com/package/eslint-plugin-modernization) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modernization.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modernization) | ESNext migration + syntax evolution. |\n| [`eslint-plugin-modularity`](https://www.npmjs.com/package/eslint-plugin-modularity) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modularity.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modularity) | Structural integrity and DDD patterns. |\n| [`eslint-plugin-operability`](https://www.npmjs.com/package/eslint-plugin-operability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-operability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-operability) | Production readiness and resource health. |\n| [`eslint-plugin-react-a11y`](https://www.npmjs.com/package/eslint-plugin-react-a11y) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-a11y.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-a11y) | React accessibility / WCAG. |\n| [`eslint-plugin-reliability`](https://www.npmjs.com/package/eslint-plugin-reliability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-reliability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-reliability) | Runtime stability and error safety. |\n\n<!-- AUTO-GENERATED:ECOSYSTEM_TABLE:END -->\n\n<!-- INTERLACE:STAR_CTA:START -->\n## ⭐ Support & follow\n\nIf this plugin caught a real bug for you, **[star the repo](https://github.com/ofri-peretz/eslint)** — stars are the signal that keeps the Interlace ESLint ecosystem maintained — and **[follow the writeups on Dev.to](https://dev.to/ofri-peretz)** for the benchmarks and security research behind these rules.\n\n[![GitHub stars](https://img.shields.io/github/stars/ofri-peretz/eslint?style=social)](https://github.com/ofri-peretz/eslint)\n\n<!-- INTERLACE:STAR_CTA:END -->\n\n## 📄 License\n\nMIT © [Ofri Peretz](https://github.com/ofri-peretz)\n\n<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features\"><img src=\"https://eslint.interlace.tools/images/og-react-features.png\" alt=\"ESLint Interlace Plugin\" width=\"100%\" /></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/docs/quality/plugin-react-features?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-react-features\" target=\"blank\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://eslint.interlace.tools/logos/interlace-dark.svg\"><img src=\"https://eslint.interlace.tools/logos/interlace-light.svg\" alt=\"Interlace\" height=\"70\" /></picture></a>\n</p>\n","readmeFilename":"README.md"}