{"_id":"eslint-plugin-conventions","_rev":"42-b9a34578ec32856dd28d9a5f56662fb9","name":"eslint-plugin-conventions","dist-tags":{"latest":"6.0.8"},"versions":{"4.0.0":{"name":"eslint-plugin-conventions","version":"4.0.0","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1f3fe80b7b5d6803e307fadc2745113796ef7fc2","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.0.tgz","fileCount":35,"integrity":"sha512-W5tx1VzUdloFhqYx778y2XH85zwNlMHwUeUzts+UlM62GolX2b/fd51OAbuRuW93CsBtsjheBkHbm1h7u/KLEg==","signatures":[{"sig":"MEUCIHopoUy38MtGoITKxvsQ5tumcmsm+Ut255lyuAMdpoPuAiEA4+izvSqq16FipCpJec/iDFMj9wJiU/40oJliPM+THyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150931},"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"}},"gitHead":"75a8520e403570d72673336df742d5114ce3b4c1","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.8.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.0_1770019823034_0.9051034793561588","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"eslint-plugin-conventions","version":"4.0.1","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"08fc4e4086dedf27eb803a7fd077e50d4bfe2eea","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.1.tgz","fileCount":35,"integrity":"sha512-jeIXB/wRbQAXBc2jd4Sf/wTvyjGTYzBeOUtF78mAFZscn0A3BnLCcmlRsggTnyHS/3AMWi+xQrDha7RYZqhmdw==","signatures":[{"sig":"MEUCIQDHcDPj8yTyF1I+51wUBEQN4e3zGrj0YKFHPNRFsMBdJwIgJmArCWPmtt31plVHhk7ci9DnNKfkbIpgyraLPhlHgu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154212},"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"}},"gitHead":"61b32916f274b9755e1e151ba869645ec55d63b3","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.8.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.1_1770021000227_0.905522569323532","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"eslint-plugin-conventions","version":"4.0.2","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"0409d2ec1986d91dd75c02af70957d12ac1c957b","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.2.tgz","fileCount":35,"integrity":"sha512-SH7HfOYZ9hP3P0WhL85V4IxxSwRaHKWI9W7+PbotkcI5OOLV5YNZrKDBsP1FvqQv7I/aSuC9ZT1prJvy4RRzhQ==","signatures":[{"sig":"MEQCIHfbWgBQgrB2i9l9PzumYsD/MOojqBJGpdQSkMAl8omZAiBOlYnQaeVEDhQ6nFR2VOE1KWw0E/DxXQ0VTXI9Yx6oqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153942},"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"}},"gitHead":"c2d54da0b33eef1e09217dc66a018f63704d323f","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.8.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.2_1770024150716_0.502577004106334","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"eslint-plugin-conventions","version":"4.0.3","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"ef8e48368ffca54c34a587d2c81729442785a565","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.3.tgz","fileCount":35,"integrity":"sha512-VAqYHgPmOVYY9T/787TOgIE1MgmWpLL8uK7cEXT4Dxg3oW64Wx6hdvCzezdy/Gq2G427xdwU1Q+uy49gjfj4xg==","signatures":[{"sig":"MEUCIEeyNwcqdF+EQej3VJ+AAkASo5OreZQm23xddeQJJK2ZAiEAtgWlj2IpPNadhUkQ/8mYIouBd9jiMyIUzYyv3euROpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153942},"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"}},"gitHead":"99e2497092002ab3f4f227fdd709487be3449cf2","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.9.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.3_1770362646614_0.3876179579791572","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"eslint-plugin-conventions","version":"4.0.4","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"167223fdaa238b28b1906475e0a11dbf46d47ad0","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.4.tgz","fileCount":35,"integrity":"sha512-1nAwDt67lbljHtgojOLy7eZTwHsHlmhFZvxCbOFmgBCGKI2nUrZT0gb/TDy2Ws/0aLVohCkpqe9/wL4vP8HUsg==","signatures":[{"sig":"MEUCIG6xCZUuVRhcTZmkTw8HGtVIFgKYl2V/TiYA9uWgugPoAiEA79LW7VRqjtIY0d3dxEsykZ1PKw0FgFFASB3Qerd2UnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":153956},"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"}},"gitHead":"12d4df8703d2f77259edb2be63ddb2fb523358b3","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.9.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.4_1770514785024_0.43815474455683234","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"eslint-plugin-conventions","version":"4.0.5","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"e302c9648cefb3e8e7fee4c963287bff5cf20bf5","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.5.tgz","fileCount":38,"integrity":"sha512-ZYSuF1Mbfv77la989r7HSyDnnXmJ5+X+VEDLi4qOU3Jz8tDuoePYVl2VT8/k3ShJDjGMz6CErabVuk5NFFetTg==","signatures":[{"sig":"MEUCIGWeHe0oCKfwKFiP9wgwq5LHRjiYBkT/GbDn5rUeyPfWAiEA30pa58oF/IUM3mKGSoinNS5lij6q9mS01/LGvLW0k4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":160895},"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"}},"gitHead":"c079e1ff606dd85eda7c3d4e0a3dbf29c5fdf976","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.9.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.5_1770515963200_0.77813165628055","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"eslint-plugin-conventions","version":"4.0.7","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.0.7","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-conventions#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"750fd521d8caa56384008d30277e3ff754a0e51d","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.0.7.tgz","fileCount":38,"integrity":"sha512-CDpnJMKO8KTMJjO9VVFmhBJnVFK1RQ1lXtgn/CU6DGc8NKQGn5R/R0aJgeZyp8dsqiLK/TJNDx+WDRS/3UzAxA==","signatures":[{"sig":"MEUCIQCbFsOzCfWzXMe2A/rdAGrZROhyvjfd3X6/Kx/9j62OLgIgfg1i1WF7hCNXPmsWkP3XvV7VjsgeyejRX330fAn9hCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":160909},"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"}},"gitHead":"a80811f8900ece742005c6bc07fa750511bb9004","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.9.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.0.7_1770621712829_0.006170770581858109","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"eslint-plugin-conventions","version":"4.1.0","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.1.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"cdca24605d425fa2bd42ae58f24ea67ab69cdbeb","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.1.0.tgz","fileCount":58,"integrity":"sha512-h3ayd0ieoJn0JUiH2GTLfG+XgMzE8kmU/U937nZ6S2GLfaUgB4MrV4AILMAyzJbNCcgdSIEViyLbynCdFCoxgA==","signatures":[{"sig":"MEUCICEbEe0hxWBuQVRRsC7qU2spTAlWB0ryiCdXl7n+S9z9AiEAzobRKDD7YB6VkZG9aOfY7jI3qQcPwotl53e/d84VDtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":241016},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"782d336eb62e0565dfc7d549ef87464dc55368f5","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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.1.0_1782073794663_0.8319053437208113","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"eslint-plugin-conventions","version":"4.2.0","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"28d4daad32e2e3a770a75a264b3d3a92d069303f","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.0.tgz","fileCount":58,"integrity":"sha512-6YI2EY0so7A0TyBeWfSPQbSKSkjdnyHD3arzQuyI15igbtMaijnw/eL2bPrINxTVCnwY/YH3v68wxb6jKzhpyg==","signatures":[{"sig":"MEUCICwwMvL0nVTYWP6w/TyA+YYpdMIcEIZf6nqlw0QtnBuAAiEA939isPLYHRQTJerrIP8J/wDzJYd6sHss6R1vXJbK4qQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242432},"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"},"./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","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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.0_1784319705997_0.3515615628116997","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"eslint-plugin-conventions","version":"4.2.1","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"b64df9704a8be90f25cab28c6129b0c7808d74cb","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.1.tgz","fileCount":58,"integrity":"sha512-zwDYEYtSJnJ08S0o3dyqdNyEyjN8gt7HzRWc4xJFKY15wRRDJayUW6LCAkUOJdFlvvMXGyLP+rqq69ORj7F4/A==","signatures":[{"sig":"MEQCICKZJd2ISVSQOyE/JGdVZxXJD95i1GPQ1cP2UhDR5TP7AiBzQfk73YnJcfUIvl3uQZMpInylhINIuW4PXUbjeNBm6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242806},"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"},"./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","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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.1_1784482004950_0.014710124575114003","host":"s3://npm-registry-packages-npm-production"}},"4.2.2":{"name":"eslint-plugin-conventions","version":"4.2.2","keywords":["eslint","eslint-plugin","interlace-quality","conventions","clean-code","consistency","llm-optimized"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"5191dcc772867ee8c750f5202494d0c514543c19","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.2.tgz","fileCount":58,"integrity":"sha512-whAyqfHIB1fVkeHRnwmZxIlq5xUppL9hAb5u47G2f3NEgy11ZvARt7fVPgEJl3YfVd7rV+2NBVBzIFZgBN4rPA==","signatures":[{"sig":"MEQCIFPbSTWct0lrHGgCApyQOBzb0cPckQN+Z3Mzs1BtlC0EAiB6r9Lseu8Xn2aSv0dw4BOC+WHQY8P0wRkKBu2/TXhgag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243758},"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"},"./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","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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint rules for team-specific disciplinary patterns and code conventions.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.2_1785478589617_0.7521033464158753","host":"s3://npm-registry-packages-npm-production"}},"4.2.3":{"name":"eslint-plugin-conventions","version":"4.2.3","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"140fa784b0cef01317e39e456bc0e5e980b796e0","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.3.tgz","fileCount":58,"integrity":"sha512-pO6HLmgANJhWm7A91Dn7VFkvH4hv673TV5d170ZU6s5d+VGsXPAyrjw/rUOCZXy4BntkGJos1HVOFKu5Zitusw==","signatures":[{"sig":"MEQCIBfaV9DmjimTzO6xBgNrYMMzcBDi3rscReSt/mXZMZGSAiA/n44YyrwcNRUFSsGIMlfd9fknCET/7J8KJvEgDn8yog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247017},"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"},"./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","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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.3_1785684556271_0.8451454926070421","host":"s3://npm-registry-packages-npm-production"}},"4.2.4":{"name":"eslint-plugin-conventions","version":"4.2.4","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"fb445c5c9cea9a37b8b0da7b9070838ec7672099","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.4.tgz","fileCount":23,"integrity":"sha512-lOjQ8OiQ1Rvy3eX/UARh90K53TkQDWJUismGWgNqDg3TXfr4s/fb9YmisUbBtq5YISgfVxZJnP5m1mYjcAlQnw==","signatures":[{"sig":"MEUCIQD7aAR9SqeOQy9oRbJlD1tLBCko+ujdEW63yWIp3NSjeAIgEfJGve+ENqOUIC/g6/q79Qigsq5+uva/EDZbBMXI8DA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119019},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.4_1785743814595_0.12494811256521343","host":"s3://npm-registry-packages-npm-production"}},"4.2.5":{"name":"eslint-plugin-conventions","version":"4.2.5","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1adbf7daba6a97084d9d12213917cfa25157cc2f","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.5.tgz","fileCount":23,"integrity":"sha512-988nXEFV4zEsBp2N3wKCF3iuuKwNltwCjWDLkpTtCYDoBxDqAyygl9uEh5Mn0f/u4+X9NDz0mQG0WDkDScMoRQ==","signatures":[{"sig":"MEYCIQChLSkA9gkylgD03GggDE7HuGRcqMceaTrB43mXUaCxNQIhANWc3sYEy98qaz+6rIVMTov2ciC4vsrik22ca+DgXR2e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119174},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.5_1785889376988_0.16510121337893247","host":"s3://npm-registry-packages-npm-production"}},"4.2.6":{"name":"eslint-plugin-conventions","version":"4.2.6","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.6","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"31949726c2766d6881ac9c71ec8d08450a7857dd","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.6.tgz","fileCount":23,"integrity":"sha512-frQ1HqGn5wy71kqZ2jADw4h+YB3YG8zp7yn4b95hkje5CCCEP+ldpD0Gqh2slHMBDHy+CRDSbZ6EhXsdA2Rlhw==","signatures":[{"sig":"MEUCIHki8a9zLlLNKk5Y1cNX9nwnsgLurnjEeiZQ9rY9sRsQAiEA+fH76Y9KZ9LoDUpGVSYpnHrpTUCs5+7/YTtdSRHc6Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":118560},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.6_1785915168949_0.27480338432107243","host":"s3://npm-registry-packages-npm-production"}},"4.2.7":{"name":"eslint-plugin-conventions","version":"4.2.7","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.7","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"c4f4b1c30a201f75e7cf74af69af8eedc45024fb","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.7.tgz","fileCount":23,"integrity":"sha512-YJJyA7u/rJjx7/KOVewOXZJN3frrngnhOsRDlL3T2CdGuAYDxjfQ5Lj4QI1ztb9iiYtOvhS/OwNmRTdlSYauQg==","signatures":[{"sig":"MEQCIBqjPPjA9ksvQzYo5PqMEGDPtxpEPhdGax2TFzUxpATpAiBgeDzgGpswz3hesIQ1P+7S601MV8oao3SpFwa6KRtULA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78777},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.7_1785984723376_0.7972210781521574","host":"s3://npm-registry-packages-npm-production"}},"4.2.8":{"name":"eslint-plugin-conventions","version":"4.2.8","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.8","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"b8f2819c56f52a21bdfb6f6084765266a449f2d6","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.8.tgz","fileCount":23,"integrity":"sha512-hXZ+gSa8pHJjn1V8hcUL9VvQXu77Anzi7kO4lUuxwS0DOekoAOFxhjehKVDkffc4DOkmKQWI2Zm0Dzsqq8Me+A==","signatures":[{"sig":"MEYCIQCQp2aVRJ+kkSSMgPz1Y+qRfzj+ihL8ApfFt2T3VQer1AIhANu7/YMhmWXwOuzq96O8wmFa45vzr/zZqe2ynCmRYO8F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78739},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","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"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.8_1786318146574_0.2560358328358445","host":"s3://npm-registry-packages-npm-production"}},"4.2.9":{"name":"eslint-plugin-conventions","version":"4.2.9","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.9","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"ee3530c053a2d4bfe907b29a8e7843d39fdb397d","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.9.tgz","fileCount":23,"integrity":"sha512-UIZNvr+fzfNQx+WwkGUKaMThxcqdjvi1NGlJa0wSIX2fPAJjun7FEs+GXXYHksEaZTlVkmfEE/PSCx8mg5quqg==","signatures":[{"sig":"MEUCIBm6QnLrhiRwzOQx42rwd+wMk3xyEHyvkgxNaqzoFXSnAiEA5f7j/N9uwpTEo3EKq64y4iRZIWtV2/Oziry9nqJNa28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78844},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"e31d62620b7bf359342c3bd8183f3e6755e43d20","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.16.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@interlace/eslint-devkit":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.9_1786412976523_0.6918039295000413","host":"s3://npm-registry-packages-npm-production"}},"4.2.10":{"name":"eslint-plugin-conventions","version":"4.2.10","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.2.10","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3af98d07decb34f4aaf09111ce29fa57273d2f54","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.2.10.tgz","fileCount":23,"integrity":"sha512-cf5lqG5sew1iKDziC28jkWlXk8cwzYX4cbSHA47ezj9T9J7QqR5LmV/JFBVxAyZiOuPTrOW2t+O1fyv4Z4femA==","signatures":[{"sig":"MEUCIQDWq+cSZuOes5/2tSSrR785jJ+zbgTc5xYTwq7QKmrUdgIgEbb70Af4acSKZ9j4dVTg8WcNLD0bUzLSRDw0/fN5egA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.2.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81084},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"026fae615df5e242c37928b24ce618d17abf84d4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.2.10_1787341409315_0.4261789078813534","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"eslint-plugin-conventions","version":"4.3.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@4.3.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"6023a05ee6e6593b13dcd977c8272ee348bef70b","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-4.3.0.tgz","fileCount":23,"integrity":"sha512-DVdpR7dzdEZEzsdi60lX2aYHrasU7HazQ0anMl8vFqhrUmQmXdgkFv66zOvMgmANuvRgjEFIZJnMfdTTahqAfw==","signatures":[{"sig":"MEUCIDdjpPVq1zbae88U8sZCK/OXf/bkfx6CdgC8hd8Mqq+xAiEA2ZV44z+qQFr7jZtaRYgfb4nOB2aMjUwHp6z5Rh59ysQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@4.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83281},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"3d101b8c4bc0fc3d9a2e800391378d4b2492526c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_4.3.0_1787463519993_0.5342402279328773","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"eslint-plugin-conventions","version":"5.0.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.0.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"fa46b946c181eb68cd6b89665c0ef021f5e7a57b","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.0.0.tgz","fileCount":23,"integrity":"sha512-KHV4m4Q2bBAZbiY6qCnp7vmnnCbnoR+4ZVkaFKjv7Szl3jcorS3LBaxI/eNAqTTGIqhQ20oUjbH+uF3rhxF/NA==","signatures":[{"sig":"MEUCIQCsGyYFJUX/nn2UUVkXn49/GB1AhWnXjpni1R2tNxv5NQIgNODirY0055a3n/eA/hGXFfpEU+q7xLYcKKvv7C7WesY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84698},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.17.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.0.0_1787627347823_0.47360528502785093","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"eslint-plugin-conventions","version":"5.1.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.1.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"d0bfdf20f4630a58b6690408457196b084136508","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.1.0.tgz","fileCount":23,"integrity":"sha512-l4A3USgfnfaJVXddCFvl/C6gvfLVaijeRcGtUc9rkHzjRTvLL8Bj81QccNWiTm/4iasEqaVJjs5K59JCqgrjWA==","signatures":[{"sig":"MEYCIQD7dubb79k2mvyi4U44Bv9VpmgZiDWqZeQia+Nxs7+B5wIhAI1oKLGnyRxfl8xcpfU/bH4J73+nTSAU/AIXY6RUPbRd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86760},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.17.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.1.0_1788229786539_0.9157379347506938","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"eslint-plugin-conventions","version":"5.2.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.2.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"9eadc5f016f2eb874fe171d6d2dd4cdf362586de","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.2.0.tgz","fileCount":23,"integrity":"sha512-cifnmkvo9SqI8kqVYmWyTXT7ohm04dimViYjnwCC0K17ODCGWQLibILcmLeUMdLgfB+Xwn75k7B9qLqxpCOHdA==","signatures":[{"sig":"MEUCIH6E4NvBeXxG3IhZjXUGn5IZZwPfZVOv2YYHo6ebiNGtAiEAvZuKgKRyAdMeAjeXG+om2hyeZTxwKHvOZmAbHPQgueo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88349},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.2.0_1788244048094_0.7684534368387321","host":"s3://npm-registry-packages-npm-production"}},"5.2.1":{"name":"eslint-plugin-conventions","version":"5.2.1","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.2.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a26c6e88a267c040774c1d94b0ae78d75a46e98a","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.2.1.tgz","fileCount":23,"integrity":"sha512-6glP6ovUTO56ZwMCcm5C+ZKX8ag3FkDglz2wx4wKWPR8WhPTPJtpTG3eH3MbPYKsxGDzvtrMdoWtW0siD15HVQ==","signatures":[{"sig":"MEUCIDAN+dwt9gjlx0x6C+03ikZCTm0hA/mMkgJhbhGfyUiQAiEAzeMBtRUWps9fIBuRvk9kkHVy1Oq67sOtKDjTZ2EmgJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88542},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.18.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.2.1_1788266885626_0.12774336889505777","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"eslint-plugin-conventions","version":"5.3.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.3.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"df77d102f301b8d72e4edae255df97758ad751c6","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.3.0.tgz","fileCount":23,"integrity":"sha512-bX2RTrNhDpCbT9yT9g1nlKHslQfeSlbRW/tseUN1jmHs17W8bJwy9dp1Lqsvz1xsERHDw/MLAnjazw/zIQHH6g==","signatures":[{"sig":"MEUCIQDWT7YhGGNKQyfbW9QRCpEcTHS5MRuiT/gToWymlpwHaQIgRTnLiMTsMdyuWZNlbtrd+aF9sW0W+ZMBV+7RJkXeMe4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88053},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.17.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@interlace/eslint-devkit":"^1.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.3.0_1788385311372_0.13587884500323333","host":"s3://npm-registry-packages-npm-production"}},"5.3.1":{"name":"eslint-plugin-conventions","version":"5.3.1","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.3.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"60a0f7c592757c69c804c6161083eb9aa29c0668","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.3.1.tgz","fileCount":23,"integrity":"sha512-rj81Nq4lHdnIlCXpe0rCRf/pZRtWLzY0LSBjpr2oH/8gPXdOaWFM3Dvg0ZfGymhVvDozFxHgm0IS9+fXndsJKQ==","signatures":[{"sig":"MEUCIGWU+mfSIq6hZG3PmuW1hUww39Ds0JaiOT01q/LX/zHXAiEAtUP/fkyqsLY62a8Cbb+OEAgWTpAQsscNBggBIHsI4xw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88128},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.3.1_1788409538858_0.35907254776501873","host":"s3://npm-registry-packages-npm-production"}},"5.3.2":{"name":"eslint-plugin-conventions","version":"5.3.2","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.3.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a86fbe7b399aee050bff8d29042cef04f58a5e2b","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.3.2.tgz","fileCount":23,"integrity":"sha512-GVKeXOxmfdH6331+C98jaBy/oXJ99e0Qjm+/UWy9zVIf2MAl2jgbz8HZrd6Pbq3/PxwH/j9dspb//tGZmHG1nQ==","signatures":[{"sig":"MEQCIBYxPOH3TDKRVHqPIR89Z95TBslvyfnwfs9v3DYtfQiCAiAZb4YHL5WAXc7/Z3b9DcSxKypczUdLQY+HJ/E+BLu2Zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88350},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.3.2_1788547899112_0.4318774490994408","host":"s3://npm-registry-packages-npm-production"}},"5.3.3":{"name":"eslint-plugin-conventions","version":"5.3.3","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.3.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"f56fc28cd800e16a317a44491b1979f7be5a320e","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.3.3.tgz","fileCount":23,"integrity":"sha512-zu1jfP1xfsdK8SAfsaEbTfEj7YK2HXHQuUCS1K67b++DGD00AZDMbld5uNrvnPyHEj1q1uuMOcDxZbZAkZziCg==","signatures":[{"sig":"MEUCIQD87J+AwsqcWwF5JwsemnP8H+FXuPzJvjelUPcYHaAMpwIgRyGItEJNkR0+WJXYWx/vMgWbqcCKRJpuv1sUxiMLF3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88324},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.3.3_1788704874072_0.9507532543834742","host":"s3://npm-registry-packages-npm-production"}},"5.3.4":{"name":"eslint-plugin-conventions","version":"5.3.4","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.3.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"d28ce875c1664965ff239abdc82574a9bbdafc6a","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.3.4.tgz","fileCount":23,"integrity":"sha512-bz6cbDMJxBVPvX/QNysw+HaT1tg/005ZXAzciLuj5GJVGgN+p9FtuTK8PJkvl2MA9I4e4+4cqLdckfKIl0FtIw==","signatures":[{"sig":"MEUCIQDxToxJUgX1INE4cfRP8ThVHNmfnQDhqpfz11R7B6kiiAIgGmWLnBG/yHZveUgBecZBpP2mbJ7Nyu5cMcxKshou0Ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88431},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"3c43c705607fef2358f423a6b23223ac8ec91333","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.3.4_1788841664148_0.35151310351030807","host":"s3://npm-registry-packages-npm-production"}},"5.3.5":{"name":"eslint-plugin-conventions","version":"5.3.5","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@5.3.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3e873220bdf8a2f9519a7fa7da3a2e0c5ea433f7","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-5.3.5.tgz","fileCount":23,"integrity":"sha512-e38Aw7fVIYDXfHDZaROWFTlL4vYXjaKy7Vlid4V++C8g5RVeddX1nKAmtaf/fiDVnqcK+XDc5ohTErC60vMHgw==","signatures":[{"sig":"MEQCICKd3bbZHBaOUDiQtv4neZIG3VGeFOBskBfrRPWXulmOAiAOp4xmBCeBLcow4YrsvhTwLv6H45CfZP0MEuV0roRodQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@5.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88201},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"bef6469acad28bfbb6e6495f314002f29d84fab9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_5.3.5_1788999503907_0.8562575477055296","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"eslint-plugin-conventions","version":"6.0.0","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a518c39dd3e38edace7bfd79f8a6e7aa731a3886","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.0.tgz","fileCount":23,"integrity":"sha512-O/ZNe6+CZmSuFyPri1RHCA0rF5Epvo9vAu+2oFPoImcWSWXa/ISZdyLn/wbepqF/UEW7AFQXt/KyX8CN7duryQ==","signatures":[{"sig":"MEUCIHiuWdeXd6RceiFNMwOR8z3K2jBC7I94MNv5bSpWQ41VAiEA69j7PbihFyK7T+J4w517USxMnl9U8Vp9CspMPPXODg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88361},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.0_1789055587268_0.30973895920155026","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"eslint-plugin-conventions","version":"6.0.1","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"366c1715b20a70357579a0199b0222c80257a26b","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.1.tgz","fileCount":23,"integrity":"sha512-1IqhRtkB5baHmauVxBZXFxtFNW1tdrHwS9jvxPF47kbHfYwc8D3qT8F7cw89nO/75HtiZMnLdQ7uiwk9VegJyw==","signatures":[{"sig":"MEYCIQDjJS4TBtKoyX8o3gkE0RSGsK6bULdKr8Jf7p9njuRd6wIhAKkvBBBzCu6P6OpwMF1dGDV3/KGx4msvN3U5Hxx6CEan","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDDXfv52reIkFpyq1G7eGADHZDyy578LOVbfiOSOnInZwIhAOSIIO6ZRP9v+BMb5n/SuUtcMT+1FgnP4Yz4H2UvIUvA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88654},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"8408e9453cea705627284c5c3077afcc01b92a04","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.1_1789329064164_0.8593169171257393","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"eslint-plugin-conventions","version":"6.0.2","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"4064cc3bed29946e544bf5cf5c677e3aca6447fd","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.2.tgz","fileCount":23,"integrity":"sha512-JewyhfKd54PVwuTRI9EozmKxUcI+Djdf69bKor0G7D1hDfEzd5iTz5gF1DsEx8vtHkRAX1KdxbPD1BAtuzMw9g==","signatures":[{"sig":"MEUCIQD/Hg6qMnp2vBSBeY9VKmsWGQQXdNxoe82ffZ9Ke9fX1gIgK2vO8jnH4cLFAg08676knYS6IH84g/jGBYYGeENTzZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDO4M1Q2ENNeOLIt5rGT0yUBDnseaVm5pB1kYiYhGzpQQIhAJezhMyCwY1ghL0jddT+qaWTvRB6FBaCeGR+m4r/nHx6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88249},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.2_1789455796220_0.47437123702703676","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"eslint-plugin-conventions","version":"6.0.3","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3e24016907e60b83099a107dfc07897885a78f9c","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.3.tgz","fileCount":23,"integrity":"sha512-YJ4MDYbgq0rtemAKt/ezl0hNf8clKuTfoE7w5V8LoSvDUZtS1aMlX1l1pXtgStHQUAnQ6DiX5mYIKPEKRmVQQA==","signatures":[{"sig":"MEUCIHV9BYJpl1R/W2JW31+BwNFlAk3sKngJ0s71N4HLpcTnAiEAwFfHeTC/+82I6o9hm4rgzT5YHeyX6mOl/vezO4Xa/lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDRXFLx1RglekGcMt77YFxqvghwtrESSl3V07/47qkOxgIhAK+3PbcoGqn3OTBGODy4KYbbc7YigbPZRGHF9lpdtMe/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89075},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.3_1789966153356_0.14271938702765663","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"name":"eslint-plugin-conventions","version":"6.0.4","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1621f2f5eec81600be5be68b5e2efab9db870096","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.4.tgz","fileCount":23,"integrity":"sha512-8MOX6yf1kLe34rNzeffRa7aFfz9gC+saaEfoTHZ0Zcrl3D/jSyYbfxO774rtW0UFCKD6AhBHit+cTN7B6CbS2Q==","signatures":[{"sig":"MEYCIQDjB3j+qm0AegrzMpc8Xp/s3Er55XPhgb+qp/wDosWxtAIhAN621QOYQoudioMKRCpiLchYXTZOeyZQOxEaxftfIyLP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDOrWF0Tr4OAUsSQZB/5D5HPi5pARVRPrrQecsj+FEZsAIgc5d5EvZ2Ndq3f9VhLiGBWH69ieluOOr9k7vujnRuCXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89130},"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"},"./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:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.4_1790113069209_0.5760811448745307","host":"s3://npm-registry-packages-npm-production"}},"6.0.5":{"name":"eslint-plugin-conventions","version":"6.0.5","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"2087916a1e4bea775c337599792bf7cfcd6b8a6e","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.5.tgz","fileCount":23,"integrity":"sha512-PY+efr/u4yjIG+iRfKjXZozj6hQO1zxKoCFcUsmKFRrW6kfV9HUONBcAmXeiqK/1sgFi0C8ZF+CRku3uOc1eYg==","signatures":[{"sig":"MEUCIHzx415brxfZR89AUbze4Yd6wbtHQspc2x+HjfDMm8WPAiEA9BZ+7DVD4oSIMPEzaSrSml86NVl3T+8lmtbx9gW95AM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC558dfZS3nfURwGAxllMeDbV9eERStGZna26frWFmpWgIgVA6Q6C4qsDFBPsBdtDs4GPe6SiTdSE5ZGBBG6FxrMZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89214},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"3f156ced4fe0c19d6481ad99cac8a9322949cad7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.5_1790116703358_0.7104391938114709","host":"s3://npm-registry-packages-npm-production"}},"6.0.6":{"name":"eslint-plugin-conventions","version":"6.0.6","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.6","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"4336f9719ddebc292c170ef158699095f9d33fe1","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.6.tgz","fileCount":23,"integrity":"sha512-03bk5pTa5qJoeOwPHNUVIpkHJmPFxSTzl41kgevwMbIhG85ZubWzrn1M0/VzTUCdD6p4qg01EoKu/ZsgN6ZAKw==","signatures":[{"sig":"MEUCIQCQAVi7N5P6Et7D92DVti58pjMmDavDZ7wrcUv4K0hBjQIgc1NH9fTfzJPqS3gHHl3kT0+cL5NelHcduhI1YS0LzP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDCe/b89841TvNk09YzNoVqKKQTxukYpjJTyQXbnIZQxAIge4kJDSrF/Aa6obQraFmUupUywaw0bVozIwemLkiYDnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89538},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"7c72847e6edbf1288add32aa5b47adafcc447bd3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@interlace/eslint-devkit":"^1.19.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.6_1790127178309_0.22328923923608723","host":"s3://npm-registry-packages-npm-production"}},"6.0.7":{"name":"eslint-plugin-conventions","version":"6.0.7","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"eslint-plugin-conventions@6.0.7","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"e4d17ab87d36792a3db9586e56416c81c178f5d7","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.7.tgz","fileCount":23,"integrity":"sha512-/EwEOx/HbwfYW7fPCmnt8zC+zaA/XoiclYot/5vcgmohcaF7FeGQRI9mKBPi1hbQq0EyFk/ldXi8AgcmblCX/w==","signatures":[{"sig":"MEUCIQCOytnn9Qyp6QKwtWcH+H6fjAe18HyqZdpZg23We+PBHwIgP+R1eH1RjCT/3reGauaEU/HMeh0rqx7Le4hK1tGBr7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC/x4YeItoR8hwMTCh84ISV0XJCr/6RHWlggwyKYUQ90AiEAg08ZvSplY9AF/JCLtkbny+Zo9M+gOfAJevI2UHwuWJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90239},"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"},"./oxlint":{"types":"./src/oxlint.d.ts","default":"./src/oxlint.js"}},"funding":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"github"},"gitHead":"f4a20489658e8e23223cc79700e33aa8ce52b5cc","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@interlace/eslint-devkit":"^1.19.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-conventions_6.0.7_1790144453302_0.506038966396168","host":"s3://npm-registry-packages-npm-production"}},"6.0.8":{"_id":"eslint-plugin-conventions@6.0.8","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"7d4ef923c5489acf3d776ac2b46c1cf1bfbbef4f","tarball":"https://registry.npmjs.org/eslint-plugin-conventions/-/eslint-plugin-conventions-6.0.8.tgz","fileCount":23,"integrity":"sha512-ABHsD9aQGTsco5xbuV+creagdrKf+9Xd+jlScoEi32PIgBWLcgtsJOBLGTs6bJU6RNayoHtFYafbxXX1V78jJg==","signatures":[{"sig":"MEQCIBsZsiiM9tzOFaYn8jSXGk5tTXzbfOEMhzCiXmUivPjpAiBdKG26VwAC9F3gRboLaqhHXfzEw+56+hPgGsPeGD5dtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA4vrVX34mfyg3C2w3qGm/XeLUsIPVaRed4WwkB3YMjfAiAOvXwTIWSAQkUbjoiaY/y24/njVtUmyktCuP9ivAnecA=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-conventions@6.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89616},"main":"./src/index.js","name":"eslint-plugin-conventions","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"},"./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":"6.0.8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:538a38ce-f12b-4727-b831-384bfceedffb"}},"homepage":"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"interlace":{"surface":{"kind":"language","note":"Project conventions over plain JS/TS. No external SDK is being analysed."}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"_npmVersion":"11.19.0","description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","directories":{},"maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@interlace/eslint-devkit":"^1.19.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-conventions_6.0.8_1790298751410_0.7202844072839991"}}},"time":{"created":"2026-02-02T08:10:22.936Z","modified":"2026-09-25T01:12:31.850Z","1.0.0":"2024-01-29T19:14:37.783Z","4.0.0":"2026-02-02T08:10:23.191Z","4.0.1":"2026-02-02T08:30:00.370Z","4.0.2":"2026-02-02T09:22:30.881Z","4.0.3":"2026-02-06T07:24:06.746Z","4.0.4":"2026-02-08T01:39:45.182Z","4.0.5":"2026-02-08T01:59:23.344Z","4.0.7":"2026-02-09T07:21:53.026Z","4.1.0":"2026-06-21T20:29:54.808Z","4.2.0":"2026-07-17T20:21:46.158Z","4.2.1":"2026-07-19T17:26:45.148Z","4.2.2":"2026-07-31T06:16:29.761Z","4.2.3":"2026-08-02T15:29:16.397Z","4.2.4":"2026-08-03T07:56:54.730Z","4.2.5":"2026-08-05T00:22:57.204Z","4.2.6":"2026-08-05T07:32:49.128Z","4.2.7":"2026-08-06T02:52:03.541Z","4.2.8":"2026-08-09T23:29:06.751Z","4.2.9":"2026-08-11T01:49:36.681Z","4.2.10":"2026-08-21T19:43:29.457Z","4.3.0":"2026-08-23T05:38:40.124Z","5.0.0":"2026-08-25T03:09:08.003Z","5.1.0":"2026-09-01T02:29:46.697Z","5.2.0":"2026-09-01T06:27:28.243Z","5.2.1":"2026-09-01T12:48:05.763Z","5.3.0":"2026-09-02T21:41:51.543Z","5.3.1":"2026-09-03T04:25:38.984Z","5.3.2":"2026-09-04T18:51:39.264Z","5.3.3":"2026-09-06T14:27:54.215Z","5.3.4":"2026-09-08T04:27:44.271Z","5.3.5":"2026-09-10T00:18:24.052Z","6.0.0":"2026-09-10T15:53:07.406Z","6.0.1":"2026-09-13T19:51:04.243Z","6.0.2":"2026-09-15T07:03:16.297Z","6.0.3":"2026-09-21T04:49:13.436Z","6.0.4":"2026-09-22T21:37:49.301Z","6.0.5":"2026-09-22T22:38:23.447Z","6.0.6":"2026-09-23T01:32:58.403Z","6.0.7":"2026-09-23T06:20:53.442Z","6.0.8":"2026-09-25T01:12:31.510Z"},"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-conventions?utm_source=npm&utm_medium=referral&utm_campaign=eslint-plugin-conventions","keywords":["eslint","eslintplugin","eslint-plugin","static-analysis","linting","code-quality","interlace-quality","conventions","code-style","naming-conventions","filename-case","magic-numbers","todo-comments","deprecation","clean-code","consistency","llm-optimized","ai-assistant","typescript"],"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-plugin-conventions"},"description":"ESLint plugin for team code conventions — enforces filename case, magic-number bans, commented-out code, expiring TODOs, and deprecated-API usage.","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/docs/quality/plugin-conventions?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions\" 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://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  Project conventions: naming, file structure, and code style consistency.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/eslint-plugin-conventions\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/eslint-plugin-conventions.svg\" alt=\"NPM Version\" /></a>\n  <a href=\"https://www.npmjs.com/package/eslint-plugin-conventions\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/eslint-plugin-conventions.svg\" alt=\"NPM Downloads\" /></a>\n  <a href=\"https://packagephobia.com/result?p=eslint-plugin-conventions\" target=\"_blank\"><img src=\"https://badgen.net/packagephobia/install/eslint-plugin-conventions\" 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-conventions\" target=\"_blank\"><img src=\"https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?component=eslint-plugin-conventions\" 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 Project conventions: naming, file structure, and code style consistency.\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-conventions?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions), visit [eslint.interlace.tools](https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions). 📚\n\n```bash\nnpm install eslint-plugin-conventions --save-dev\n```\n\n## ⚙️ Configuration Presets\n| Preset        | Description                         |\n| :------------ | :---------------------------------- |\n| `recommended` | Balanced conventions for most teams |\n\n---\n\n## 🏢 Usage Example\n```js\n// eslint.config.js\nimport conventions from 'eslint-plugin-conventions';\n\nexport default [conventions.configs.recommended];\n```\n\n---\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| [analytics-event-naming](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/analytics-event-naming?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Analytics event names (track/capture) must follow ANALYTICS_PHILOSOPHY.md principle 4: lowercase snake_case… | 🟢 | 💼 |  |  |  |  |\n| [consistent-existence-index-check](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/consistent-existence-index-check?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Enforce consistent style for checking if an element exists in an array | 🟢 |  |  |  | 💡 |  |\n| [expiring-todo-comments](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/expiring-todo-comments?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Add expiration conditions to TODO comments to prevent forgotten tasks. This rule is part of eslint-plugin-c… | 🟢 |  | ⚠️ |  | 💡 |  |\n| [filename-case](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/filename-case?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Enforce filename case conventions for consistency across your codebase | 🟢 |  |  |  | 💡 |  |\n| [no-commented-code](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/no-commented-code?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | ESLint Rule: no-commented-code with LLM-optimized suggestions and auto-fix capabilities. | 🟢 |  | ⚠️ |  | 💡 |  |\n| [no-console-spaces](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/no-console-spaces?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Disallow leading/trailing whitespace in console arguments. This rule is part of eslint-plugin-conventions. | 🟢 |  |  |  | 💡 |  |\n| [no-deprecated-api](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/no-deprecated-api?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) | CWE-1078 |  |  | Prevent usage of deprecated APIs with migration context and timeline. This rule is part of eslint-plugin-co… | 🟢 |  | ⚠️ |  | 💡 |  |\n| [no-json-schema-tags](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/no-json-schema-tags?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Disallow JSON Schema keywords (e.g. @minimum, @maximum, @pattern, @format) used as JSDoc tags. | 🟢 |  |  |  | 💡 |  |\n| [no-magic-numbers](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/no-magic-numbers?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Disallow magic numbers (numeric literals without a named constant) | 🟢 |  |  |  | 💡 |  |\n| [no-raw-cross-property-href](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/no-raw-cross-property-href?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Forbid hand-written cross-property hrefs; use buildUtmHref() from lib/utm.ts | 🟢 | 💼 |  |  |  |  |\n| [prefer-code-point](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/prefer-code-point?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Prefer String.codePointAt() over String.charCodeAt(). This rule is part of eslint-plugin-conventions. | 🟢 |  |  |  | 💡 |  |\n| [prefer-dependency-version-strategy](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/prefer-dependency-version-strategy?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Enforce consistent version strategy (caret ^, tilde ~, exact, range, or any) for package.json dependencies.… | 🟢 |  |  |  | 💡 |  |\n| [prefer-dom-node-text-content](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/prefer-dom-node-text-content?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Prefer textContent over innerText. This rule is part of eslint-plugin-conventions. | 🟢 |  |  |  | 💡 |  |\n| [require-data-testid](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/require-data-testid?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Require stable data-testid attributes on interactive elements for end-to-end test reliability | 🟢 |  |  |  | 💡 |  |\n| [utm-taxonomy](https://eslint.interlace.tools/docs/quality/plugin-conventions/rules/utm-taxonomy?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions) |  |  |  | Validate utm_source and utm_medium values against the fixed taxonomy in UTM_PHILOSOPHY.md | 🟢 | 💼 |  |  |  |  |\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-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-react-features`](https://www.npmjs.com/package/eslint-plugin-react-features) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-features.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-features) | React best practices and optimization. |\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-conventions?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions\"><img src=\"https://eslint.interlace.tools/images/og-conventions.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-conventions?utm_source=github&utm_medium=referral&utm_campaign=eslint-plugin-conventions\" 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"}