{"_id":"@anvil-di/anvil-unplugin","_rev":"9-1e4b4fd487da168223cb26ca7a67ed33","name":"@anvil-di/anvil-unplugin","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.2":{"name":"@anvil-di/anvil-unplugin","version":"0.0.2","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.2","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"dist":{"shasum":"271b8bb1a5db04dd6f9566dbb5463da21e387096","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.2.tgz","fileCount":34,"integrity":"sha512-gYrpF4e5DnhA2XMg0LyB5XNLGeg8Xyqjb+xvvTm0kQyBjgVHG6OMeN798EbsomAFPB0HfGNEaF72IksX1YF3Eg==","signatures":[{"sig":"MEYCIQCNphaIBGGa4suj0NWyHimTs1sV/K5N6Mrbnx8Itcm4ywIhAKkHhtux7XgGIQkVw7xKzmuo7SEyZ1HXD/aSRWWcjaS8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79239},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"msulak13","email":"mike@mikesulak.com"},"_resolved":"/private/var/folders/qf/pst69k617_n5170_c6j0_l0r0000gn/T/245a835c0bd74ec7d65d046ae7243746/anvil-di-anvil-unplugin-0.0.2.tgz","_integrity":"sha512-gYrpF4e5DnhA2XMg0LyB5XNLGeg8Xyqjb+xvvTm0kQyBjgVHG6OMeN798EbsomAFPB0HfGNEaF72IksX1YF3Eg==","_npmVersion":"11.6.2","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.2","@anvil-di/anvil-codegen-wasm":"0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.2_1779037522513_0.09201321780187843","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@anvil-di/anvil-unplugin","version":"0.0.3","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.3","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"39041d111722d4a50aa3dc22469096f102a9527a","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.3.tgz","fileCount":34,"integrity":"sha512-2KP6ainfqoLL+4gyMqw3zXPFXxRdUs9EY1zVGipjlMs2JgsAK7xCaAJ+Gh+As4f1wnLkAZ/qext8JvrHy/q0pA==","signatures":[{"sig":"MEQCIEOvVwNCXxC3ng9oMkX/S8XhLUbTiiEsML4N72UJEsJIAiAziMeofEUyb1K4Dre6Z8l3Y/taMETDplkXykMFP75p0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80006},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.3.tgz","_integrity":"sha512-2KP6ainfqoLL+4gyMqw3zXPFXxRdUs9EY1zVGipjlMs2JgsAK7xCaAJ+Gh+As4f1wnLkAZ/qext8JvrHy/q0pA==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"11.14.1","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.3","@anvil-di/anvil-codegen-wasm":"0.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.3_1779067524004_0.5049982061225267","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@anvil-di/anvil-unplugin","version":"0.0.4","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.4","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"9ba0185632accef5a3c16cfac10d598ff86513e7","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.4.tgz","fileCount":34,"integrity":"sha512-3M0HASineABvuB/QZPospD9bcX3owdfqqCUywuwodBohfVjCxVehzg3XhhlJjMn8ZbgSDaPDd3E9J6F366+j3A==","signatures":[{"sig":"MEQCIFB2HJcrQEVkXLdBFZnmhzn7Hbe+ybASoF9RoGdT5qBbAiAZwlRxi5g6K4FwhyNaUqFSV94327utJl28VbakgqNMNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80006},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.4.tgz","_integrity":"sha512-3M0HASineABvuB/QZPospD9bcX3owdfqqCUywuwodBohfVjCxVehzg3XhhlJjMn8ZbgSDaPDd3E9J6F366+j3A==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"11.14.1","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.4","@anvil-di/anvil-codegen-wasm":"0.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.4_1779149644448_0.10303470260403835","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@anvil-di/anvil-unplugin","version":"0.0.5","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.5","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"492fc19de32f12467ffd5b5e824e893760a665f8","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.5.tgz","fileCount":34,"integrity":"sha512-3W8FuDr+nYrYSjfMXSozpwiSO0aS56xQmOgsn/HV3GFZQRK0/Bm3T6h8zj85ClOIuqW/c3+yBf0+7hZREMH2PQ==","signatures":[{"sig":"MEUCIDr0VjYju5fY2Ayp3HNHqp5WQHxZ+kwamp+2cHpojo5iAiEAiwEDEBBaChVbgMrBOZljaf1JucKrg0bOT3hhOUxBwV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80022},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.5.tgz","_integrity":"sha512-3W8FuDr+nYrYSjfMXSozpwiSO0aS56xQmOgsn/HV3GFZQRK0/Bm3T6h8zj85ClOIuqW/c3+yBf0+7hZREMH2PQ==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"12.0.1","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.5","@anvil-di/anvil-codegen-wasm":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.5_1784953745549_0.36578042829311963","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@anvil-di/anvil-unplugin","version":"0.0.6","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.6","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"92f184592a7ff006ee790c0bd1d984dfff71e069","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.6.tgz","fileCount":34,"integrity":"sha512-FQ7C1ZRNkYOc45f6U1qzIXFWnHuusbWNmRO4gwnUgiqQYbXQ7LhA7aCpC2nugZ4E0LZ3NICCyD+buG296Nmjvg==","signatures":[{"sig":"MEUCIFnvmJdFb1hc/S1I6Z1Z8/NzwKbMs1fsz3GzwQ6H+X1fAiEAxXELw0xyhOvZRhNLlL6iq1ee1c3zbsvLjRT+cF1xoQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80022},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.6.tgz","_integrity":"sha512-FQ7C1ZRNkYOc45f6U1qzIXFWnHuusbWNmRO4gwnUgiqQYbXQ7LhA7aCpC2nugZ4E0LZ3NICCyD+buG296Nmjvg==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"12.0.1","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.6","@anvil-di/anvil-codegen-wasm":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.6_1784955791426_0.25148468727116224","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@anvil-di/anvil-unplugin","version":"0.0.7","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.7","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"f74aff261a2de3fc4fdfdcf33fcb479a62b1c7a1","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.7.tgz","fileCount":34,"integrity":"sha512-5wDULtVfg84tqoptTWkpb8aScx3xeUESmuM4I7NiNIwSvO7Bv16SlZtHwBNedfukbW7xiVWuSuMWE0wv9tv+5w==","signatures":[{"sig":"MEYCIQClIngrXbzAtKu1vMhT9fhdnVcuFyvscRJwEL7eRGlNjAIhAKjDiQsOv688AvnwVghMcP7ZTUeFtKH9aIMka+I54+0d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80022},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.7.tgz","_integrity":"sha512-5wDULtVfg84tqoptTWkpb8aScx3xeUESmuM4I7NiNIwSvO7Bv16SlZtHwBNedfukbW7xiVWuSuMWE0wv9tv+5w==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"12.0.1","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.7","@anvil-di/anvil-codegen-wasm":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.7_1784993913613_0.230177003536014","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@anvil-di/anvil-unplugin","version":"0.0.8","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.8","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"007beb07d8976938aba6bc27a221d46a09f7389e","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.8.tgz","fileCount":34,"integrity":"sha512-kZViTnS+XoczS/Jsrcel94xzrW+JTVmNO/FpV00kixBw99Sp0RfexOWwuYU96WfiM01qD1jiA+5sdRibut8nVA==","signatures":[{"sig":"MEQCIFk9JSfSKbWKSts6N1Aan/ExvRkJubCFrqMI5AtPFm86AiAjd/qod+fjMk7ps4/EZf8HQjw+QuJbt2//uTBQWTPCzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80022},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.8.tgz","_integrity":"sha512-kZViTnS+XoczS/Jsrcel94xzrW+JTVmNO/FpV00kixBw99Sp0RfexOWwuYU96WfiM01qD1jiA+5sdRibut8nVA==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"12.0.1","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"unplugin":"^1.16.0","@anvil-di/anvil-cli":"0.0.8","@anvil-di/anvil-codegen-wasm":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.8_1785176176609_0.28742762549069334","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@anvil-di/anvil-unplugin","version":"0.0.9","license":"Apache-2.0","_id":"@anvil-di/anvil-unplugin@0.0.9","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"homepage":"https://github.com/msulak13/anvil#readme","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"281a70e05ae112b16b495a7fac1394c5256ca9dd","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.9.tgz","fileCount":41,"integrity":"sha512-Yi8fLMdYaSafLOLdm0zxqgGm+4lDPdzzOyHfHaSrJfb2lyAJUrtZrgypRN4J5LwLENpE85a5AWkyzlthVoeOXg==","signatures":[{"sig":"MEQCIEVRZcIF6VgPctK+BbyJycdvkjqeMy9zlloa26iXiz7VAiAjDn6Zz6yyKRZIQOhF4GReF1TMCOLp4XkNqoC3OjPXgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133450},"main":"./dist/index.js","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./strip":{"types":"./dist/decorator-strip.d.ts","import":"./dist/decorator-strip.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.9.tgz","_integrity":"sha512-Yi8fLMdYaSafLOLdm0zxqgGm+4lDPdzzOyHfHaSrJfb2lyAJUrtZrgypRN4J5LwLENpE85a5AWkyzlthVoeOXg==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"12.0.2","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"unplugin":"^1.16.0","oxc-parser":"^0.143.0","magic-string":"^1.1.0","@anvil-di/anvil-cli":"0.0.9","@anvil-di/anvil-codegen-wasm":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","rolldown":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/anvil-unplugin_0.0.9_1786064740429_0.44611315368085847","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"_id":"@anvil-di/anvil-unplugin@0.0.10","bugs":{"url":"https://github.com/msulak13/anvil/issues"},"dist":{"shasum":"13fbf1d28b5fb3af1775cb00aa69cdbc7f12d0d2","tarball":"https://registry.npmjs.org/@anvil-di/anvil-unplugin/-/anvil-unplugin-0.0.10.tgz","fileCount":41,"integrity":"sha512-W8mZr6ExhqYiVjm/l8+og6P8m24eKibD0WDWEoPLNWt4ma3LujP6tZlB+NK/STN0bSNH/qfl1pWad2hvsGUTiQ==","signatures":[{"sig":"MEYCIQC6QZpKOfcaDOXuiMh/E5f/Z0RcbdZwRG7ibP3wNsa0qwIhAKgCKOhagPxSAQYGQH+wvT9Xlp1D0xX3LO3HK5qomxFv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFTwn0cfsiVPRsZW0N741gFT37Bw6p81gVmCDWPw/JjkAiBBiQwUjtOjoG3WGu+5TmJA7L420/b9cIcZhSt11JHMJg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anvil-di%2fanvil-unplugin@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133452},"main":"./dist/index.js","name":"@anvil-di/anvil-unplugin","type":"module","_from":"file:anvil-di-anvil-unplugin-0.0.10.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./strip":{"types":"./dist/decorator-strip.d.ts","import":"./dist/decorator-strip.js"},"./rollup":{"types":"./dist/rollup.d.ts","import":"./dist/rollup.js"},"./rspack":{"types":"./dist/rspack.d.ts","import":"./dist/rspack.js"},"./esbuild":{"types":"./dist/esbuild.d.ts","import":"./dist/esbuild.js"},"./webpack":{"types":"./dist/webpack.d.ts","import":"./dist/webpack.js"}},"license":"Apache-2.0","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"version":"0.0.10","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22137705-d077-4889-a798-2977861a78ae"}},"homepage":"https://github.com/msulak13/anvil#readme","_resolved":"/home/runner/work/anvil/anvil/packages/anvil-unplugin/anvil-di-anvil-unplugin-0.0.10.tgz","_integrity":"sha512-W8mZr6ExhqYiVjm/l8+og6P8m24eKibD0WDWEoPLNWt4ma3LujP6tZlB+NK/STN0bSNH/qfl1pWad2hvsGUTiQ==","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"_npmVersion":"12.0.2","description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","directories":{},"maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"_nodeVersion":"24.19.0","dependencies":{"unplugin":"^1.16.0","oxc-parser":"^0.143.0","magic-string":"^1.1.0","@anvil-di/anvil-cli":"0.0.10","@anvil-di/anvil-codegen-wasm":"0.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","rolldown":"^1.2.0","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/anvil-unplugin_0.0.10_1787419137818_0.15524515695111551"}}},"time":{"created":"2026-05-17T17:05:22.424Z","modified":"2026-08-22T17:18:58.347Z","0.0.2":"2026-05-17T17:05:22.661Z","0.0.3":"2026-05-18T01:25:24.163Z","0.0.4":"2026-05-19T00:14:04.598Z","0.0.5":"2026-07-25T04:29:05.693Z","0.0.6":"2026-07-25T05:03:11.606Z","0.0.7":"2026-07-25T15:38:33.748Z","0.0.8":"2026-07-27T18:16:16.792Z","0.0.9":"2026-08-07T01:05:40.556Z","0.0.10":"2026-08-22T17:18:57.913Z"},"bugs":{"url":"https://github.com/msulak13/anvil/issues"},"license":"Apache-2.0","homepage":"https://github.com/msulak13/anvil#readme","repository":{"url":"git+https://github.com/msulak13/anvil.git","type":"git"},"description":"Run anvil codegen as part of your bundler's normal pipeline. One plugin, every bundler (Vite, Rollup, Webpack, Rspack, esbuild) via unplugin.","maintainers":[{"name":"msulak13","email":"mike@mikesulak.com"}],"readme":"# `@anvil-di/anvil-unplugin`\n\nRun [`@anvil-di/anvil`](https://github.com/msulak13/tsdi) codegen as part of your bundler's normal pipeline. Built on [`unplugin`](https://github.com/unjs/unplugin) so a single adapter works across Vite, Rollup, Webpack, Rspack, and esbuild.\n\n## Why\n\nToday's flow without the plugin:\n\n```bash\nanvil build        # regenerate every .anvil.ts\nvite build         # bundle\n```\n\nThat gets stale fast in dev — every edit to a `@Module` requires re-running `anvil build` before `vite dev`'s HMR will see the change. With the plugin:\n\n```ts\n// vite.config.ts\nimport anvil from \"@anvil-di/anvil-unplugin/vite\";\n\nexport default defineConfig({\n  plugins: [anvil()],\n});\n```\n\nCodegen runs on `buildStart` and on every relevant file change in dev (debounced). Validation errors flow through the bundler's normal error pipeline — Vite's overlay, Rollup's warning channel, Webpack's stats output.\n\n## Per-bundler imports\n\n```ts\nimport anvil from \"@anvil-di/anvil-unplugin/vite\";      // Vite plugin\nimport anvil from \"@anvil-di/anvil-unplugin/rollup\";    // Rollup plugin\nimport anvil from \"@anvil-di/anvil-unplugin/webpack\";   // Webpack plugin\nimport anvil from \"@anvil-di/anvil-unplugin/rspack\";    // Rspack plugin\nimport anvil from \"@anvil-di/anvil-unplugin/esbuild\";   // esbuild plugin\n```\n\n## Options\n\n```ts\nanvil({\n  // Component entry files. Defaults to whatever anvil.config.json\n  // declares, just like running `anvil build` with no args.\n  entries: [\"src/**/*-component.ts\"],\n\n  // Forwarded to `anvil build --tsconfig ...`. Lets the resolver honor\n  // tsconfig `paths` / `baseUrl` aliases.\n  tsconfig: \"./tsconfig.json\",\n\n  // Path to the `anvil` binary. Defaults to the native binary resolved\n  // via @anvil-di/anvil-cli's optionalDependencies.\n  cli: \"/path/to/anvil\",\n\n  // Debounce window for re-running codegen after a file edit (ms).\n  // Defaults to 100, matching `anvil watch`.\n  debounceMs: 100,\n\n  // Which codegen backend to use:\n  // - \"native\" (default): spawn the anvil Rust binary\n  // - \"wasm\": run in-process via @anvil-di/anvil-codegen-wasm (no spawn overhead)\n  mode: \"native\",\n\n  // Delete anvil's no-op decorators before the bundler transforms them.\n  // Defaults to true; see \"Decorator stripping\" below.\n  stripDecorators: true,\n});\n```\n\n## Decorator stripping\n\nanvil is [standard-decorators-only](../../docs/adr/0002-stage3-decorators-only.md). oxc — which **Rolldown, Vite 6+, and Rspack** transform with — implements only the *legacy* convention, which leaves an anvil project with two broken options:\n\n| oxc setting | result |\n| --- | --- |\n| default (`decorator.legacy: false`) | Decorators reach the output verbatim: `var C = @Controller(\"/x\") class {...}`. Importing the bundle throws `SyntaxError`. |\n| `decorator.legacy: true` | Method decorators are called `(target, key, descriptor)`, but anvil's are `(target, context) => target`. `__decorate` then does `Object.defineProperty(target, key, theClass)` and corrupts the class. |\n\nThe usual escape is routing those files through `tsc`, whose standard-decorator emit is correct — at the cost of a dependency on TypeScript's JS compiler API, which TypeScript 7 does not ship.\n\nSo the plugin takes a third option: it **deletes** the decorators before the bundler sees one. This is on by default, and it is what lets an anvil project bundle correctly on an oxc-based toolchain at all.\n\n### Why deleting is correct\n\nEvery decorator in `@anvil-di/anvil` and `@anvil-di/bellows` is an identity function — `return target`. They exist so your code typechecks; the wiring they describe is read out of the **source** by the Rust toolchain during `anvil build` / `anvil-bellows`, before a bundler is involved. This is invariant #1: *\"No runtime reflection. Decorators are no-ops at runtime.\"*\n\nApplying them is therefore observably identical to not applying them, minus the `__esDecorate`/`__runInitializers` helpers a real emit inlines into every module that uses one.\n\n### Safety\n\nOnly decorators whose binding resolves to a **known no-op module** are removed. Matching is by import binding, not by name, so a local helper that happens to be called `Get` is untouched; aliases (`import { Inject as I }`) and namespace imports (`@anvil.Inject`) resolve correctly.\n\n```ts\n@Controller(\"/x\")          // removed\nexport class C {\n  @observable count = 1;   // kept — not ours, might do something\n}\n```\n\nA decorator with real behaviour therefore survives into the output and fails loudly, rather than being silently dropped.\n\n### Options\n\n```ts\n// Also strip your own compile-time-only markers — a `@Public(reason)` that\n// only anvil-bellows reads, say. A string matches a specifier exactly; a\n// RegExp is tested against it. Relative specifiers match as written in the\n// importing file, so prefer a RegExp.\nanvil({\n  stripDecorators: { additionalModules: [/(?:^|\\/)http\\/public-route(?:\\.js)?$/] },\n});\n\n// Or turn it off, if something else in your pipeline already handles\n// standard decorators correctly (a ts-loader / tsc pre-pass, say).\nanvil({ stripDecorators: false });\n```\n\n> Adding a module to `additionalModules` asserts that none of its decorators do anything at runtime. That claim is not verified.\n\n### Without the codegen hooks\n\nA project that already runs `anvil build` / `anvil-bellows` its own way (a `gen` npm script, say) and only needs its bundle to come out runnable can take the transform alone:\n\n```ts\n// rolldown.config.ts\nimport { stripDecoratorsUnplugin } from \"@anvil-di/anvil-unplugin/strip\";\n\nexport default {\n  input: \"src/index.ts\",\n  plugins: [stripDecoratorsUnplugin.rolldown()],\n};\n```\n\n`.vite()`, `.rollup()`, `.webpack()`, `.rspack()` and `.esbuild()` are available the same way. The underlying functions — `stripNoopDecorators(code, id, options)` and the cheap pre-filter `mayContainNoopDecorators(code, options)` — are exported from the same entry point for hand-written transforms. `stripNoopDecorators` returns `null` when there is nothing to do, so callers can pass the original source and its existing source map straight through.\n\n## How it works\n\nThe plugin invokes the `anvil` CLI as a child process (native mode) or runs the WASM pipeline in-process (wasm mode):\n\n- **`buildStart`** — runs once at the beginning of every build, blocking the bundler until codegen finishes. If `anvil build` fails, the bundler's error handling surfaces the diagnostic.\n- **`watchChange`** — fires on every source `.ts` / `.tsx` edit in dev. Schedules a debounced rebuild; concurrent edits collapse into a single re-run. `.anvil.ts` outputs are ignored to avoid self-trigger loops.\n\nThe bundler's normal TypeScript pipeline then picks up the freshly generated `*.anvil.ts` files. There's no special TS plugin; `.anvil.ts` is just `.ts`.\n\n## How the binary gets there\n\n`@anvil-di/anvil-unplugin` depends on [`@anvil-di/anvil-cli`](../anvil-cli/README.md), which is the npm launcher for anvil's native Rust binary. `@anvil-di/anvil-cli` declares one `optionalDependencies` entry per supported platform (`@anvil-di/anvil-cli-linux-x64`, `@anvil-di/anvil-cli-darwin-arm64`, etc.); npm installs **only** the matching one based on `os`/`cpu` filters. At runtime the unplugin calls `resolveBinaryPath()` from `@anvil-di/anvil-cli` to find the binary — no PATH manipulation or `cargo install` required.\n\nThe same `cli` option still works if you want to point at a custom build (a `cargo build --release`'d binary outside `node_modules`, for example).\n\n## Limitations (v0.2)\n\n- In native mode the plugin spawns one process per build. Hot reload is fast (~50–200ms for a typical project); use `mode: \"wasm\"` for in-process codegen without the spawn overhead.\n- Diagnostics flow as raw `anvil` stderr through the bundler's error API. Future work: parse the structured output and emit per-file diagnostics with source maps.\n- Watch granularity is \"any `.ts` change re-runs codegen for all configured entries\". The CLI's M5 watch mode does smarter per-entry source-closure tracking; future versions of this plugin should reuse that data instead of duplicating its own filter.\n","readmeFilename":"README.md"}