{"_id":"@interlace/eslint-devkit","_rev":"44-fe031fcf81d385bf19b21864c63fa4f3","name":"@interlace/eslint-devkit","dist-tags":{"latest":"1.19.8"},"versions":{"1.0.0":{"name":"@interlace/eslint-devkit","version":"1.0.0","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.0.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"9a717e2cf50a10efe9c4ae360f701b8d65e23b14","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.0.0.tgz","fileCount":77,"integrity":"sha512-9jmJksk4sVTEKTkK/B8IZYr0t846BNVeWiYiksZxHrUfNY/FgVo5fUHMBhAgBq4DgNKYl8iuUmt8IdDsdFfAvA==","signatures":[{"sig":"MEUCIQCB547BvGhcEewAfsLz1yWL7avAlyLMMgGNWQoBSsY4GgIgKXZTDt47GZMgajLNUtCCRpfUrAbBb/xSSFXo7zoU5pI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370256},"main":"./src/index.js","type":"commonjs","_from":"file:interlace-eslint-devkit-1.0.0.tgz","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"_resolved":"/private/var/folders/sx/x7lz_ynn1rl343rtf7wq7vmc0000gp/T/5b0d46cfbddc11c3f5755952d82bdf3a/interlace-eslint-devkit-1.0.0.tgz","_integrity":"sha512-9jmJksk4sVTEKTkK/B8IZYr0t846BNVeWiYiksZxHrUfNY/FgVo5fUHMBhAgBq4DgNKYl8iuUmt8IdDsdFfAvA==","repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"10.8.2","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.4","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"typescript":">=4.0.0","get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3","@typescript-eslint/utils":"^8.46.2"},"optionalDependencies":{"get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3"},"peerDependenciesMeta":{"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.0.0_1765175763596_0.22473559394251885","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@interlace/eslint-devkit","version":"1.2.0","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.2.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"4c01496db7b6e0b07107f001548d042a04d9ed86","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.2.0.tgz","fileCount":77,"integrity":"sha512-6Vb8g/cjFubfSTrubJ04HlpAqRzgnCMgLlqi05pLJijfPQCEZgGUhTmKr5L6FT8rw9FUuH5BdpHto9nDOQagow==","signatures":[{"sig":"MEUCIBzzw7IpFsNIcGMpjQ8ktx9NYx/9IR2gSUZgZh3mKXxpAiEAoy0gKhDnfIXNtXhCHfLCRMEfLw9yLgA6QaCkST8Boc8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370256},"main":"./src/index.js","type":"commonjs","_from":"file:interlace-eslint-devkit-1.2.0.tgz","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"_resolved":"/private/var/folders/sx/x7lz_ynn1rl343rtf7wq7vmc0000gp/T/f4ba8b17f9cac3c4d16c0a9206a3f2ae/interlace-eslint-devkit-1.2.0.tgz","_integrity":"sha512-6Vb8g/cjFubfSTrubJ04HlpAqRzgnCMgLlqi05pLJijfPQCEZgGUhTmKr5L6FT8rw9FUuH5BdpHto9nDOQagow==","repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"10.8.2","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.4","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"typescript":">=4.0.0","get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3","@typescript-eslint/utils":"^8.46.2"},"optionalDependencies":{"get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3"},"peerDependenciesMeta":{"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.2.0_1765520791884_0.3338909682897184","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@interlace/eslint-devkit","version":"1.2.1","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.2.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"7bfaac3d8b7fcc87af84fdeaf4e6d0a9f9a91d53","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.2.1.tgz","fileCount":77,"integrity":"sha512-BdbJImen5IfSUcUu+1x9C66o8JuPtc0YJY3Yfj48PJvA/d8DpD7wmTQ/JOrxTxR1hrHjl1gb0C2aakY9NMmvpw==","signatures":[{"sig":"MEUCIEtKGJrYhFyHQlisoN+uMuV5fkPmnZU2eFZQpFosR3l7AiEAj+5rEYUZyq5MfvrwVotNhjPNfRxK8bk24nZ2qTcf9M4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380359},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"d2c882a33fe61a73213c7a1251086eade3c114df","_npmUser":{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"10.8.2","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"20.19.5","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.4","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"typescript":">=4.0.0","get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3","@typescript-eslint/utils":"^8.46.2"},"optionalDependencies":{"get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3"},"peerDependenciesMeta":{"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.2.1_1765665471614_0.30479708185551324","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@interlace/eslint-devkit","version":"1.3.0","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.3.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"f74359836c047f21afb32a183d3cac41be6ea1ed","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.3.0.tgz","fileCount":57,"integrity":"sha512-zuCVPvIiZjti9vCZPEN5mvCKJxi7/gliG6VZU9LUp1VJxZJ3XXMBSei/CkIGoQr2baHi61KoABnjsp65nX06yg==","signatures":[{"sig":"MEUCIQD45lrF8/03bR2xzA5NufB+vMbukYnA+Hq7C8MM6fbtawIgOkysp+VeFeDa5pxY/3Eou1fuVGZKvdLo6jFw3f6VSFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301558},"main":"./src/index.js","type":"commonjs","_from":"file:interlace-eslint-devkit-1.3.0.tgz","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"_resolved":"/tmp/6ab4544ed873b8aa00055b52749adcbf/interlace-eslint-devkit-1.3.0.tgz","_integrity":"sha512-zuCVPvIiZjti9vCZPEN5mvCKJxi7/gliG6VZU9LUp1VJxZJ3XXMBSei/CkIGoQr2baHi61KoABnjsp65nX06yg==","repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.7.0","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"typescript":">=4.0.0","get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3","@typescript-eslint/utils":"^8.46.2"},"optionalDependencies":{"get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3"},"peerDependenciesMeta":{"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.3.0_1768129281895_0.9858229212054628","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@interlace/eslint-devkit","version":"1.3.1","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.3.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"39d2da199588c530bf8f2f5f3844e53cffaecda0","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.3.1.tgz","fileCount":57,"integrity":"sha512-I/9h5xuSqBJBs3EEoKibXBBOvL3yvtrXufiPy5kZr5iS5s4TZV0whX7KWyTmR5S5nnTJlmdcsUgVs0W4pzJEIw==","signatures":[{"sig":"MEYCIQD+7UR1kkmRkvtxKottxKCxWO24jN0BSkJzJTOWSrCMJQIhAJ1OkWjH+2aiyUD1WQTikYS3dQrNBKf/ay6725sowVka","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301558},"main":"./src/index.js","type":"commonjs","_from":"file:interlace-eslint-devkit-1.3.1.tgz","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"_resolved":"/tmp/788098fcf143d4c50c9ca4b3be3f09b0/interlace-eslint-devkit-1.3.1.tgz","_integrity":"sha512-I/9h5xuSqBJBs3EEoKibXBBOvL3yvtrXufiPy5kZr5iS5s4TZV0whX7KWyTmR5S5nnTJlmdcsUgVs0W4pzJEIw==","repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.7.0","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"22.21.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"typescript":">=4.0.0","get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3","@typescript-eslint/utils":"^8.46.2"},"optionalDependencies":{"get-tsconfig":"^4.13.0","enhanced-resolve":"^5.18.3"},"peerDependenciesMeta":{"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.3.1_1768186814814_0.9405018850340747","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@interlace/eslint-devkit","version":"1.3.2","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.3.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"77ef9bc32f3c743f2a199451c8da02ff6849f645","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.3.2.tgz","fileCount":56,"integrity":"sha512-+MzUEipy9BziyTd4BBFvQQWpumuUiMsRthFdTbz7PocLl+PiFbyJbVcpk23PbCUL1uaWpeKqLcKHc0eY3G6J2g==","signatures":[{"sig":"MEYCIQC5xPgmEDWhgADhWqosL8tDV4AP4GfQdX20mZ/o7LiJ7AIhAMdswY8vO9wtI1PzXjLLgDz1kRWcgFwV/f4NRxGshbJk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300103},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"0303a87ff4eec046d97bb5888a970e1774f80d60","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.9.0","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0"},"optionalDependencies":{},"peerDependenciesMeta":{"typescript":{"optional":true},"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.3.2_1770362379063_0.07949507315275461","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@interlace/eslint-devkit","version":"1.3.3","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.3.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"f2d2947bf574a0d26905091e6f7623d9abc31349","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.3.3.tgz","fileCount":56,"integrity":"sha512-qIE04LLFRQhgt8gbXUqIJn5hnu7xhhksNFc40SelYMCPWGbxgDq7C+sTc7uqHCYICyGi0qMrZBzbYB4w2kwY9A==","signatures":[{"sig":"MEQCICgyYHoh6pTQsMBDgUEjMa57F8U0Qo/vXZdj8g/GhdyWAiB4OKBol6Ml3P8H/kLC1LV7jdClsU8Tm1qfwsl5H1asgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300103},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"2108f2d56a3c70cf302aa27fe5ee5a8faf66dca8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.9.0","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0"},"optionalDependencies":{},"peerDependenciesMeta":{"typescript":{"optional":true},"get-tsconfig":{"optional":true},"enhanced-resolve":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.3.3_1770514495328_0.6209023979794979","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@interlace/eslint-devkit","version":"1.4.0","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.4.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a7a2061416e6e2258df55fbfe5f235966b47134e","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.4.0.tgz","fileCount":63,"integrity":"sha512-CQHxZNG+qTXjIoSBiSJxquGxjo+jK0UvPdKd1Sn4+zy3pbYUwL/UJYRRk+hOfB8xQYjIB+Kn7qXJmqK4PUuYaA==","signatures":[{"sig":"MEUCIQCcd2AIdMv0lfFWpo4uehHJZFQ8nFNTK3TDMjvM0xDPHgIgFZ9ILDvisiWTC2djMXEpj+aLk8lSCQGjZjbvnAGPJjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":337248},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"e43f57627bde6783b152ee5dc1637514f0192505","scripts":{"test":"vitest run","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.14.1","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"24.13.0","dependencies":{"oxc-resolver":"^11.19.1","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"gpt-tokenizer":"^3.4.0","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.4.0_1778489196234_0.9689676700013699","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@interlace/eslint-devkit","version":"1.4.1","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.4.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"13fc770612d6c65309e448a82c6db57472a27b5e","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.4.1.tgz","fileCount":63,"integrity":"sha512-I83tivnYkWmCAb8WK8gjEnzb8fQRlDhIRr/6cdLY0u12lfhgNv/iKsf+Ggsl73AydP8AipTlUY/+BN/LmQ6FLg==","signatures":[{"sig":"MEQCIE0Z8zrXIowh1EWZQjXrfkQfvlSADMYWXoruhieFb4UeAiBIxY8DIudB3LIVrAnJSenXZXBZVvrD5q1z39WcPvCeZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":347329},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"1edae719f71be28f9943be84784c60a42addd366","scripts":{"test":"vitest run","build":"tsx ../../scripts/build-package.ts","typecheck":"tsc -p tsconfig.lib.json --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"24.13.0","dependencies":{"oxc-resolver":"^11.20.0","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"gpt-tokenizer":"^3.4.0","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.4.1_1782071274621_0.4930889464599326","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@interlace/eslint-devkit","version":"1.4.2","keywords":["eslint","eslint-devkit","eslint-toolkit","typescript","utilities","ast","type-checking","plugin-development","llm-optimized","ai-assistant","auto-fix","sarif","owasp","cwe","security"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.4.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"8445d178c3500549f683cb94965d81c63c12325e","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.4.2.tgz","fileCount":65,"integrity":"sha512-DDdksCkrr+wjfWtIPld8/yPbQY4vECJSs2VW2z4axsukovNCtCC+R5TT8q2dy5vP80mwawZXXPUwBoFa+GOZ8g==","signatures":[{"sig":"MEQCIFoxG6FEHHfz5D8sPiuiuYqd5VzvVmFeLWLVJf5YfWZAAiABeotUk54oI2mvl2fsky12EsXMtQ8b88zpdR3heGlQIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351026},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"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:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"TypeScript utilities for building LLM-optimized ESLint plugins - AST helpers, type utilities, security benchmarks, and SARIF output","directories":{},"_nodeVersion":"24.18.0","dependencies":{"oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"gpt-tokenizer":"^3.4.0","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.4.2_1785478594151_0.9959345061807094","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"@interlace/eslint-devkit","version":"1.4.3","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.4.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"7c0715a24349f51b1a64cb9ccfe41195e343bbf1","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.4.3.tgz","fileCount":65,"integrity":"sha512-OODu3+70anAcnbevs5IGgvngvsOJqu+20d2fHJWlOnrNx9Li6GHQzQSGXw5CcxiV3CmQsXI5ROZNyGEcGNbqfg==","signatures":[{"sig":"MEUCIA/UEADl3DMhXJyJrHE95MFhBZALTVYDGxi8TW/uhvIfAiEAwPKO8B0I2KdOMxrDUS7xcjrfvu2afgVYLGenNfJ2mcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354728},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"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:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"gpt-tokenizer":"^3.4.0","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.4.3_1785684550318_0.46235775146691815","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"@interlace/eslint-devkit","version":"1.4.4","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.4.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"097136ca7f90a937da93fb45206f52bfeb1823c2","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.4.4.tgz","fileCount":65,"integrity":"sha512-KQ3pkTtJzfvzJFbnlt2Lj/kwrqp9Yxhe347JCyMdQ+qcBL3FzyQc8CFkuL3ZqY0kPDUCkg/K7I7vJtrEDPLyLA==","signatures":[{"sig":"MEQCIFaBHZCJ9uCz69k5Ol50c1oCbLxdDObl8aQQatzsSmnpAiA+FAriIF5zx8caF5tmgy3NF/YovHccHuTD33AW+yf6ZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":355578},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"169296b2c17d44076d244e2c08e33ccb3e5d5afd","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:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"gpt-tokenizer":"^3.4.0","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.4.4_1785707149805_0.697927262383947","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@interlace/eslint-devkit","version":"1.5.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.5.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"17966a66b3c07a3fcfdacb22133662469cdcd7e8","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.5.0.tgz","fileCount":67,"integrity":"sha512-dXpBKQ0OHH6ILNVlT2uoKj4FvJ773WAJIPL724p2X67SNVgwM7OU+5cbOdjpvtMj8W/onSHXmMHnDFx5hzeirQ==","signatures":[{"sig":"MEUCIQCX+BBnAGdHXN6HlUGOZKyWHdyPwlCjamhNSal2C/z0TAIgEqV714RX0uhHKZzsTJIuT3yZqwswqAoc64q+yrEW58Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":368585},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"gitHead":"6a2d27db5a8b1547c5c7166d3ba9df5996fa7451","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:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"gpt-tokenizer":"^3.4.0","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.5.0_1785731565819_0.8104790072550925","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@interlace/eslint-devkit","version":"1.6.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.6.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"27d23ce3fd3914d00e80cd51d8463f16b6abe723","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.6.0.tgz","fileCount":67,"integrity":"sha512-a4n5eSap5UxnxrWK3Vtb+zKVmRyrDlRBrGMgE4cZOJYlAuW0e3PxaZeBFaQ8l25GVvjX2qTUEatf7taHIEfsvA==","signatures":[{"sig":"MEYCIQDOUdVv8kcIkSOoq6cADtc4BTk5Pf+FRhOu4Co9HzJc+AIhAL+f+3DHJePppq1E893hUwpQnyKDFQ0hAI7JXprNKysJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286723},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"fc3f880d002d415d9bd622c51f29cac00734e132","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:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0 || ^6.0.0","oxc-resolver":"^11.24.2","gpt-tokenizer":"^3.4.0","@typescript-eslint/types":"^8.46.2","@typescript-eslint/utils":"^8.46.2","@typescript-eslint/parser":"^8.46.2"},"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.6.0_1785736560100_0.700417837268211","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@interlace/eslint-devkit","version":"1.6.1","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.6.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1ee24a0d11e328aeb9964ed901d82a253951a0d9","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.6.1.tgz","fileCount":67,"integrity":"sha512-Tj4vYZKQHxGEeqkZPOTetZdwKKIOC7NQkJosLPlajARy7miu4k3wH9N3fNQPrAm4M0cFBuK0nlgggrkHhP9eNQ==","signatures":[{"sig":"MEYCIQCKGDmVjohvMeBkQ7taX1EM47DKWP8UWj7P2uxI5OOjNwIhAOXJZDY7D2r9/lKVEZZVXgkD9zdXM2uz6d5kPPDfyIS8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":286269},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"38f042ffef8a6723771b740cb98f9fcaaea3d885","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.6.1_1785743812902_0.9275839983131764","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@interlace/eslint-devkit","version":"1.6.2","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.6.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a12432612979a546719daf7b54a27eb140cadc60","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.6.2.tgz","fileCount":67,"integrity":"sha512-j2iid5J/QnVu4NPuHxSBKLkq37m/v2cawMV/8U7Wle2iOeWBjoom4SP2dcqpDTepyqrkngNpExEADhxaA+zGKg==","signatures":[{"sig":"MEYCIQCC0uLAKapFLWcKQx/Qi5UcCN1cM/qjV8ykCEi6EbsS8AIhAMZNXspmHo/tdDGp1wk42Vs+bnZcNnLiCKR6QrzB4Eo7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":285412},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"155cae692d582463c4d9c8b87b17b4bf24f7c24f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.6.2_1785801696804_0.8754335402365312","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@interlace/eslint-devkit","version":"1.7.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.7.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"2e9b85c39fce8fd707818035e628280443591f20","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.7.0.tgz","fileCount":69,"integrity":"sha512-rFkh0LxeHXIIwbZrB6vOxaptT5AxGw4iD2SvKVVEYYU2PEOtECS5o/BoE44jfrGh+kx6CYM8aXLgoYbg8FVLCQ==","signatures":[{"sig":"MEQCICT0Evp75t4aTVWPK58guBPHqHzvMhbh/kMZbIyXH7tTAiBtDOvsUFAwV5WfBjca9sIRUV4hl2FYL6RBHmENUCICgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":303068},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"8794ef44bbc27c0a8e8453597e6a365d6b13b5f7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"tslib":"^2.3.0","eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.7.0_1785860818365_0.5544739426249226","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@interlace/eslint-devkit","version":"1.8.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.8.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"967b2be528d892437c932dfd41173292d162c3ba","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.8.0.tgz","fileCount":71,"integrity":"sha512-2MbBGgKLLGb8wHgoNi9D6flNA9KeBIMIpFI01T6H80B7QMwbDkdFMjKDkkugiueiUR3+dyTGS3l7teJJKYERaw==","signatures":[{"sig":"MEYCIQCaAPFgNCtoiPTE21wGvuKgwUWGfTERgtfrQh8jEvF1/gIhALRT6NppgP/aQDy59vGMCLKrdEXH2mYpKKggPXrb25Nw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":331253},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"989ddba90bd37321d473f78946c8b16b5042afa3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.8.0_1785915171435_0.9127727280098767","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@interlace/eslint-devkit","version":"1.9.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.9.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"71cdb600d084537512de99c0cbe5fd49b1a1f126","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.9.0.tgz","fileCount":81,"integrity":"sha512-fmdL13w3OZ0ilDhhF58dJP0GaWmi148JYM3LE4fXluk485n2XIo2/nNciM/KyWb1fLSJloAELpkZUYSOfsERWA==","signatures":[{"sig":"MEUCIAFQi1LAwKAUzpjjVxeqNSsRGH52vtN/6EMq0xTSaNS+AiEAiXc8HBoXiM4C7YZPgUpbczQJip9ezADhFOQgmA4okOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":380661},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"afeeef39175d7b442dee847253a69058ef1a3420","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.9.0_1785969874560_0.4989160075448196","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@interlace/eslint-devkit","version":"1.10.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.10.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"da6b634c6721f577023d274ee010b580f7e4d767","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.10.0.tgz","fileCount":83,"integrity":"sha512-dGWqhHfUNuVsDsmAeOWtOQgkmVxxwAq7kW0ri4VriIS6Dzwx81X2FKPqsLDdnhzjqjwJEVMFOXHpw9Yjovzdrg==","signatures":[{"sig":"MEYCIQCuHAHfJD2TO/IElzOqa3hDNl9SCrCPwWiKldi4zftlvgIhALTNiMpSmNa5jlHBizNTS0puk7gaCXzXZLbdTy+ywYia","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327162},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"72ce14852f66ae5edd0da1c69829ab27578abaf7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.0.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.10.0_1785984717999_0.5780231971595837","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@interlace/eslint-devkit","version":"1.11.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.11.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1704c40954d1799c1d6184d796342ed6a698c894","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.11.0.tgz","fileCount":85,"integrity":"sha512-5kdC0RBvaHK3KOyGp4AaQJXQ/tm4yPqj29WXZXhdlhZiwk+FZHp/VJYAOnNZrd6BaelotGxdC3yRhp3Z9zMFrw==","signatures":[{"sig":"MEUCIQDexeFUe3s+3mz82DdXEqN2lgJygjfTkKvWuSJq0kAGtgIgHMRmLvB9V/OFqU4NpIlZGXNHtHUiD0qV0quT4JMOtbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":337288},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"4e9db1907e321b94ee5e545d1848dbdd82821dc4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.11.0_1786318152256_0.3777292815279054","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@interlace/eslint-devkit","version":"1.12.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.12.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"cbd397707195629fc29fc00729967fc25cec75f9","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.12.0.tgz","fileCount":85,"integrity":"sha512-00bUAKpREzdqOcZeadaZ78kiiuF8SmUfPegSHT2bzeSIHJ2j7DZHyaQANRNkU+t4lEP0qkrtgg2KRV6XJuGLsw==","signatures":[{"sig":"MEYCIQDGf46EWvDNA7JDrGrx1+bJVraelB3xbT7ttfnYFPfPDQIhANuHGePdlgOuWeHewClnkDlzliiRg0JLYc6r+lPwNBrV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":338839},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"e31d62620b7bf359342c3bd8183f3e6755e43d20","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.12.0_1786412972977_0.4640619577223639","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@interlace/eslint-devkit","version":"1.13.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.13.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1ce60a4ae4e681df05e61bd40d30158a06836ae7","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.13.0.tgz","fileCount":87,"integrity":"sha512-ZXWcwVdj65Lr1QREZ9Yi6p/0eAI+f+wGIiHOv+k+clu89gIx96ffDqynOacn8uhu/zJyar2YqFHdfWI4FtE0mQ==","signatures":[{"sig":"MEQCID/0/BEVPDYurliSwEDFsIg75bEtmaJmj9IglN/hSYwAAiAQ73co6phUMrtvsGD+YeQfVQprQ5C0yRA4Djt/jdnRwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345737},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"3463d99e2a9154ec9fc530f4b19ea1bd24460501","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.13.0_1786425586612_0.304772501749885","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@interlace/eslint-devkit","version":"1.14.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.14.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"9aba30bac7b465f5eb468afec2afd36621031ada","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.14.0.tgz","fileCount":87,"integrity":"sha512-d1G/wjpmc2L9yKLVCQe5EcavTues/KyrlUtRPehe60BtOR0iuidhtiCo84jCZICDkZBTkSLd+qY36rJQOQazDQ==","signatures":[{"sig":"MEQCIDlmlzQ/co0SsYrL2orEz5jvVJ8c9d1NTKDLXHkl76dMAiATsp4q+547/llD1LNGqytq4AnnPag8ZiuDyNDa6he/HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346982},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"730ec60bc383bf99f6421846238c1656cc8302f4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.14.0_1786599439856_0.6362372323515035","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@interlace/eslint-devkit","version":"1.15.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.15.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"5733f0521ba18fb550ad12a22a0b0c545eb43b3e","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.15.0.tgz","fileCount":91,"integrity":"sha512-3S90n73uV39S8aJuWhcq5BsnoJ37laQtgEqNbg53kO12yJWrQvZ6Vu24673bzel2TNLfo9YKVkNMF1j12v6HiQ==","signatures":[{"sig":"MEQCIB77BLtcyF11Zfpl4cqoaXMIeRTbMDZcIp0peAYeeRF0AiAGa1kT6Sbgi50xMGRP3PGxnaTDajp3KgKDAlLpyfsV2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":361757},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"cde878c5eb2712eef5ef87e415e6206a9aa1121b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.16.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.15.0_1786673680611_0.8132869807089054","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@interlace/eslint-devkit","version":"1.16.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.16.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a458f62f28bc9b79be37433626d7d8c34a02947d","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.16.0.tgz","fileCount":91,"integrity":"sha512-YcB4ZOOJIk8P+ybgtHIkSj3zX8oS9uaSoP+bOFYZjGnrIlIMO8c37mqjxXtw1+EHgW6tlRaDbgOlCDIFrGTBjg==","signatures":[{"sig":"MEUCIQDeCX+FYjGurYkkmIPyBNwVD4JDvI2sP1u1n4lrXVTjRwIgLinc3vJIbKTfGsUY51b9+DlX36Z3O8pcEThtP+SlE9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":366481},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"c7fed65df664f4c3f79cbc0201a95af04bcc3c42","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.16.0_1786845572472_0.09448047464097731","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"@interlace/eslint-devkit","version":"1.16.1","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.16.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"a0c9890a31327c2ae24e1acfe2a555db3d69e1f4","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.16.1.tgz","fileCount":97,"integrity":"sha512-H054U+drfMafcFPCfVL7U87JLEgXVQ3gq+ibjfwVTMV3tQDibWjk+IEHDQRqDnl8eQ9PElGIipJ/UuM8juMR+Q==","signatures":[{"sig":"MEUCIDV8n/WcoCeBRHL6HLoBm3jzcRxxqfw6jX/dACzGsBr8AiEA5j2qr9AY5FaUotLmoraNpCc/taPHEZcukyfINb1eX3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":380113},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"0db076598515cae7e254f57b35bc92e438d0f90a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.16.1_1787205580350_0.2792467761676165","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@interlace/eslint-devkit","version":"1.17.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.17.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3299a9b12e3cb20e4408912dcfc3bfc15efe2c01","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.17.0.tgz","fileCount":101,"integrity":"sha512-hvv4DdOU4n2/AAICMW3iEVhvcbRryexzlg5CXuDoFfHgH/E1nG4W0dVruteRCgQ+nl+I0/bSCxrPaYTUmQD4pA==","signatures":[{"sig":"MEUCIQDmRDHQCUtWFR5EvfF7fdR3jut9Ms10fYDztmsthzQXKwIgBEy1/eG1QH2HLCD6nAw8b1mRpCFzTMvsPhPSLiHUVZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385985},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"3d101b8c4bc0fc3d9a2e800391378d4b2492526c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.17.0_1787463517686_0.8752948746845737","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"@interlace/eslint-devkit","version":"1.17.1","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.17.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"e3ee83960557740f571bb6b2322465204bca409c","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.17.1.tgz","fileCount":101,"integrity":"sha512-rKSJAdtJGHKgTOZm1S/DUSRFgAdjvG1fQA6JvxpSiiT9YYRwSaiuYsckyijAg9krPmHWwN+3Ho3WiyNSu548lg==","signatures":[{"sig":"MEUCIQDUJnVAsFGqaGPk458Hclc0WR//qfi4VFY2W/ZKu86kDQIgYmFZeDwNEkTfu6r6qvv6vzQC5MEztZF5W8w20kChnGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":386209},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"6642b0613925ec8bf8ebeaa984efbb6325d3ef78","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.17.1_1787535679118_0.11274612491611946","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"@interlace/eslint-devkit","version":"1.17.2","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.17.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"7e2cd64518e03bb75c01d84cb341d1e5886eaeed","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.17.2.tgz","fileCount":101,"integrity":"sha512-owpOOCCBUeJ+r93Fkb0TzfBOdgDbpptT7FJYR8bWA8PU//8SnTlHOXg7juQl4G9kEvFPoKAVRnNJSQOYryF6Ng==","signatures":[{"sig":"MEUCIQD8MAnq2d5qyH45KZ+7fIuFTYSfxuXrB4ZF+X7trSd34QIgavv5ekpdRQo+pL6mYA2hOIzIyaRFmD+5oTR5adSoyYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.17.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":387178},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"80fda28164d85df4d5aedecfc1c8d999676ff09a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.17.2_1787627338322_0.1360996713175826","host":"s3://npm-registry-packages-npm-production"}},"1.17.3":{"name":"@interlace/eslint-devkit","version":"1.17.3","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.17.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"5b7bdaf1df3ab21544dbbcf356d97662f862aa41","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.17.3.tgz","fileCount":101,"integrity":"sha512-XCklAAGpWEvYtRtBLfbQ06hpO/0VkwumzmgJtJw8ZbLzltI7LYJmhXQN4HSUxI4s/F/UkcEwgcvDTxkUgjlMHQ==","signatures":[{"sig":"MEYCIQDg71FzkJ0kNZJTo20TT28fO+aOyZuHXVDr2JnOvNmbFgIhAOXHZoEbeqBwYNED7zCo9WJs5NfjQjRq1BYasypBH6c/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.17.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":387202},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"127421cabc715573a6a1e2e7308d0d7e5683c24b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.17.3_1787680731168_0.7742000658029713","host":"s3://npm-registry-packages-npm-production"}},"1.17.4":{"name":"@interlace/eslint-devkit","version":"1.17.4","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.17.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"e2e70519cf677f763c585877bf6c4d3449ba8dfe","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.17.4.tgz","fileCount":101,"integrity":"sha512-ReQWaRZNhOxC13iiHpS6riJkFR1fGXkC+kC0maVUDhsuLAFT6hOU9mjD4WNvWW4aC0FXDRuSE2g6/8mk3qkGrw==","signatures":[{"sig":"MEYCIQCyzFxscT5z4OOaBb0pYMHErPsV0F7JcuDIiQcGZYHMmQIhALR6607NKuQ9gQQC2Mpgq3xw81W/ZjTmn2Gfi6hidkFr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.17.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":388562},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"67cd3c2af3dc6111c9f146b8ace18d96105166cd","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.17.4_1788229784265_0.25571922152138193","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@interlace/eslint-devkit","version":"1.18.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.18.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"bf122d44211176f5329000004859b33d2b81c274","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.18.0.tgz","fileCount":103,"integrity":"sha512-sOhsIj9n96k5p5Hn5cjL/+rGIplprppVGlGT+RnfeKP3hzRPERqS0Fth50wgm1NpUT7dzlfHq9NCFoeAXAqZaA==","signatures":[{"sig":"MEUCIQCGJy2/zKjdkAw1m8VwNn4NGs3td/A1/yfBqekmiCgUYwIgSj9VOwDnO5YX0MtqBXqkpYIZu5iT7kEKc3y13XZJApo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":396858},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"783ebfdcd9f40325cb5ffdde360fdc8a072d2b1a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.18.0_1788244067710_0.8619990364885808","host":"s3://npm-registry-packages-npm-production"}},"1.18.1":{"name":"@interlace/eslint-devkit","version":"1.18.1","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.18.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3c8737f312c692af8eb3d5a8c535b33da99b61f6","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.18.1.tgz","fileCount":103,"integrity":"sha512-gH4YasT3FVBIZ3KgxURFmoK+C7lP7XCvRKofVTYZXTwPyw+yQhKZNtD79LBCjX7c0fBl+xRJhza8ctu5jytsIA==","signatures":[{"sig":"MEUCIEtC5B3LC4L2pi/+lAwzzl+6K6GHRxAjOLDy/MeOyBJ9AiEAv1HCXzM47ssbx19m/vuzEUZKvYjb9vQUNoLGsV4MbOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":405605},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"071c7436084695918fd044a474266710c81e6867","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.18.1_1788245607032_0.4310124026152531","host":"s3://npm-registry-packages-npm-production"}},"1.18.2":{"name":"@interlace/eslint-devkit","version":"1.18.2","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.18.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"3d1942415c28c3bce74bfe9cc35185d3958f47f1","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.18.2.tgz","fileCount":103,"integrity":"sha512-NJfNSOin26GRdYeB5us8HG03YTVwb46x5bIQXGnWSNIGtqFBDr7STeVuoUv3P9UaV74DQ9rL9mzFmmwVoG4nYg==","signatures":[{"sig":"MEUCIDqYsSHjKSBOWX1F98TVIbdQiRa4859/xS/C3nmf1BFjAiEAjYePCMldeaCCH6+Ic8nSxOCJLKTKGFYosLnvF14ebvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":405751},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"ea8d87c6fcd26e9c359e38306c01d154d4cab3f9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.17.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.18.2_1788266888461_0.6624980169604058","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@interlace/eslint-devkit","version":"1.19.0","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.0","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"5a275d8e409960af748fcac5cb5bb8f10357817e","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.0.tgz","fileCount":103,"integrity":"sha512-7wzyaJjOElxTqEeXTwZozEQ1gkS8vRjhpGI6Oh2eiQAVky9A1JnrgIYnATOMx2P//xiRIZHfhLr7lQC6QJ8bhQ==","signatures":[{"sig":"MEQCIAODI/YW5AGJVRTU/7VedCJvVwvnwg+rA9aReUqdkfHjAiB/cUG5l2uXC+VA+y75YRdojoRne1C29biGfRAzGjz/yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":407974},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"a0486fdad826fa6370bacca0f3db37b5bb62e763","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.0_1788385318582_0.8979266262652288","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@interlace/eslint-devkit","version":"1.19.1","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.1","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"e30555efeec4a6182af54c57979eb14d6955ddf9","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.1.tgz","fileCount":103,"integrity":"sha512-xgNv+qPKXHwEzNcfF4tpdvW+0YeNBW+WmzcCHk1oosvrXif1gHD0qm9JkQT5OD0RVDQP6ijIQlGcEQivWxKlJg==","signatures":[{"sig":"MEQCIF63iRhgT/FC7I6WUVko9xkmiO4/c35Iog1JZwYsajpAAiB49ff3GoW3+r0vGkWmhvTfCNJhjKuByUeQ/DgaXGoObA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":408013},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"130c9b47beae3f3a535e44853053ff609898aac2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.1_1788409539742_0.06774924454819442","host":"s3://npm-registry-packages-npm-production"}},"1.19.2":{"name":"@interlace/eslint-devkit","version":"1.19.2","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.2","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"d2af8313107446b3996451eaf1e51c22fc7fbe47","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.2.tgz","fileCount":103,"integrity":"sha512-vgpYK0Bpw5FbeC61jLl0AuJGy94vM942eFvH8HB0Ahfci/7Ycd/6xXHZccsahhY4krk1cRt1h5AQx10vBuCTkg==","signatures":[{"sig":"MEQCIHn18LDEvt5Dba/OIwO2fph3IUz23G0Q6jdvfRPsZcCqAiAUmJV0/jgan8o4IauELwOJYDkxcMlbPQrGl2WD3BmsBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":407996},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"bd17dd61e77791cad23162dfceb3c37439ddd997","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.2_1788467065864_0.6572630179899233","host":"s3://npm-registry-packages-npm-production"}},"1.19.3":{"name":"@interlace/eslint-devkit","version":"1.19.3","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.3","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"fe71118b3c6e8e37c9cd4e410ea161c5cf07b3fb","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.3.tgz","fileCount":103,"integrity":"sha512-Sudhncat0TMwDbw1KYjIQh8+nTZ15IHkZatVFTEzFMxQdrmOE3XU30QdmiGhMAFXGNTZKDtQZoF1sY2vJOUQTQ==","signatures":[{"sig":"MEUCIAmSQUW5f0J8yyElslZcgRgWdzvadZc+iKDfJOqFYkciAiEAr9TxgnHtEW/9EA09OgzIg5x1G4L7sxWq+4LqtDLaJFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDjEpfs9I9PIj4kn+VPGi6BaGCYPL1PaFy/WN2qmOu8RwIgEw4Va6M6UX7NIKGo2pYwHvtjXUlM9luTWbVcSupdvX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":408323},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"b503889aea1974a83ee37364d6607271762230e2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.3_1789280597495_0.05000913270664897","host":"s3://npm-registry-packages-npm-production"}},"1.19.4":{"name":"@interlace/eslint-devkit","version":"1.19.4","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.4","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"1172dd57d5a9d2213c4a53168cec03846e447959","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.4.tgz","fileCount":103,"integrity":"sha512-oTHJ6dmIeWERqtEHeRUbQWnkl/o9K/UBcYEkCLa6ZwqIGQXA7VMH1w6XfqhOpVOaJ63E6CZdYWXpuplG7sVoYA==","signatures":[{"sig":"MEUCIQCK0LobfDm7980i/GO6pfEZZ3bd/j1CjBKx0Fpn6fNERAIgZN1wiX0O94ncA7G+MzRRhjShqwqRChyuGWCiqQtxwK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGRhed1G4VPplsSrsuntVeAtv49bf10krMuggk8UvmdvAiEAlGhN6oqEvlVfCBILwzRjETV+48DYfFK6r/3VWF49G20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":407603},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"7e449bd7ef99e81eec2641e013b7d0ffded7c829","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.4_1789358821939_0.7087673541673416","host":"s3://npm-registry-packages-npm-production"}},"1.19.5":{"name":"@interlace/eslint-devkit","version":"1.19.5","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.5","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"47632f4df5a1f9b2dda21dc29c30154712db5cfa","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.5.tgz","fileCount":103,"integrity":"sha512-froO1nJG0qojz1GxRgYaAOwRZnQNgfO5l/yTwsWMWBmDInbIFfMkdHDsOSu6MQtUvpiSMj2Prt/g8myO866HYw==","signatures":[{"sig":"MEYCIQDx7JubGAlpus9bmJ65eFX6SrAxgB5dppgIYj7mw8HnnQIhAIr7lxUWC3pW8VkdaXRF4mySfHBlX+tCP62vswSM5H3v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC/IOWuLtMdVbW/qUkJBHl25KgEEhq5UeDEOFEQVJZragIhAMIazdskw9z+dAhXwBOWAAkJ4diQ20rsGQbXkhs2HPu1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":407943},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"ce579a543fa060d601b983e911bc2d771dde87ef","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.5_1789966088970_0.827058950130453","host":"s3://npm-registry-packages-npm-production"}},"1.19.6":{"name":"@interlace/eslint-devkit","version":"1.19.6","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.6","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"f5229aba47de18a1ebf322add44a57336b911a85","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.6.tgz","fileCount":103,"integrity":"sha512-+bFReAkbJ+jZcfGOxoxRMmheaVlPO3XJ9JSSKVWauvmyb3B5KhMeQVcWJxWATVySWUILQd6iDCziLsl438mvxQ==","signatures":[{"sig":"MEYCIQCwsIXFWROCnKJyA9A0IKN+CTvgH1X+PNZK5Z8hmUsShgIhAO7Tran2z4Y/oFQ1X1wkXqrt+5hQkvHXzRMxUj73Bd4J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0S+tmXWBrK8MaANlWhUn0bnao/ZDV7Sl/gIjpV53hBAIgb5sIsZuKk+05mrZi9K/aLAK9HUtZ4jsiNqXRjwMNnAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":408082},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"7c72847e6edbf1288add32aa5b47adafcc447bd3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.6_1790127475410_0.0597746572698612","host":"s3://npm-registry-packages-npm-production"}},"1.19.7":{"name":"@interlace/eslint-devkit","version":"1.19.7","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","_id":"@interlace/eslint-devkit@1.19.7","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"662b56423d054b0aedf9fcadf03e1bb25d1dbbee","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.7.tgz","fileCount":103,"integrity":"sha512-yGtxVGsSwhax8fD7rVP9sIE39uFSj7ar4AvugRwHgq5QmNE0gfK4YXIgznuoZ8d5I3POmOm1F1A2ZGr2SGp/gA==","signatures":[{"sig":"MEQCIAvEgEv6bxDkoGpSdxDgIlwO0dGE1eLTVmGrUJ7/0lxcAiArrXPgcT+Eevafd/QdS3ISFixczhGW9L1Pbdx08ivC0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID6AMPwvdtG7o+Hvo6QGUzYxPV/RkBE+Zo1zY/DoW9N5AiEA1AUvdjgoO9FdIY+3LkVaIoKPxcbzhpOsFVrGWCXQG1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410089},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"f4a20489658e8e23223cc79700e33aa8ce52b5cc","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/eslint-devkit_1.19.7_1790144595822_0.06024809089420047","host":"s3://npm-registry-packages-npm-production"}},"1.19.8":{"_id":"@interlace/eslint-devkit@1.19.8","bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"dist":{"shasum":"5f9ed23da17b5564db9b229781e570ff84858c59","tarball":"https://registry.npmjs.org/@interlace/eslint-devkit/-/eslint-devkit-1.19.8.tgz","fileCount":103,"integrity":"sha512-zfxUG4xh3aumhHggmoYg6iIs/FBCXa9gFtWCReSSzlw38bp7OPaqj+cp5ggTrOaGs57Q0eJyULpYw2dcs946NA==","signatures":[{"sig":"MEUCIQD/tSTJ08U+v3wpaHi2nBJCJZIc+Tv/bo2tIkf0lz7Y/gIgZTpeMfQ+rOM80pA9tPvgKJfx+0H+RPfL64hH+eu071c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBafsWdldVuNCDM8lQ+a7cWAiLqXhEx1sOt/icGV7TcdAiEAsB3xjNQoaP2PIIQGE+J2nwVRPMddt2Dfaj88kLj+ow8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@interlace%2feslint-devkit@1.19.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410399},"main":"./src/index.js","name":"@interlace/eslint-devkit","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","import":"./src/index.js","require":"./src/index.js"},"./resolver":{"types":"./src/resolver.d.ts","import":"./src/resolver.js","require":"./src/resolver.js"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/ofri-peretz/eslint","type":"github"},"gitHead":"dbe3c060641d6df94ae1b6344b95b72cb6d359de","license":"MIT","version":"1.19.8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:938056db-a595-4f3a-a328-4ac63242c7c4"}},"homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"_npmVersion":"11.19.0","description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","directories":{},"maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.40.0 || ^9.0.0 || ^10.0.0","typescript":">=4.8.4","oxc-resolver":"^11.24.2","@typescript-eslint/utils":"^7.0.0 || ^8.0.0"},"peerDependenciesMeta":{"typescript":{"optional":true},"oxc-resolver":{"optional":true},"@typescript-eslint/utils":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-devkit_1.19.8_1790303900850_0.8968936263152123"}}},"time":{"created":"2025-12-08T06:36:03.496Z","modified":"2026-09-25T02:38:21.271Z","1.0.0":"2025-12-08T06:36:03.774Z","1.2.0":"2025-12-12T06:26:32.089Z","1.2.1":"2025-12-13T22:37:51.779Z","1.3.0":"2026-01-11T11:01:22.066Z","1.3.1":"2026-01-12T03:00:14.968Z","1.3.2":"2026-02-06T07:19:39.226Z","1.3.3":"2026-02-08T01:34:55.473Z","1.4.0":"2026-05-11T08:46:36.375Z","1.4.1":"2026-06-21T19:47:54.756Z","1.4.2":"2026-07-31T06:16:34.294Z","1.4.3":"2026-08-02T15:29:10.474Z","1.4.4":"2026-08-02T21:45:49.934Z","1.5.0":"2026-08-03T04:32:45.968Z","1.6.0":"2026-08-03T05:56:00.252Z","1.6.1":"2026-08-03T07:56:53.049Z","1.6.2":"2026-08-04T00:01:36.950Z","1.7.0":"2026-08-04T16:26:58.495Z","1.8.0":"2026-08-05T07:32:51.576Z","1.9.0":"2026-08-05T22:44:34.724Z","1.10.0":"2026-08-06T02:51:58.142Z","1.11.0":"2026-08-09T23:29:12.417Z","1.12.0":"2026-08-11T01:49:33.171Z","1.13.0":"2026-08-11T05:19:46.753Z","1.14.0":"2026-08-13T05:37:19.995Z","1.15.0":"2026-08-14T02:14:40.768Z","1.16.0":"2026-08-16T01:59:32.640Z","1.16.1":"2026-08-20T05:59:40.517Z","1.17.0":"2026-08-23T05:38:37.845Z","1.17.1":"2026-08-24T01:41:19.277Z","1.17.2":"2026-08-25T03:08:58.467Z","1.17.3":"2026-08-25T17:58:51.316Z","1.17.4":"2026-09-01T02:29:44.429Z","1.18.0":"2026-09-01T06:27:47.889Z","1.18.1":"2026-09-01T06:53:27.167Z","1.18.2":"2026-09-01T12:48:08.617Z","1.19.0":"2026-09-02T21:41:58.738Z","1.19.1":"2026-09-03T04:25:39.900Z","1.19.2":"2026-09-03T20:24:26.014Z","1.19.3":"2026-09-13T06:23:17.575Z","1.19.4":"2026-09-14T04:07:02.042Z","1.19.5":"2026-09-21T04:48:09.079Z","1.19.6":"2026-09-23T01:37:55.542Z","1.19.7":"2026-09-23T06:23:15.936Z","1.19.8":"2026-09-25T02:38:20.950Z"},"bugs":{"url":"https://github.com/ofri-peretz/eslint/issues"},"author":{"name":"Ofri Peretz","email":"ofriperetzdev@gmail.com"},"license":"MIT","homepage":"https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-devkit#readme","keywords":["eslint","eslint-devkit","eslint-toolkit","eslint-plugin-development","custom-rules","rule-authoring","typescript","typescript-eslint","utilities","ast","ast-utils","type-checking","plugin-development","static-analysis","linting","sarif","owasp","cwe","security","llm-optimized","ai-assistant","auto-fix"],"repository":{"url":"git+https://github.com/ofri-peretz/eslint.git","type":"git","directory":"packages/eslint-devkit"},"description":"Toolkit for building ESLint plugins in TypeScript — AST helpers, type utilities, rule-creation scaffolding, security benchmarks, and SARIF output.","maintainers":[{"name":"ofriperetz","email":"ofriperetzdev@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-devkit\" 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# @interlace/eslint-devkit\n\n**Build ESLint plugins that write themselves** - TypeScript utilities for creating rules that AI assistants can understand and auto-fix.\n\n[![npm version](https://img.shields.io/npm/v/@interlace/eslint-devkit.svg)](https://www.npmjs.com/package/@interlace/eslint-devkit)\n[![npm downloads](https://img.shields.io/npm/dm/@interlace/eslint-devkit.svg)](https://www.npmjs.com/package/@interlace/eslint-devkit)\n[![Install Size](https://badgen.net/packagephobia/install/@interlace/eslint-devkit)](https://packagephobia.com/result?p=@interlace/eslint-devkit)\n[![codecov](https://codecov.io/gh/ofri-peretz/eslint/graph/badge.svg?flag=eslint-devkit)](https://app.codecov.io/gh/ofri-peretz/eslint/tree/main)\n\n> **Keywords:** ESLint utilities, LLM-optimized, AI assistant, auto-fix, TypeScript ESLint, AST utilities, type checking, rule creation, GitHub Copilot, Cursor AI, Claude AI, structured error messages, deterministic fixes\n\n## What is this?\n\nMost ESLint utilities help you **write rules**. This package helps you write rules that **LLMs can fix automatically**.\n\n**Core principle:** Every error message should teach, not just warn.\n\nInspired by [@typescript-eslint/utils](https://typescript-eslint.io/packages/utils/), enhanced for the AI-assisted development era.\n\n---\n\n## 🚀 Quick Start\n\nCreate your first LLM-optimized rule in 2 minutes:\n\n### Step 1: Install\n\n```bash\nnpm install --save-dev @interlace/eslint-devkit @typescript-eslint/parser typescript\n# or\nnpm add -D @interlace/eslint-devkit @typescript-eslint/parser typescript\n# or\nyarn add -D @interlace/eslint-devkit @typescript-eslint/parser typescript\n```\n\n### Step 2: Create Your Rule\n\n```typescript\nimport { createRule, isMemberExpression } from '@interlace/eslint-devkit';\n\nexport default createRule({\n  name: 'no-console-log',\n  meta: {\n    type: 'problem',\n    docs: {\n      description: 'Disallow console.log - use logger.debug() instead',\n      recommended: 'warn',\n    },\n    fixable: 'code',\n    messages: {\n      useLogger: 'Replace console.log with logger.debug() on line {{line}}',\n    },\n    schema: [],\n  },\n  defaultOptions: [],\n  create(context) {\n    return {\n      CallExpression(node) {\n        if (isMemberExpression(node.callee, 'console', 'log')) {\n          context.report({\n            node,\n            messageId: 'useLogger',\n            data: { line: node.loc.start.line },\n            fix(fixer) {\n              return fixer.replaceText(node.callee, 'logger.debug');\n            },\n          });\n        }\n      },\n    };\n  },\n});\n```\n\n**That's it!** Your rule now provides structured error messages that AI assistants can automatically fix.\n\n### Step 3: Use in ESLint Config\n\n```typescript\n// eslint.config.js\nimport myPlugin from './my-plugin';\n\nexport default [\n  {\n    plugins: {\n      'my-plugin': myPlugin,\n    },\n    rules: {\n      'my-plugin/no-console-log': 'warn',\n    },\n  },\n];\n```\n\n---\n\n## Why LLM-Optimized Matters\n\n### Traditional ESLint Rule\n\n```typescript\n// Error output\n{\n  message: \"Unexpected console statement\",\n  line: 42\n}\n\n// AI Assistant thinks: \"Remove it? Comment it? Replace with what?\"\n// Result: ❌ AI can't fix it automatically\n```\n\n### LLM-Optimized Rule\n\n```typescript\n// Error output\n{\n  message: \"Replace console.log with logger.debug() on line 42\",\n  line: 42,\n  fix: { /* auto-fix available */ }\n}\n\n// AI Assistant thinks: \"Replace with logger.debug(), add import if needed\"\n// Result: ✅ AI auto-applies fix\n```\n\n**Key Benefits:**\n\n- **60-80% auto-fix rate** vs 20-30% for traditional rules\n- **Deterministic fixes** - Same violation = same fix every time\n- **Lower review burden** - Most violations fixed before human review\n- **Faster onboarding** - Developers learn patterns from error messages\n\n---\n\n## 📈 Benchmarks\n\nRules built with this utility package achieve:\n\n| Metric                  | LLM-Optimized Rules | Standard ESLint Rules |\n| ----------------------- | ------------------- | --------------------- |\n| **AI Fix Success Rate** | 94%                 | 67%                   |\n| **First Attempt Fix**   | 89%                 | 52%                   |\n| **Parse Success Rate**  | 100%                | 100%                  |\n| **Field Extraction**    | 100%                | 23%                   |\n\n### Enterprise Features Included\n\n| Feature                 | Support Level  | Description                           |\n| ----------------------- | -------------- | ------------------------------------- |\n| **SARIF Export**        | ✅ Full        | GitHub Advanced Security integration  |\n| **CWE Auto-Enrichment** | ✅ Automatic   | Security benchmarks from CWE ID       |\n| **OWASP Mapping**       | ✅ 2021 + 2025 | Forward-compatible security standards |\n| **Compliance Tags**     | ✅ Auto        | SOC2, HIPAA, PCI-DSS, GDPR, ISO27001  |\n\n> 📊 **[Full Benchmarks →](https://github.com/ofri-peretz/eslint/blob/main/docs/BENCHMARK.md)**\n\n---\n\n## Installation\n\n```bash\nnpm install --save-dev @interlace/eslint-devkit\n```\n\n**Peer dependencies (required):**\n\n```bash\nnpm install --save-dev @typescript-eslint/parser typescript\nnpm install --save-dev @typescript-eslint/utils\n```\n\n### Optional: Resolver helpers\n\nIf you need module resolution utilities, use the dedicated entry point and opt into the resolver peer deps:\n\n```bash\nnpm install --save-dev get-tsconfig enhanced-resolve\n```\n\n```ts\nimport { createResolver } from '@interlace/eslint-devkit/resolver';\n```\n\nIf you don’t import `@interlace/eslint-devkit/resolver`, the resolver code and peer deps stay out of your bundle/install surface.\n\n---\n\n## API Reference\n\n### Rule Creation\n\n#### `createRule(options)`\n\nCreates a well-typed ESLint rule with automatic documentation links.\n\n**Parameters:**\n\n- `name` (string): Rule name (e.g., 'no-console-log')\n- `meta` (object): Rule metadata (type, docs, messages, schema)\n- `defaultOptions` (array): Default rule options\n- `create` (function): Rule implementation function\n\n**Returns:** ESLint rule object\n\n**Example:**\n\n```typescript\nimport { createRule } from '@interlace/eslint-devkit';\n\nconst rule = createRule({\n  name: 'my-rule',\n  meta: {\n    type: 'problem',\n    docs: { description: 'My custom rule' },\n    messages: { error: 'Error message' },\n    schema: [],\n  },\n  defaultOptions: [],\n  create(context) {\n    return {\n      // Your rule implementation\n    };\n  },\n});\n```\n\n#### `createRuleCreator(urlCreator)`\n\nCreates a custom rule factory with your documentation URL pattern.\n\n**Parameters:**\n\n- `urlCreator` (function): Function that takes rule name and returns documentation URL\n\n**Returns:** Rule creation function\n\n**Example:**\n\n```typescript\nimport { createRuleCreator } from '@interlace/eslint-devkit';\n\nconst createRule = createRuleCreator(\n  (ruleName) => `https://your-plugin.dev/rules/${ruleName}`,\n);\n\nexport default createRule({\n  name: 'my-rule',\n  // ...\n});\n```\n\n---\n\n### AST Utilities\n\nHelper functions for traversing and analyzing ESTree/TSESTree nodes.\n\n#### Node Type Checks\n\n| Function                   | Description                        | Example                            |\n| -------------------------- | ---------------------------------- | ---------------------------------- |\n| `isNodeOfType(node, type)` | Type guard for AST nodes           | `isNodeOfType(node, 'Identifier')` |\n| `isFunctionNode(node)`     | Check if node is any function type | `isFunctionNode(node)`             |\n| `isClassNode(node)`        | Check if node is a class           | `isClassNode(node)`                |\n| `isLiteral(node)`          | Check if literal value             | `isLiteral(node)`                  |\n| `isTemplateLiteral(node)`  | Check if template literal          | `isTemplateLiteral(node)`          |\n\n#### Pattern Matching\n\n| Function                                     | Description                       | Example                                      |\n| -------------------------------------------- | --------------------------------- | -------------------------------------------- |\n| `isMemberExpression(node, object, property)` | Match patterns like `console.log` | `isMemberExpression(node, 'console', 'log')` |\n| `isCallExpression(node, name)`               | Check function call by name       | `isCallExpression(node, 'fetch')`            |\n\n#### Value Extraction\n\n| Function                  | Description             | Example                              |\n| ------------------------- | ----------------------- | ------------------------------------ |\n| `getIdentifierName(node)` | Extract identifier name | `getIdentifierName(node) // 'myVar'` |\n| `getFunctionName(node)`   | Get function name       | `getFunctionName(node) // 'myFunc'`  |\n| `getStaticValue(node)`    | Extract static value    | `getStaticValue(node) // 'hello'`    |\n\n#### Ancestor Navigation\n\n| Function                                    | Description                     | Example                                               |\n| ------------------------------------------- | ------------------------------- | ----------------------------------------------------- |\n| `isInsideNode(node, parentType, ancestors)` | Check if inside specific parent | `isInsideNode(node, 'TryStatement', ancestors)`       |\n| `getAncestorOfType(type, ancestors)`        | Find first ancestor of type     | `getAncestorOfType('FunctionDeclaration', ancestors)` |\n\n**Complete Example:**\n\n```typescript\nimport {\n  isMemberExpression,\n  isInsideNode,\n  getAncestorOfType,\n  getIdentifierName,\n} from '@interlace/eslint-devkit';\n\ncreate(context) {\n  return {\n    CallExpression(node) {\n      // Detect console.log() calls\n      if (isMemberExpression(node.callee, 'console', 'log')) {\n        // Check if inside try-catch (might be intentional logging)\n        const ancestors = context.getAncestors();\n        const insideTry = isInsideNode(node, 'TryStatement', ancestors);\n\n        if (!insideTry) {\n          const functionAncestor = getAncestorOfType('FunctionDeclaration', ancestors);\n          const functionName = functionAncestor\n            ? getIdentifierName(functionAncestor.id)\n            : 'anonymous';\n\n          context.report({\n            node,\n            message: `Avoid console.log outside error handlers in ${functionName}`,\n          });\n        }\n      }\n    },\n  };\n}\n```\n\n---\n\n### Type Utilities\n\nType-aware analysis using TypeScript compiler API. These utilities require TypeScript parser services.\n\n#### Service Access\n\n| Function                        | Description                                 | Example                                       |\n| ------------------------------- | ------------------------------------------- | --------------------------------------------- |\n| `hasParserServices(context)`    | Check if type info available                | `if (hasParserServices(context))`             |\n| `getParserServices(context)`    | Get parser services (throws if unavailable) | `const services = getParserServices(context)` |\n| `getTypeOfNode(node, services)` | Get TypeScript type of node                 | `const type = getTypeOfNode(node, services)`  |\n\n#### Type Checks\n\n| Function                          | Description                | Example                           |\n| --------------------------------- | -------------------------- | --------------------------------- |\n| `isStringType(type)`              | Check if type is string    | `isStringType(type)`              |\n| `isNumberType(type)`              | Check if type is number    | `isNumberType(type)`              |\n| `isBooleanType(type)`             | Check if type is boolean   | `isBooleanType(type)`             |\n| `isArrayType(type, checker)`      | Check if type is array     | `isArrayType(type, checker)`      |\n| `isPromiseType(type, checker)`    | Check if type is Promise   | `isPromiseType(type, checker)`    |\n| `isAnyType(type)`                 | Check if type is any       | `isAnyType(type)`                 |\n| `isUnknownType(type)`             | Check if type is unknown   | `isUnknownType(type)`             |\n| `isNullableType(type)`            | Check if type is nullable  | `isNullableType(type)`            |\n| `getTypeArguments(type, checker)` | Get generic type arguments | `getTypeArguments(type, checker)` |\n\n**Complete Example:**\n\n```typescript\nimport {\n  hasParserServices,\n  getParserServices,\n  getTypeOfNode,\n  isPromiseType,\n} from '@interlace/eslint-devkit';\n\ncreate(context) {\n  // Gracefully handle projects without TypeScript\n  if (!hasParserServices(context)) {\n    return {};\n  }\n\n  const services = getParserServices(context);\n  const checker = services.program.getTypeChecker();\n\n  return {\n    CallExpression(node) {\n      const type = getTypeOfNode(node, services);\n\n      // Detect unawaited promises by TYPE, not syntax\n      if (isPromiseType(type, checker)) {\n        const parent = node.parent;\n        const isAwaited = parent?.type === 'AwaitExpression';\n\n        if (!isAwaited) {\n          context.report({\n            node,\n            message: 'Promise is not awaited - add \"await\" or handle with .then()',\n            fix(fixer) {\n              return fixer.insertTextBefore(node, 'await ');\n            },\n          });\n        }\n      }\n    },\n  };\n}\n```\n\n---\n\n## Best Practices\n\n### 1. Provide Specific Error Messages\n\n```typescript\n// ❌ Vague - AI can't determine fix\nmessage: 'Invalid usage';\n\n// ✅ Specific - AI knows exactly what to do\nmessage: 'Replace fetch() with apiClient.get() for automatic error handling';\n```\n\n### 2. Include Auto-Fixes When Possible\n\n```typescript\ncontext.report({\n  node,\n  message: 'Use const instead of let for immutable variables',\n  fix(fixer) {\n    return fixer.replaceText(letToken, 'const');\n  },\n});\n```\n\n### 3. Structure Error Data for AI\n\n```typescript\ncontext.report({\n  node,\n  messageId: 'circularDependency',\n  data: {\n    chain: 'A.ts → B.ts → C.ts → A.ts',\n    breakAt: 'C.ts',\n    suggestion: 'Extract shared types to types.ts',\n  },\n});\n```\n\n### 4. Use Type Information When Available\n\n```typescript\n// Detect issues semantically, not just syntactically\nif (hasParserServices(context)) {\n  const type = getTypeOfNode(node, services);\n  if (isPromiseType(type, checker)) {\n    // Type-aware detection is more accurate\n  }\n}\n```\n\n### 5. Provide Context in Messages\n\n```typescript\n// ❌ Missing context\nmessage: 'Use logger instead';\n\n// ✅ Includes context\nmessage: 'Replace console.log with logger.debug() on line {{line}} in function {{functionName}}';\n```\n\n---\n\n## TypeScript Support\n\nFull TypeScript support with comprehensive type definitions:\n\n```typescript\nimport type { TSESTree } from '@typescript-eslint/utils';\nimport {\n  createRule,\n  isMemberExpression,\n  type RuleContext,\n} from '@interlace/eslint-devkit';\n\n// Fully typed rule creation\nconst rule = createRule<[], 'messageId'>({\n  name: 'my-rule',\n  meta: {\n    type: 'problem',\n    messages: {\n      messageId: 'Error message',\n    },\n    schema: [],\n  },\n  defaultOptions: [],\n  create(context: RuleContext<'messageId', []>) {\n    return {\n      Identifier(node: TSESTree.Identifier) {\n        // Fully typed node visitors\n      },\n    };\n  },\n});\n```\n\n---\n\n## Compatibility\n\n| Package                   | Version                       |\n| ------------------------- | ----------------------------- |\n| ESLint                    | ^8.40.0 \\|\\| ^9.0.0 \\|\\| ^10.0.0 |\n| TypeScript                | >=4.0.0                       |\n| @typescript-eslint/parser | >=6.0.0                       |\n| @typescript-eslint/utils  | ^8.0.0                        |\n| Node.js                   | >=18.0.0                      |\n\nSee the [ESLint Version Support Policy](../../docs/ESLINT_VERSION_SUPPORT.md) for current ecosystem share data and the rules that determine which majors are supported.\n\n---\n\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-cli-floor`](https://www.npmjs.com/package/eslint-plugin-cli-floor) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-cli-floor.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-cli-floor) | CLI floor for commander, yargs and burgee. |\n| [`eslint-plugin-conventions`](https://www.npmjs.com/package/eslint-plugin-conventions) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-conventions.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-conventions) | Team-specific habits and styles. |\n| [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | Fast cycle + import-graph analysis. |\n| [`eslint-plugin-maintainability`](https://www.npmjs.com/package/eslint-plugin-maintainability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-maintainability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-maintainability) | Cognitive load and clean-code patterns. |\n| [`eslint-plugin-modernization`](https://www.npmjs.com/package/eslint-plugin-modernization) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modernization.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modernization) | ESNext migration + syntax evolution. |\n| [`eslint-plugin-modularity`](https://www.npmjs.com/package/eslint-plugin-modularity) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-modularity.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-modularity) | Structural integrity and DDD patterns. |\n| [`eslint-plugin-operability`](https://www.npmjs.com/package/eslint-plugin-operability) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-operability.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-operability) | Production readiness and resource health. |\n| [`eslint-plugin-react-a11y`](https://www.npmjs.com/package/eslint-plugin-react-a11y) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-react-a11y.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-react-a11y) | React accessibility / WCAG. |\n| [`eslint-plugin-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## Related Packages\n\n- **[@typescript-eslint/utils](https://www.npmjs.com/package/@typescript-eslint/utils)** - Official TypeScript ESLint utilities\n- **[eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import)** - Import/export validation\n\n---\n\n## License\n\nMIT © [Ofri Peretz](https://github.com/ofri-peretz)\n\n---\n\n## Contributing\n\nContributions welcome! See CONTRIBUTING.md (planned).\n\n---\n\n<!-- INTERLACE:STAR_CTA:START -->\n## ⭐ Support & follow\n\nIf the devkit saved you time, **[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 engineering behind these tools.\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## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md) for a list of changes and version history.\n\n<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-devkit\"><img src=\"https://eslint.interlace.tools/images/og-devkit.png\" alt=\"ESLint Interlace\" width=\"100%\" /></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<p align=\"center\">\n  <a href=\"https://eslint.interlace.tools/?utm_source=github&utm_medium=referral&utm_campaign=eslint-devkit\" 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"}