{"_id":"@adrianhall/cloudflare-toolkit","_rev":"14-a399cb100531369daf8bf34c3809851e","name":"@adrianhall/cloudflare-toolkit","dist-tags":{"latest":"2.7.0"},"versions":{"0.0.1":{"name":"@adrianhall/cloudflare-toolkit","version":"0.0.1","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@0.0.1","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"d88f4b22bd2a61a07ef8fdb89f9061016abeb858","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-0.0.1.tgz","fileCount":51,"integrity":"sha512-4IMGDqcRwkmCXeujketuWp3p983WfsIqAeHDnEbimEukeLCk5FB1iLc5spFyiwYm2YIfrbTsDg7Km6Dw2fjAoQ==","signatures":[{"sig":"MEQCIA9vxwNa7mHGqduESKveK1GUKo4KxhkVpDR/VwpnjcKmAiAmiPSy+joo9wXyDiol8H4aqY19ZumlWM6eFzkmKqHRqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":351942},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"7673da6dd6768463d7adf7a0c304b766b367d89f","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"photoadrian","email":"photoadrian@outlook.com"},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.17.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"26.5.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260708.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_0.0.1_1783786937441_0.7494427528603644","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@adrianhall/cloudflare-toolkit","version":"1.0.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@1.0.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"f1c67734912aa0d6a7dddac89cd3e3f60e4ee528","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-1.0.0.tgz","fileCount":51,"integrity":"sha512-dlI7dA5aq+gUJ0SK4JNdMs2E/GDaw0XyXp0M75RHP0TkmJkCVrVV6zHErtSStXO3u+KZdIuakexhS9EAtXRHYQ==","signatures":[{"sig":"MEYCIQDfJT8TwQHMyYdJHXRD1ZZEAoBwcACKANzE8STk+DLMgwIhANCjgvLXFfH2emDSG+ZY+08uXe2CeNpWdUs5F0+8NM74","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354022},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"97a907d99d8e2a31acd27cc89f1bd87daaad7b2c","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","release":"npm run build && changeset publish","docs:dev":"npm --prefix docs run dev","changeset":"changeset","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build","version-packages":"changeset version && prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@changesets/cli":"^2.31.0","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260708.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_1.0.0_1783797002314_0.8845231161131","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adrianhall/cloudflare-toolkit","version":"1.0.1","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@1.0.1","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"90e146b846cf388d7fda1dd32bdad8413f4e98d3","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-1.0.1.tgz","fileCount":51,"integrity":"sha512-aMp7P51TY7qoDdh9u5cd3C2jV6WhCZaYczeWHZwYOafZzE1v/wBjJfg3GYua3bA/UA8WdWsn47Ukd0Dvqfoalw==","signatures":[{"sig":"MEQCIEm5WPsz71uDi0C3AYLO25qIEoyH256IEVs550gep32AAiBmsSGWCuZGM8rCKqGd6CvSaDV4STJ/9cnyKVFEmDG0xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354098},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"e24bcb99d2e69ada3eca99f9711a82289478783f","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","release":"npm run build && changeset publish","docs:dev":"npm --prefix docs run dev","changeset":"changeset","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build","version-packages":"changeset version && prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@changesets/cli":"^2.31.0","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260708.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_1.0.1_1783801407573_0.2559178481017492","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@adrianhall/cloudflare-toolkit","version":"1.0.2","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@1.0.2","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"ada87df19ade5876eec780933c31c2b3b28089b2","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-1.0.2.tgz","fileCount":51,"integrity":"sha512-Hox84VMnX1kEpkfOFymx3NJ7i/4xica8hNu+BHzbSXpqOY27L3vA+GwhtHiE9h1bwB3cV1dfBAzpQj6RRnK6uw==","signatures":[{"sig":"MEUCIQCTk/gpuNbRySv3TxOHNy90AgDygRsm8deuddpYPcD1hgIgLU6Lc7yNNlr+oUbVV8fH5mpQi+BPiQ9n0rLIslIzk4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354098},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"249e0b697d9877afe0c8d0780e328cb094860685","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","release":"npm run build && changeset publish","docs:dev":"npm --prefix docs run dev","changeset":"changeset","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build","version-packages":"changeset version && prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@changesets/cli":"^2.31.0","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260708.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_1.0.2_1784195420007_0.28841687592284804","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.0.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.0.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"819b5c71fb9c07e21e90eb041ae2b7e5ba10c0bd","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.0.0.tgz","fileCount":51,"integrity":"sha512-BEKxY+ZmGhfDhx8J26NmUblai+0oCTVFKfL7ZKSvoRyPgpkSZbDbiGECWn6By+GwbpULiDkDGuCKWziT/Zw4/w==","signatures":[{"sig":"MEYCIQDS7Sha8zLL3ft/Wd9hhnkVkVKPO+XkDFVjqhYkRMjgIQIhAJHfOuem+F8PlCdLoIwsjKq1v4lOafBr9DG0yTaabZOi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354811},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"7a19b70beaae2b97c748e8a69135a396d8f8edce","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","release":"npm run build && changeset publish","docs:dev":"npm --prefix docs run dev","changeset":"changeset","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build","version-packages":"changeset version && prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@changesets/cli":"^2.31.0","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260708.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.0.0_1784288112804_0.5742741311870194","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.1.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.1.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"959e6c034ec1eb0388ee3093eb737fce799cb00f","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.1.0.tgz","fileCount":51,"integrity":"sha512-4BUYxQI/nxdS6HZypHfrIIQ4y0Opbjuta1RU1hgReoeu5wFzyuDjxuF7NJsrlYvp254GfixU0ZV75qncFWlaAQ==","signatures":[{"sig":"MEQCICw092EjByAoVUtoqEGK3CwDh73X0H4Np9W0YS2QlgLKAiARNVx80JmQOaGU2lxqSmzxCCmU+5OtPTXodkFZgRK3kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":359774},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"f3ae631fc0174ba0797014dbe88935410895a0b3","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","release":"npm run build && changeset publish","docs:dev":"npm --prefix docs run dev","changeset":"changeset","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build","version-packages":"changeset version && prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@changesets/cli":"^2.31.0","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.1.0_1785140205679_0.007282413602905269","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.2.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.2.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"9adc49c1114f8544222a17f1bc38edf5313450df","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.2.0.tgz","fileCount":59,"integrity":"sha512-oKd03BcgtyxbF+io/OE2Eu/XZ1pbKQ+wSEgjWWl+t1fwH07/0unmFZsFa5K3v0BuSPoRCVyKrmnQIBKe/VkbOw==","signatures":[{"sig":"MEUCIEMtsWffTXXeye1DLWbZw3pX97viFVUylUS9RK0x4QtXAiEAsaVBe6Zb/cAAn8wy8i+cI4YujwEvwt4f1Gz8wT3S1lQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":419294},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"4de2b8c255decd91b771de72a04dbf0280686d38","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","release":"npm run build && changeset publish","docs:dev":"npm --prefix docs run dev","changeset":"changeset","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build","version-packages":"changeset version && prettier --write ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260708.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@changesets/cli":"^2.31.0","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.2.0_1785235179474_0.18062466186846127","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@adrianhall/cloudflare-toolkit","version":"2.2.1","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.2.1","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"bbcdb4b7e9acd1fdf0966d5c706ad8eb4c2c425c","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.2.1.tgz","fileCount":59,"integrity":"sha512-+afWywY64rueNKdQFN+MCxF6H6nVtBi0XsqPMwnImy8yXCZTyPCow5gf6coHjhHJ/SpGEvduBhVW/cjQaHWyAg==","signatures":[{"sig":"MEYCIQDAACkR4GPVx5YEyRVKYqRe7gAI0+wpRJnaCvZdYxQIwAIhAO8rz37kWjignSYImi1Bw9yNodyJD+ThHshsH4VYpPoR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":419124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"31c862f5ff81c32d2d57075d466cecb9423954be","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.2.1_1785240100059_0.3910717446186305","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.3.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.3.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"empty-r2-bucket":"dist/cli/empty-r2-bucket/index.js","generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"791617074be26eb89b7bc06c30e3677fe7cfc1e3","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.3.0.tgz","fileCount":66,"integrity":"sha512-OWEVhckWDEJWsPU3KDptzi9/QQeQhBdIJAeqBCaig6i2cxtJRN7mKYyNOaqZ1E0kAb1IucJr4K5BmPE+dY0T7Q==","signatures":[{"sig":"MEYCIQDiq75LmoYaohuTHm49aTJ0tCxUwCMqHGsApfEkf07vFwIhALT6PswzZ0AU6o7FlhYSqC4pyqNt8ALLiDdm4d90e96e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470911},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"f357ebdee631fec019c9d4d69b354a3bbadbeadf","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:live:r2":"vitest run --config test/live/vitest.config.ts","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.16.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.18.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","semver":"^7.8.5","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@types/semver":"^7.7.1","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.3.0_1785315318118_0.9562679030762853","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.4.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.4.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"empty-r2-bucket":"dist/cli/empty-r2-bucket/index.js","generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"4c8bbb52ea71f5af2c9389241720c3c7017705e5","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.4.0.tgz","fileCount":66,"integrity":"sha512-dJ0OWpNXCHpwGrAGvKFgwtpd54iYzHosJYBm6l12vf/Tgf8wrGB4/7UkozcavDc1PgTM9SUnSFBLRj+iDZTDuQ==","signatures":[{"sig":"MEYCIQC7Q0XZwZaGHINaZHjGRpUEEQUxuziU+ZtEHAQeLQfwFwIhAMrdL1hlYCrYLqZ+SGEjbqHoxX01W3RtXv6o6/ZvZgFc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":489444},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"d07dd97566169d6b56e8b1bfaa6253c362f8170d","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:live:r2":"vitest run --config test/live/vitest.config.ts","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.17.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","semver":"^7.8.5","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@types/semver":"^7.7.1","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.4.0_1786699114922_0.6958156136095324","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.5.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.5.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"empty-r2-bucket":"dist/cli/empty-r2-bucket/index.js","cf-access-policy":"dist/cli/access-policy/index.js","generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"86b3b7548c77dc98b1ee67c9800c0b9bb66b099c","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.5.0.tgz","fileCount":70,"integrity":"sha512-hDWwZZVKcwmWKpIcocs1rjymA/cMJoyrqsHzQu1gXiykZh+9qOlsnKmoyhJgM+Vk6b/w+wQWue/n8oxhB+I37w==","signatures":[{"sig":"MEYCIQDmyCRq9CpeHcLZnXDa7yILVExbiOTaq2D6pOdasfnzygIhAInP24e2vKr/IxVAdn2DHdIxuXz6pwAE14SorsVQ/6bN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557964},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"ca0f3c0cf9d5282212ec2f4bd997b603365444be","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:live:r2":"vitest run --config test/live/vitest.config.ts","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.17.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","semver":"^7.8.5","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@types/semver":"^7.7.1","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"cf":"^0.6.0","hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.5.0_1787151003281_0.6906907649059812","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@adrianhall/cloudflare-toolkit","version":"2.5.1","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.5.1","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"empty-r2-bucket":"dist/cli/empty-r2-bucket/index.js","cf-access-policy":"dist/cli/access-policy/index.js","generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"79e1946d32a29e1f9ad3159fa5d712cca43e58ec","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.5.1.tgz","fileCount":70,"integrity":"sha512-fOB1ZB5opjzFnF/rcdIJzRnE0ASajwrC5vN7TcZZio9RchmUM4diQnECZJs2KTmeTODX7742+GU+vbLl2VUxWA==","signatures":[{"sig":"MEUCIEDS6EVeOMqJeLxn9glXIv7K8YnFcLZW/6GOxJqMzqxkAiEAunaHdY062xzOY0oKzl3Cz0U90t7re8OsoqLEGIqFszA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"77b3b5a0f0e68e7b9bdc97e7d64d3de2476483e4","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:live:r2":"vitest run --config test/live/vitest.config.ts","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.17.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.19.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","semver":"^7.8.5","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@types/semver":"^7.7.1","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"cf":"^0.6.0","hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.5.1_1787152921712_0.551547825937736","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@adrianhall/cloudflare-toolkit","version":"2.6.0","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"license":"MIT","_id":"@adrianhall/cloudflare-toolkit@2.6.0","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"homepage":"https://adrianhall.github.io/cloudflare-toolkit","bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"bin":{"cf-inventory":"dist/cli/inventory/index.js","empty-r2-bucket":"dist/cli/empty-r2-bucket/index.js","cf-access-policy":"dist/cli/access-policy/index.js","generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"dist":{"shasum":"49d8537b034bf0b0b613555ab68cb739c3958bc8","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.6.0.tgz","fileCount":71,"integrity":"sha512-BZItdix8lKBeVg/Vnu4g3AsgmPfCpQZrEdjI01cMdSmAMvEBPe+8bvSCW0dnnObDJ2oO3B7Z3TW8bnTWwBwqYw==","signatures":[{"sig":"MEUCIQDEBwx/BE5qdVh9MzJOBCLpRaZnr/uCTuoDSxakPRoLFAIgC0492DciL76mut77Axm+HtfNDX4fXwB35leZu/Tk8sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":693336},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"aa21181cabdb209a2ff162546e3493187de2d961","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:live:r2":"vitest run --config test/live/vitest.config.ts","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5022d03-163b-4a5f-8787-d1b76b603def"}},"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.19.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"_nodeVersion":"24.20.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","semver":"^7.8.5","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@types/semver":"^7.7.1","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"cf":">=0.6.0 <1","hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"cf":{"optional":true},"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cloudflare-toolkit_2.6.0_1789038882635_0.7956962101821199","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"_id":"@adrianhall/cloudflare-toolkit@2.7.0","bin":{"cf-inventory":"dist/cli/inventory/index.js","empty-r2-bucket":"dist/cli/empty-r2-bucket/index.js","cf-access-policy":"dist/cli/access-policy/index.js","generate-wrangler":"dist/cli/generate-wrangler/index.js","destroy-containers":"dist/cli/destroy-containers/index.js","generate-wrangler-types":"dist/cli/generate-wrangler-types/index.js"},"bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"dist":{"shasum":"67e967291ea5b345ce5d1a7502cb468194615eda","tarball":"https://registry.npmjs.org/@adrianhall/cloudflare-toolkit/-/cloudflare-toolkit-2.7.0.tgz","fileCount":71,"integrity":"sha512-nrwfMLRQd3Q6m5lzEMU1EfF8lgIkpUi6BULOMIr6OSGYL5E8v7Rx9r/yDA98E26zXsEqEJt+QpDgJUr2JJ1XRA==","signatures":[{"sig":"MEQCIEjYdYgX952VN9VKDVZ/lYYqPlqNGUh29vSGbGY6Rk6MAiBahL1pglTYig65JfzMyXRPfpBgMzGoWZG4hGD+6ORAsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCUl6HViOw8NyV9LpdVAu4y3W5goia1RgFb09Ui0D1SpwIhANYrf2r7KSl/WRH945V8Pd8F4iuwIsr7hhhG42s0LZqh"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adrianhall%2fcloudflare-toolkit@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":696548},"main":"./dist/index.js","name":"@adrianhall/cloudflare-toolkit","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=11","node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hono":{"types":"./dist/hono/index.d.ts","import":"./dist/hono/index.js"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"},"./logging":{"types":"./dist/logging/index.d.ts","import":"./dist/logging/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"},"./problem-details":{"types":"./dist/problem-details/index.d.ts","import":"./dist/problem-details/index.js"}},"gitHead":"0b6d554f93451bd90322ead6757485479148fb5d","license":"MIT","private":false,"scripts":{"test":"vitest run","build":"tsdown","check":"run-s check:types check:lint check:format check:pack","prepare":"husky","pretest":"npm run build","docs:dev":"npm --prefix docs run dev","check:lint":"eslint .","check:pack":"npm pack --ignore-scripts --dry-run","docs:build":"npm --prefix docs run build","docs:clean":"shx rm -rf docs/reference docs/.vitepress/cache docs/.vitepress/dist","check:types":"tsc --noEmit","check:format":"prettier --check .","test:live:r2":"vitest run --config test/live/vitest.config.ts","test:coverage":"vitest run --coverage","pretest:coverage":"npm run build"},"version":"2.7.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5022d03-163b-4a5f-8787-d1b76b603def"}},"homepage":"https://adrianhall.github.io/cloudflare-toolkit","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"_npmVersion":"11.19.0","description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","directories":{},"maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"_nodeVersion":"24.21.0","allowScripts":{"sharp@0.34.5":true,"esbuild@0.28.1":true,"fsevents@2.3.3":true,"workerd@1.20260722.1":true},"dependencies":{"jose":"^6.2.3","chalk":"^5.6.2","dotenv":"^17.4.2","commander":"^15.0.0","cross-spawn":"^7.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","hono":"^4.12.28","vite":"^8.1.4","husky":"^9.1.7","eslint":"^10.6.0","semver":"^7.8.5","tsdown":"^0.22.4","vitest":"^4.1.10","prettier":"^3.9.5","wrangler":"^4.109.0","typescript":"^6.0.3","@types/node":"^26.1.1","npm-run-all2":"^9.0.2","@types/semver":"^7.7.1","typescript-eslint":"^8.63.0","@types/cross-spawn":"^6.0.6","eslint-plugin-jsdoc":"^63.0.12","@cloudflare/workers-types":"5.20260724.1","@vitest/coverage-istanbul":"^4.1.10","@cloudflare/vitest-pool-workers":"^0.18.3"},"peerDependencies":{"cf":">=0.6.0 <2 || >=1.0.0-0 <2","hono":"^4.12.28","vite":"^8.1.4"},"peerDependenciesMeta":{"cf":{"optional":true},"vite":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cloudflare-toolkit_2.7.0_1790849535073_0.03403704990294676"}}},"time":{"created":"2026-07-11T16:22:17.304Z","modified":"2026-10-01T10:12:15.575Z","0.0.1":"2026-07-11T16:22:17.584Z","1.0.0":"2026-07-11T19:10:02.464Z","1.0.1":"2026-07-11T20:23:27.731Z","1.0.2":"2026-07-16T09:50:20.127Z","2.0.0":"2026-07-17T11:35:12.959Z","2.1.0":"2026-07-27T08:16:45.904Z","2.2.0":"2026-07-28T10:39:39.704Z","2.2.1":"2026-07-28T12:01:40.205Z","2.3.0":"2026-07-29T08:55:18.293Z","2.4.0":"2026-08-14T09:18:35.099Z","2.5.0":"2026-08-19T14:50:03.704Z","2.5.1":"2026-08-19T15:22:01.853Z","2.6.0":"2026-09-10T11:14:42.784Z","2.7.0":"2026-10-01T10:12:15.190Z"},"bugs":{"url":"https://github.com/adrianhall/cloudflare-toolkit/issues"},"license":"MIT","homepage":"https://adrianhall.github.io/cloudflare-toolkit","keywords":["cloudflare","cloudflare-workers","workers","wrangler","hono","vite","typescript","problem-details","logging","cloudflare-access"],"repository":{"url":"git+https://github.com/adrianhall/cloudflare-toolkit.git","type":"git"},"description":"A toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform","maintainers":[{"name":"photoadrian","email":"photoadrian@outlook.com"}],"readme":"# @adrianhall/cloudflare-toolkit\n\nA toolkit of utilities and skills for developing Workers on the Cloudflare Dev Platform.\n`@adrianhall/cloudflare-toolkit` replaces the boilerplate historically scattered across\nmultiple GitHub-only libraries — defensive guards, HTTP error generators, RFC 9457 problem\ndetails, structured logging, Cloudflare Access-aware Hono/Vite middleware, typed Access\nconfiguration, and deployment CLIs — with a single, MIT-licensed, npm-installable package.\n\n**Full documentation, guides, and API reference:**\n\n<https://adrianhall.github.io/cloudflare-toolkit>\n\n## Install\n\n```sh\nnpm install @adrianhall/cloudflare-toolkit\n```\n\n## Quickstart\n\nThe `hono` subpath exports four independent middleware for a Cloudflare Access-protected Hono\napp: structured logging, Access enforcement, and problem-details-based error handling. Each is\nwired independently:\n\n```ts\nimport {\n  cloudflareAccess,\n  cloudflareLogger,\n  problemDetailsErrorHandler,\n  notFoundHandler\n} from \"@adrianhall/cloudflare-toolkit/hono\";\nimport { Hono } from \"hono\";\n\nconst app = new Hono();\n\napp.use(cloudflareLogger({/* ... */}));\napp.use(cloudflareAccess({/* ... */}));\n\napp.onError(problemDetailsErrorHandler());\napp.notFound(notFoundHandler());\n\nexport default app;\n```\n\nSee the [documentation site](https://adrianhall.github.io/cloudflare-toolkit) for guides\ncovering every export, including the defensive guards, HTTP error generators, the standalone\nlogging core, the Vite plugin, the root `defineAccessConfig` helper, and the `cf-access-policy`,\n`cf-inventory`, `generate-wrangler`, `generate-wrangler-types`, `destroy-containers`, and\n`empty-r2-bucket` CLIs.\n\n## AI Skill\n\nInstallable [Agent Skills](https://www.npmjs.com/package/skills) teach coding agents how to use\nthe library and its Terraform/Wrangler deployment workflow:\n\n```sh\nnpx skills add adrianhall/cloudflare-toolkit\n```\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the PR and release-preparation process,\n[`RELEASING.md`](./RELEASING.md) for how releases are cut, and [`AGENTS.md`](./AGENTS.md) for\nengineering conventions.\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}