{"_id":"@antelopejs/tooling-configs","_rev":"7-43806db42356d6df84e8c24379dff0e1","name":"@antelopejs/tooling-configs","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.1":{"name":"@antelopejs/tooling-configs","version":"0.0.1","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"license":"Apache-2.0","_id":"@antelopejs/tooling-configs@0.0.1","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"5dfacf673e80d207bbb45ff53e5b3cee1413da17","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.1.tgz","fileCount":13,"integrity":"sha512-UFOknjGjZwpRpiGjkWoXBPceqQzyyZyfPjyNEjOotwmjzUiqj+wDpWHGAo02uC5+T1NYom7peD9IQ4IF5/SUrQ==","signatures":[{"sig":"MEUCIQDMujYBsLJJqolb0MAV6xjaJiPsmMWWNkOk5DldB4pHtgIgDN/Vb1Mo+ohQnqJBfl/LpfqQ2X/IUMBsKZsFT6zjOpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106256},"type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"d079f3ab702687ac8d8b40fdf17a2cd57cda131f","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","check:dist":"pnpm run build && git diff --exit-code dist","format:check":"oxfmt --check ."},"_npmUser":{"name":"upd4ting","email":"upd4ting@gmail.com"},"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tooling-configs_0.0.1_1788434615426_0.423554529501893","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@antelopejs/tooling-configs","version":"0.0.2","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"license":"Apache-2.0","_id":"@antelopejs/tooling-configs@0.0.2","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"600f5774db2bec96527912ce78a2b01702796c35","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.2.tgz","fileCount":13,"integrity":"sha512-6Mn0y78vg9+65I5pSNeVIjyC3x5kkTS9ZxcQaLYyswe6lIwoLTK3Tw7W8QOlgEaRuq55syy4xhUcl53EMAqCEw==","signatures":[{"sig":"MEUCIHQgjhF156HBFIzt1WdnOAzJk+Yv4CPxaywfUyA5l5zYAiEAqKRLn61pKXMe2kS0BucVlbE0Qi+QGPB5C0orfWY1/z4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106856},"type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"14572c7ec8dba3cce02f49a80a832117d5df24fd","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","format:check":"oxfmt --check ."},"_npmUser":{"name":"upd4ting","email":"upd4ting@gmail.com"},"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"10.9.8","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tooling-configs_0.0.2_1788436909772_0.7186652154524606","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@antelopejs/tooling-configs","version":"0.0.3","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"license":"Apache-2.0","_id":"@antelopejs/tooling-configs@0.0.3","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"fc051922f193281617ad6167337e7f9ff08692f4","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.3.tgz","fileCount":13,"integrity":"sha512-x1fBRY2YX8litjYXxikbCdQUtLFVtrBn2ZgjMxL7T/NXgQ2/dq7Grj+uKXy35sNbPG0m3DwoEeEhHPw/4+6cvw==","signatures":[{"sig":"MEUCIQD3inj6v8zmwKZUMzZhQUp+gQGxCm5543LjymfRrITlwAIgJjN2+0SYS3oWEmhBG6lSivLnGmcSv55Cibxk1YFYr8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@antelopejs%2ftooling-configs@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107721},"type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"0fa2ca6cc3edc0a91a2155c6b58b2c2abf0627a8","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","format:check":"oxfmt --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d48e719b-53ad-449e-91ac-6f278db578d5"}},"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tooling-configs_0.0.3_1788484898109_0.9135523834190391","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@antelopejs/tooling-configs","version":"0.0.4","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"license":"Apache-2.0","_id":"@antelopejs/tooling-configs@0.0.4","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"3981c6bddd3aed5f9b90b0c838da15a508d80464","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.4.tgz","fileCount":13,"integrity":"sha512-Nfv71Z9DF78mFu817SwTZnzfF/oWhjXWhAY/zhBV9ArevV3ZwJ/JhZD+3QiLf9fXIS2pXCrmCCYGclpc598psA==","signatures":[{"sig":"MEUCIC01s80vdUDCdZbnwa3mtQwhqyoz9w4HiRN4iwBtipkOAiEAuf9IxRyeInrpXvq7//ejgqT/tuvbuqtmxrce791wBz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@antelopejs%2ftooling-configs@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112344},"type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"790c569cf8dfe3453cbf852b68c3a7f662f39fac","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","format:check":"oxfmt --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d48e719b-53ad-449e-91ac-6f278db578d5"}},"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tooling-configs_0.0.4_1788544248243_0.6092535279322728","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@antelopejs/tooling-configs","version":"0.0.5","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"license":"Apache-2.0","_id":"@antelopejs/tooling-configs@0.0.5","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"440f5016fd27e914ef57d1191a1040ce90b37a45","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.5.tgz","fileCount":13,"integrity":"sha512-3wTdwRCwMMzuDJcwHoJXReUBvjKB1p19fQ9xx8p76yCdI7N+spgJcoeab//opNUTy4lNhxwIHlZcZJyLetjpEQ==","signatures":[{"sig":"MEUCIDRakt5BCmOiD8LHlL+M9mjUGb0Pd6K2CJUqSaBV8UaOAiEA1UWJcNBw9Ii1XT0SpHVIrEb4hiZ74R4i4ygsyNpEIyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@antelopejs%2ftooling-configs@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113239},"type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"81cb7d83ae033bee803b698337de2ccc4ee57341","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","format:check":"oxfmt --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d48e719b-53ad-449e-91ac-6f278db578d5"}},"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tooling-configs_0.0.5_1789154452283_0.08858845151142147","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@antelopejs/tooling-configs","version":"0.0.6","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"license":"Apache-2.0","_id":"@antelopejs/tooling-configs@0.0.6","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"fa297f7fd7aefd780e75110e7354f630343d7277","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.6.tgz","fileCount":14,"integrity":"sha512-K8ysTXwxfGRQpM1JxJMehbwmQZqkE+7hCJiGoL2G0n9ut5MyszCsychUhfG5e+N+/EOwZ4QPN1XwNw8qNnQT3w==","signatures":[{"sig":"MEQCIGkihl3Jo/wmKiwoDDyQrDPOvR1M6TV/DXWf9htQc8lQAiA0UXC2lDbNllcn1odH0Y+IBkg1waTOlx9/hhbciaMTRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAhVFpDXhIVtGrNQBeSkYymNoCeSABIbjacjnEjUknPFAiEA8jIuJz5xhyDqTrJLODP2Sl6tqjv1hgGxIflGGteUIIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@antelopejs%2ftooling-configs@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125636},"type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"cb09137aaef1e746639d4221f66382cf9764c0fb","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","format:check":"oxfmt --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d48e719b-53ad-449e-91ac-6f278db578d5"}},"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tooling-configs_0.0.6_1789613325120_0.36173033504042107","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"_id":"@antelopejs/tooling-configs@0.0.7","bin":{"antelopejs-check-interface-ranges":"dist/bin/check-interface-ranges.mjs"},"bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"dist":{"shasum":"d0aa249aa945b777f99b1db1b6580ff630353c71","tarball":"https://registry.npmjs.org/@antelopejs/tooling-configs/-/tooling-configs-0.0.7.tgz","fileCount":16,"integrity":"sha512-AMGItAsD++kaoMfo+AwUeju+fFoHUSmXjzmKqwi2pQOdQD0kv2OuovGTZy80Eu6LKKyeaW7Ua/aBcdkhODhoFA==","signatures":[{"sig":"MEUCIB8v5DU+ZYRdSPoVQdVYYYs8G2J8iUes+QJtusZqqrmVAiEAgyBUYYTD5TtHXuN3RSFdHQ66Jz4qcK4uwagyER6G96k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFAzvB3CZLo98H3HXqlQksBQnCJmUx1O6dny1LcWShcHAiB5Kh3qZoVyjABPVK3G2GMBPpoiTTPhP5VznoJ2xM8vog=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@antelopejs%2ftooling-configs@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132735},"name":"@antelopejs/tooling-configs","type":"module","engines":{"node":">=22.18.0"},"exports":{"./knip":"./dist/knip.mjs","./eslint":"./dist/eslint.mjs","./oxc/fmt":"./dist/oxc/fmt.mjs","./oxc/lint":"./dist/oxc/lint.mjs","./oxc/anti-slop":"./dist/oxc/anti-slop/index.mjs"},"gitHead":"d7bb1a25582d7013f77b84f3dc3ec149d8db4be6","license":"Apache-2.0","scripts":{"lint":"oxlint","test":"node --test \"src/oxc/anti-slop/rules/*.test.ts\" \"src/*.test.ts\"","build":"tsdown","checks":"pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test","format":"oxfmt .","prepack":"pnpm run build","release":"pnpm run lint && pnpm run prepack && release-it","lint:fix":"oxlint --fix","typecheck":"tsc --noEmit","format:check":"oxfmt --check ."},"version":"0.0.7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"d48e719b-53ad-449e-91ac-6f278db578d5"}},"homepage":"https://github.com/AntelopeJS/tooling-configs#readme","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"_npmVersion":"11.19.0","description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","directories":{},"maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"_nodeVersion":"24.21.0","dependencies":{"@oxlint/plugins":"1.81.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"oxfmt":"^0.66.0","oxlint":"1.81.0","tsdown":"^0.22.14","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^24.13.3","@nuxt/eslint-config":"^1.17.0","release-it-changelogen":"^0.1.0","eslint-plugin-perfectionist":"^5.11.0"},"peerDependencies":{"knip":">=6.0.0","oxfmt":"^0.66.0","oxlint":"1.81.0","@nuxt/eslint-config":">=1.2.0","eslint-plugin-perfectionist":">=5.0.0"},"peerDependenciesMeta":{"knip":{"optional":true},"oxfmt":{"optional":true},"oxlint":{"optional":true},"@nuxt/eslint-config":{"optional":true},"eslint-plugin-perfectionist":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tooling-configs_0.0.7_1790764327035_0.9542891961774242"}}},"time":{"created":"2026-09-03T11:23:35.250Z","modified":"2026-09-30T10:32:07.618Z","0.0.1":"2026-09-03T11:23:35.564Z","0.0.2":"2026-09-03T12:01:49.919Z","0.0.3":"2026-09-04T01:21:38.265Z","0.0.4":"2026-09-04T17:50:48.378Z","0.0.5":"2026-09-11T19:20:52.416Z","0.0.6":"2026-09-17T02:48:45.203Z","0.0.7":"2026-09-30T10:32:07.183Z"},"bugs":{"url":"https://github.com/AntelopeJS/tooling-configs/issues"},"license":"Apache-2.0","homepage":"https://github.com/AntelopeJS/tooling-configs#readme","keywords":["antelopejs","anti-slop","knip","oxc","oxlint"],"repository":{"url":"git+https://github.com/AntelopeJS/tooling-configs.git","type":"git"},"description":"Shared tooling presets for AntelopeJS projects: oxlint (incl. vendored anti-slop) and Knip","maintainers":[{"name":"mwesto","email":"contact@mwesto.be"},{"name":"upd4ting","email":"upd4ting@gmail.com"},{"name":"thomasims","email":"thomas@antelopejs.com"},{"name":"antelopesrl","email":"contact@antelopejs.com"}],"readme":"# @antelopejs/tooling-configs\n\n<div align=\"center\">\n<a href=\"https://www.npmjs.com/package/@antelopejs/tooling-configs\"><img alt=\"NPM version\" src=\"https://img.shields.io/npm/v/@antelopejs/tooling-configs.svg?style=for-the-badge&labelColor=000000\"></a>\n<a href=\"./LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/npm/l/@antelopejs/tooling-configs.svg?style=for-the-badge&labelColor=000000\"></a>\n<a href=\"https://discord.gg/sjK28QHrA7\"><img src=\"https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000\" alt=\"Discord\"></a>\n<a href=\"https://antelopejs.com\"><img src=\"https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000\" alt=\"Documentation\"></a>\n</div>\n\nShared tooling presets for AntelopeJS repositories: [oxlint](https://oxc.rs) (including\nthe vendored [anti-slop](https://github.com/dmmulroy/anti-slop) rules), [oxfmt](https://oxc.rs)\nand [Knip](https://knip.dev).\n\nTogether they replace Biome outright — lint, format and import order — and Prettier in the\nNuxt layers, since oxfmt formats `.vue` and sorts Tailwind classes natively. The front end\nkeeps ESLint for linting, from a shared config here.\n\n## Requirements\n\nNode **24** (or at least 22.18). oxlint reads `oxlint.config.ts` and loads JS plugins by\nexecuting TypeScript, which earlier runtimes cannot do.\n\n## Install\n\n```bash\npnpm add -D oxlint@1.81.0 oxfmt @antelopejs/tooling-configs\n```\n\nAdd `eslint-plugin-perfectionist` too unless you turn import sorting off — it is an\noptional peer dependency because it pulls ESLint and typescript-eslint along with it:\n\n```bash\npnpm add -D eslint-plugin-perfectionist\n```\n\nPin `oxlint` to the exact version this package depends on for `@oxlint/plugins`\n(currently **1.81.0**). The JS plugin API is still alpha and the two packages must move\ntogether.\n\n## oxlint\n\n```ts\n// oxlint.config.ts\nimport { defineConfig } from \"oxlint\";\nimport { antelopePreset } from \"@antelopejs/tooling-configs/oxc/lint\";\n\nexport default defineConfig({\n  extends: [antelopePreset()],\n  // Only read from the root config, never from a preset.\n  options: { typeAware: true },\n});\n```\n\n```jsonc\n// package.json\n{\n  \"scripts\": {\n    \"lint\": \"oxlint\",\n    \"lint:fix\": \"oxlint --fix\",\n  },\n}\n```\n\nType-aware rules (`typescript/no-floating-promises`) also need the tsgolint binary:\n\n```bash\npnpm add -D oxlint-tsgolint\n```\n\n### What the preset turns on\n\n| Group          | Contents                                                                                                    |\n| -------------- | ----------------------------------------------------------------------------------------------------------- |\n| oxc defaults   | the `correctness` category, plus the `eslint`, `typescript`, `node`, `oxc`, `import` and `promise` plugins  |\n| imports        | `import/no-cycle`, `import/no-self-import`, `import/no-duplicates` as errors                                |\n|                | (a repository with existing cycles starts with `importCycles: \"warn\"`)                                      |\n| import sorting | `perfectionist/sort-imports`, autofixed by `oxlint --fix`                                                   |\n| complexity     | `max-params` 5, `max-lines-per-function` 120, `max-lines` 500, `max-depth` 4, `complexity` 20 — as warnings |\n| anti-slop      | all 15 generic rules, as warnings                                                                           |\n| type-aware     | `typescript/no-floating-promises` as an error                                                               |\n\n### Options\n\n```ts\nantelopePreset({\n  antiSlop: \"error\", // \"warn\" (default) | \"error\" | false\n  importCycles: \"warn\", // \"error\" (default) | \"warn\" | false\n  complexity: { maxParams: 8 }, // override thresholds, or false\n  importSorting: false, // leave imports alone\n  typeAware: false, // no tsgolint in this repository\n});\n```\n\n`correctness` is raised to error deliberately. oxlint reports it as warnings, and warnings\ndo not fail the command — a preset that left it alone could never fail a pipeline, while\nBiome was failing the build on the same rules.\n\n`antiSlop` and `complexity` default to warnings on purpose: a repository adopting them\nhas findings to work through, and a red pipeline on day one teaches the team to ignore\nthe pipeline. Raise them to `\"error\"` once the backlog is clear.\n\n### Adding your own ignore patterns\n\noxlint does not merge `ignorePatterns` across `extends`. A root config that declares its\nown **replaces** the preset's, so spread them:\n\n```ts\nimport {\n  ANTELOPE_IGNORE_PATTERNS,\n  antelopePreset,\n} from \"@antelopejs/tooling-configs/oxc/lint\";\n\nexport default defineConfig({\n  extends: [antelopePreset()],\n  ignorePatterns: [...ANTELOPE_IGNORE_PATTERNS, \"playground/**\"],\n});\n```\n\n## oxfmt\n\n```ts\n// oxfmt.config.ts\nimport { antelopeFmtPreset } from \"@antelopejs/tooling-configs/oxc/fmt\";\n\nexport default antelopeFmtPreset();\n```\n\n```jsonc\n// package.json\n{\n  \"scripts\": {\n    \"format\": \"oxfmt .\",\n    \"format:check\": \"oxfmt --check .\",\n  },\n}\n```\n\n### The house style\n\n| Option                 | Value      |\n| ---------------------- | ---------- |\n| `printWidth`           | 80         |\n| `tabWidth` / `useTabs` | 2 / spaces |\n| `semi`                 | true       |\n| `singleQuote`          | false      |\n| `trailingComma`        | `\"all\"`    |\n\nEvery field is set explicitly, including those that already match oxfmt's defaults.\nRepositories carry `.editorconfig` files that contradict each other — five declare tabs,\ntwo declare spaces, which is why the codebases drifted apart in the first place — and\noxfmt falls back to `.editorconfig` for any field a config leaves unset. Stating all of\nthem is what makes the style identical everywhere. Fix the repository's `.editorconfig`\nto match anyway, so editors agree with the formatter.\n\nImport order is not part of it: `perfectionist/sort-imports` owns that on the lint side.\nEnabling oxfmt's `sortImports` as well would have two tools sorting the same imports\ndifferently, each undoing the other on every save.\n\nExtra ignores are **added** to the shared ones rather than replacing them, so a repository\nadopting oxfmt in stages can park a directory without losing the rest:\n\n```ts\nexport default antelopeFmtPreset({ ignorePatterns: [\"frontend-vue/**\"] });\n```\n\nIn a front end, pass the theme stylesheet to replace `prettier-plugin-tailwindcss`:\n\n```ts\nexport default antelopeFmtPreset({\n  tailwindStylesheet: \"./assets/css/main.css\",\n});\n```\n\n### Replacing Biome\n\nPer repository: delete `biome.json` and the `@biomejs/biome` dependency, point `lint`,\n`lint:fix` and `format` at oxlint and oxfmt, and port anything the Biome config carried\nthat the preset does not (`noRestrictedImports` guards become `import/no-cycle`). Reformat\nin its own commit and record it in `.git-blame-ignore-revs`, which GitHub honours, so the\npass does not bury the history.\n\n## ESLint (front ends)\n\noxlint does not lint `.vue` files yet, so the front end stays on ESLint:\n\n```js\n// frontend-vue/eslint.config.mjs\nimport { antelopeNuxtConfig } from \"@antelopejs/tooling-configs/eslint\";\n\nexport default antelopeNuxtConfig({ dirs: [\"./playground\"] });\n```\n\n`@nuxt/eslint` supplies the Vue and TypeScript rules; the preset only records where\nAntelopeJS layers differ from it — single-word page components, `any` and `{}` as\nload-bearing types in the interface layer, `_`-prefixed unused bindings, and import order\nleft to the formatter.\n\nFormatting rules are deliberately absent, `vue/max-attributes-per-line` included: oxfmt\nformats `.vue`, and a lint rule that also reflows markup would fight it on every save.\nDeclare `@nuxt/eslint-config` explicitly — nine layers use it today through\n`@nuxt/eslint` without declaring it.\n\n## Knip\n\n```ts\n// knip.config.ts\nimport { antelopeKnipConfig } from \"@antelopejs/tooling-configs/knip\";\n\nexport default antelopeKnipConfig();\n```\n\nThe defaults declare what Knip cannot infer for an AntelopeJS module: the interface\nsubpaths as public API, and `src/test/**` plus a root `antelope.test.ts` as entry points,\nsince `ajs module test` is not a runner Knip has a plugin for. Without them, Knip reports\nthe whole test suite as dead code.\n\n`src/index.ts` is not among them on purpose: Knip already maps the `main`/`bin` of\npackage.json (`dist/index.js`) back onto `src/index.ts`, ahead of the `dist/**` ignore, so\nrepeating it only earns a \"redundant pattern\" hint.\n\nThe front end is left out of `project` rather than ignored, so a repository that wants\n`frontend-vue/` analysed can add it under Knip's `workspaces` without the preset\noverriding the choice.\n\n## Interface ranges\n\n`@antelopejs/core` keeps one copy of each `@antelopejs/interface-*` package at startup, the\none its implementing module installed, and refuses to start when a loaded module declares a\nrange that copy falls outside. An exact pin (`0.1.7`) or a 0.x caret (`^0.1.2` stops at\n`0.2.0`) therefore breaks a module's startup at the next interface release, with no change to\nthe module.\n\n`antelopejs-check-interface-ranges` fails on such a range in `dependencies` or\n`optionalDependencies`, in every `package.json` git tracks in the repository (playgrounds and\nfront-end layers included), whatever directory it runs from:\n\n| The package…                                      | must declare                                 |\n| ------------------------------------------------- | -------------------------------------------- |\n| consumes the interface                            | `>=<floor> <1.0.0` (`<next major>` from 1.0) |\n| implements it (listed in `antelopeJs.implements`) | `>=<floor> <0.<minor + 1>.0` while it is 0.x |\n\nAn implementer is the opposite case on purpose: it must never be handed a breaking minor it\ndoes not implement. When the implemented interface sits in the same repository, its version is\nthe floor to use. `workspace:`, `file:` and `link:` specs are left alone.\n\n```jsonc\n// package.json\n{\n  \"scripts\": {\n    \"lint\": \"oxlint && antelopejs-check-interface-ranges\",\n  },\n}\n```\n\nPass paths to check only those manifests.\n\n## Vendored anti-slop\n\n`src/oxc/anti-slop/` is a copy of upstream, kept byte-identical so it can be diffed\nagainst new releases. See `src/oxc/anti-slop/VENDORED.md` for the commit it came from and\nany local edits. It is excluded from this repository's own formatting and linting.\n\nUpstream is MIT (`src/oxc/anti-slop/LICENSE`); the rest of this repository is Apache-2.0.\n","readmeFilename":"README.md"}