{"_id":"@boon4681/giri","_rev":"26-68d81842b717129eaa4fc5b3b6af9332","name":"@boon4681/giri","dist-tags":{"latest":"0.0.3-alpha-14"},"versions":{"0.0.1":{"name":"@boon4681/giri","version":"0.0.1","license":"MIT","_id":"@boon4681/giri@0.0.1","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"c6d06f858f95bcf7b70ebc0fcb67c5659cbe6fac","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.1.tgz","fileCount":22,"integrity":"sha512-vsM4wxccphabn9WWW5aWDYA5QQgMnKa/NdztpjaAOkUf82Zl17MBzOr6KnJF5Dp1WfK0srA9H9goh9KXb6LIVQ==","signatures":[{"sig":"MEUCIQCRcQ5LyFI1mQ2QcKJKwZeli5BUbLjnHgkNhGmiBBvq0QIgZtZvhKgV0tTqXEbvyudvlJnOpOy+VvPzVa4txzgNVsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":562846},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"d4649fd8152f38ae30f928720d2bcdc95be2440d","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.1_1780870077077_0.6417032868159886","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-hotfix-1":{"name":"@boon4681/giri","version":"0.0.1-hotfix-1","license":"MIT","_id":"@boon4681/giri@0.0.1-hotfix-1","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"067e8852100d5916378fa62d50b4753e4ecbb5bb","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.1-hotfix-1.tgz","fileCount":22,"integrity":"sha512-CShazyl4A7O9wwHp7CWEmkNbCNWKbdzTP5g8CbvzXJ7ASyjeaxX9TKEZT6HI+7ooM3mciMshhILrWXhQXo0zYw==","signatures":[{"sig":"MEYCIQDXzDwy8qvHBhfYETvgZYFxqPPdYKIkt6g8Cc/nwgOWlwIhAPJ2dML6GKlus7UfxjRssA/afkE9yJbcFI9vqEdaZWRZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":562865},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"db437de3584410ce90206546ac5b5beecc6ab073","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.1-hotfix-1_1780870192374_0.39014168176015307","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@boon4681/giri","version":"0.0.2","license":"MIT","_id":"@boon4681/giri@0.0.2","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"1e5a6ab5ba4cd740aa5c6cb13f990a65a7466601","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2.tgz","fileCount":22,"integrity":"sha512-gc17NziWZVzIJm1RSwMTtjYBq5pvW876rh9s6Tkmq1OMqivAfv40WmdNlUPCwQYBErNXKdZk77J2J0j/ZKSDvQ==","signatures":[{"sig":"MEQCIGATX+pAgEEgqQyQV6p7C2/RXNFVroX1fQ6/yHwRjEo/AiBe1nsS80jQ0z3h71kvVua2TovVTHfk6nwBn4H/qyz99Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580087},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"7d22ae64e8d3c3410e55eeb2c49d24db4fe37b4c","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2_1780876557929_0.4394471622585856","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-1":{"name":"@boon4681/giri","version":"0.0.2-alpha-1","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-1","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"62fad86b413905bc58d0caf7221282dc4dfe0186","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-1.tgz","fileCount":22,"integrity":"sha512-f7VXX9h5G3MQy1XI8E/YuWrysXE65Ow7Kbeb60uq7uQdFKyWrgRy1DwnwRByNThZLIX4OlAkgUYB1LyvGSESCA==","signatures":[{"sig":"MEQCIFWUhnIbN0p3VOcNoM2xXJxyqiT5utm6t4gAAcakx51jAiBGWtqVQrcP7tEWzbzIe32LFUS3OaSBVhDKo4znkrH0Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601127},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"e9cb9f77af8e3fbea83c1ec166ddc99d1510173b","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-1_1780882570668_0.03171346934962993","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-2":{"name":"@boon4681/giri","version":"0.0.2-alpha-2","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-2","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"ca883d06c7df8790a7f378e849574866e640836d","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-2.tgz","fileCount":22,"integrity":"sha512-4A9xSM5loSD7lqbp+rVc8qgePYQy+39NMzNi34TRKO9VwgpVUAIJlVtAMfFOJ5/pJe2SW/mR12WqYyZ+MjTplg==","signatures":[{"sig":"MEQCIGUw9Fc8urfKnEvP7CVM4B/6fHDrLfIg1TwdUnRLE7YRAiAoIPuHxq8QUDp692XIunfje7ogKIlMCLZdxVWrnQhD3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606413},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"391c069e6ed9588ce0eec784fc77be0545ae5165","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-2_1780945073751_0.7890494307729574","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-3":{"name":"@boon4681/giri","version":"0.0.2-alpha-3","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-3","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"b9360bb3f79a21cb467cec3f0e976b61ef01aea0","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-3.tgz","fileCount":22,"integrity":"sha512-TvPS6xYUApHgCxnKcaJhiQI/tU3XpuHNnUiwuzxdxhrAkzQ6FGiAF4Rf1tOOVrO3wweJtRI2/WOOmkkoZed8+w==","signatures":[{"sig":"MEQCIBHFkM8uUYcY4/gQxCz+9uE/6kZd6L9j3SDzCYl/9pyoAiBjzsAD2MwvSxLgPBk2qw+dlKkfFSP6hPiPjfMS8y3vvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635320},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"60c40cdfe3c105fb8530c198c673faa54b081013","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-3_1780959234934_0.06706144343102816","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-4":{"name":"@boon4681/giri","version":"0.0.2-alpha-4","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-4","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"69df86605fcc655f8b09918a3f9f055e6c109c93","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-4.tgz","fileCount":22,"integrity":"sha512-EluM7rYJJMqwObPAoK3NypU9/WF5abjd13CLB09ROiyUDqmGVTsVsSGuTctYDSz38kj8FqPqmuJIG730NTvuBQ==","signatures":[{"sig":"MEQCIBK0se7xsYi6bejVw93pCMhted7YLnbW6X9CAWBQdrShAiA3g1rN4c6qeKzIRcwQJKw0+AVUQz1N9yf9Tfo1MhL7vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":635543},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"99ef337b8caad163217ca4f91f2c12a6ebe23b61","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-4_1780963034489_0.005959571847777179","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-5":{"name":"@boon4681/giri","version":"0.0.2-alpha-5","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-5","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"2ada0a6502638e6f570ce918079738a3f13ab43e","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-5.tgz","fileCount":22,"integrity":"sha512-KDYQhoMVzmKi6W6VLmjbIGX2dQhy8Rk66POHohxxQ299eO3BjryODq661FsRUrZrDcvF3xX5phSrMNPINYhORA==","signatures":[{"sig":"MEUCICBdVKueO/wWpwe8vBv9OBL0VCeHo9TAu7a+o7Xfz4G5AiEAj5Kk+3gBzHW3vIUKrmkfRL8NJXBsKHNhLDg+nqiRs+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":634697},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"86311424aac244a4814adc5e1be34d11a8b85774","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-5_1781009819296_0.32654734448762457","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-6":{"name":"@boon4681/giri","version":"0.0.2-alpha-6","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-6","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"8b8cb5695f3f3975f5aa3e189ede5bdaaa74ce43","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-6.tgz","fileCount":22,"integrity":"sha512-08nbrsco8DHcLjFhZMKGzLPe/QJdfNPw1cCnx/r4wj8URVwiLmtW9WaslZJUe4yake4xvt0ujk+fNag2N1HOFQ==","signatures":[{"sig":"MEQCIE8TKSCPgW/bdpwuNE9dWK0OmrzixG3kYD+8/U6tIiQGAiB5ZmxIFJaJ0sDIhnBn6AwVMgNLZNRCIzoXaHPoyapF4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":644258},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"2301de0a4508341f03611f3bcfa164f4b242d735","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-6_1781025131306_0.23450955688550046","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-7":{"name":"@boon4681/giri","version":"0.0.2-alpha-7","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-7","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"93d7a477be778ada79b1331cc771f53f983e504a","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-7.tgz","fileCount":22,"integrity":"sha512-VVv//fniwPrETFg313ku4wjR/f9fo8WT2hkhi9KYV+CFa1+cc4qZR4jZKv/WR81XDi4v/9HuRaqLjvezOLkmyg==","signatures":[{"sig":"MEUCIQDAHDzX7hjNQYQFedPahMABedi8ey+SNrBT/B4stLuqRwIgQ8dTMKDrGEybzLr1EVNFbC12daKPuKmc8pvUYJM7RyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":647659},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"ddafcba0c84b4aeefce013d9e59b33afc0c12c08","scripts":{"test":"vitest --run","build":"tsx ./build.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-7_1781027852924_0.6456463126545553","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-alpha-8":{"name":"@boon4681/giri","version":"0.0.2-alpha-8","license":"MIT","_id":"@boon4681/giri@0.0.2-alpha-8","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"cbeb490d7a80e7e189b505a2b0248baea453d5a4","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.2-alpha-8.tgz","fileCount":22,"integrity":"sha512-uukj2D2EchNK4Rr/0y+Su6klKONqd7SDi3e4qWQ+srqE8fEuiAtreu1oJnZzJyfMqsn07PxogxmX3+jEHilJRg==","signatures":[{"sig":"MEQCIG3elTfiM1iQSKyPY4XNybFWwaC2EaVujzLwaXS6LcldAiBYV4yB3L7sBbRhIuj80gvfb3g8tDlBeAH11HSp/igtOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":744142},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"c87c9eac8c230323195dad4dfb9740b8c7ae9622","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.2-alpha-8_1781133210481_0.7066027007802531","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@boon4681/giri","version":"0.0.3","license":"MIT","_id":"@boon4681/giri@0.0.3","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"64357f0cfde60bb8cdb7e98d255c4c589e854426","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3.tgz","fileCount":22,"integrity":"sha512-0oOamkjTItve2Ykk+xqYdwFKkiPbKnAH14PHGxiEpzDi8aJqDymqeVrhlMaoN7PCP/D73Y3Kv9CGXU/tbrIMAA==","signatures":[{"sig":"MEUCIAKf6ZP66j9Nzyvkc3FCGfRbTyBNhCVRwNHf5leg/wXlAiEAr7zM3M0SYTU8hbCKwDgOqm80gXZ0qwSHy+TtsagiTUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":759720},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"fa825d00c7ed58028b95ee01c254c9811323680e","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3_1781141778861_0.09331354754549426","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-1":{"name":"@boon4681/giri","version":"0.0.3-alpha-1","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-1","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"339b21a2e11515eca19f01a17278323dea53974c","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-1.tgz","fileCount":22,"integrity":"sha512-KkDc/D+oeEbU0OMmS/MRUAgLW44HMFOXD2WYXidkDKsgJ9i89U1wuPj+K3qamIYlbrLHJqNPpWitZ8Kfuk5UhQ==","signatures":[{"sig":"MEYCIQD/U4nddhQMQNJUotLEucfg8OSQkO0yRrPiXTckGVul5AIhANTggEsmrlKtcMH1NwfSShn5JDMix7bFTBJo6uwMp5e+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":787071},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"53d18126e6f2521a88d1c944b960208fa8ef508c","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-1_1781151783182_0.3810156231810762","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-2":{"name":"@boon4681/giri","version":"0.0.3-alpha-2","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-2","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"c43f702e8749d08ecb715cff859aa37197507c9c","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-2.tgz","fileCount":22,"integrity":"sha512-BeET/43Ru72zuqH0NBkk4OPJ5VPK451b8Hsjui2DJe+Gzt5UYWipmx/TayN9y5jPJQxZsFS71kfbDn7SX509Dw==","signatures":[{"sig":"MEQCICQ97YwY5GeyJ7gIuw+1TgECcq6/F3NR5FAKhgRB2HkwAiBJjAUMe6lfwIiUNSCbuA2DT6K98ahU3H3jLUNp0M+X8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":823625},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"1b8fd6ce21f9b60d0f1fcabc32a8670aa543f904","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-2_1781194129928_0.6894865873132912","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-3":{"name":"@boon4681/giri","version":"0.0.3-alpha-3","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-3","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"b32ce5e52bb13702cc43d6444778e984b3b8a004","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-3.tgz","fileCount":22,"integrity":"sha512-ipdNsu+Mlf0D0kUb68Q5zRJyKCooyViAdeTs22ANwj5bD6oPmWgk0A+IvShHGK7BP2rdzYJpwnfsI0n808bAZw==","signatures":[{"sig":"MEYCIQDhwBH/npqBvcIEyFgKHCfaDDMj4m28m1qCEK6QfsKvXwIhAKo0bXzot9A6PIzxC1KFi5gN6kywFNwn8yZjyrWZiE/t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833643},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"9b1becac7ed9924a3e7739fbddf90468e6260636","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-3_1781202578939_0.4376112787618964","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-4":{"name":"@boon4681/giri","version":"0.0.3-alpha-4","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-4","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"8426477234c8089897073259ac2a338a75d31ac9","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-4.tgz","fileCount":28,"integrity":"sha512-MuDg1IPPzjCgfyOleQqhXgVZ2oeKBM/hkvGwdvVl0ApefxQvs80hUQYJREovbg3srOyTUABvuqsh65/Q+fm2GQ==","signatures":[{"sig":"MEQCICHI8++XLMELrgnIZk3/6oy9hnCtgKWEhe+GihqcC/qQAiArG0TEDuHxEKbAWpMvPO4MWX7kxKIFRHB5D0Flxziwpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":967822},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"5c6d7455b2376d50fe8ecf5bd74c2e9cfb84ab96","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-4_1781220791689_0.7940978676596009","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-5":{"name":"@boon4681/giri","version":"0.0.3-alpha-5","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-5","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"7a8f7d5d4dfcd2d5a29128ce146c58046080c63c","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-5.tgz","fileCount":28,"integrity":"sha512-11xIoD/hJb3+ub/taP5bQy2FLcdQfK0FEmweFs8yiT1U0zZFlZ1vEXUY2nukKfA5ZDbuonOwL2iHEfBDOanZpA==","signatures":[{"sig":"MEQCIFqzYkMNLuOgcPtA0p944rGAaT2VBm88t7zLe8wIGM5HAiBt5cPQt6PZy4IL7Y7stz273jJJsvOSYSD+8bsgB93Wuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":973910},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"0cd141d53947cca93e61df04bdc36ff200eaa44e","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-5_1781255105272_0.8160761354902937","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-6":{"name":"@boon4681/giri","version":"0.0.3-alpha-6","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-6","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"6ada2d7939910b3b529b895a55b8e357867cc15e","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-6.tgz","fileCount":28,"integrity":"sha512-DVxT2mnQ/7SRUUEp0+9xK7Mnu39NOklJBQj0NuO5OTpzgVtwegmzNQ2jTVR4Z24TAW89tOxOEQWJeWPfkKgBlQ==","signatures":[{"sig":"MEQCIHh2IoEPHpSG+O2loNau3KX7ZIQHxFwytPSzw4a26gEWAiASIEX137ysMIX7OnLoAL3TR7oX80+2gMrpLlak2pjCXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":977394},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"f510820c7f21c7e9f8c2ff76e27326cefdacaa5b","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-6_1781256885777_0.9506591748796664","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-7":{"name":"@boon4681/giri","version":"0.0.3-alpha-7","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-7","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"106e57dd7718dae3f007c23102512034be0248e3","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-7.tgz","fileCount":28,"integrity":"sha512-hCEN1Gj7SGA4rT1dN6LCKDa4QGjj9MHRHDwcpGY88Dzh0IJ/yX1I9dLAU/+JeiKPmc3T8+/VV81z+KgO3sQjJA==","signatures":[{"sig":"MEUCIQD+sA2oqTASUXIy1VgZ59kqXs8cs1V8aeDMEtjkhwaOJwIgLLiLOx8E9urVENUdYWQ0+Eecstvk2OS2bPFW6sDSGQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1022425},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"35cf7f85d6a10e5ebedda18426e986b7d67f648b","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-7_1781378483257_0.36721348813908916","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-8":{"name":"@boon4681/giri","version":"0.0.3-alpha-8","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-8","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"50aa9260fc38651df3abf9997817770a078435f9","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-8.tgz","fileCount":28,"integrity":"sha512-bKaFW36lHpv4w8PLP8x8amfteMG2HdwKJbH691XWYqBbyL//NTwAAQlLjiWfQJcv8SRNn34piL/lN67hJKeqEA==","signatures":[{"sig":"MEUCIQCShQLAAollBRBWlufK8Dm1YXMfdz0+KddjXKkM2dpkbAIgTSmgP00alten4WfrAYHEgEyCPy+s9INuZONQHOz54n4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1029179},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"f404f9cae73a05168a7d8cdb995121efc4ee617a","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-8_1781379317963_0.16362691180795808","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-9":{"name":"@boon4681/giri","version":"0.0.3-alpha-9","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-9","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"1e4aba336a25cb136bbbb275ffafbd85838ee1b3","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-9.tgz","fileCount":28,"integrity":"sha512-5L3KmAZCUwI1KfkLgb9Ni23KfgKO9HAmUWpEZro2DtznjEfajnFWo1T1X3GxPRsGe2crjHOJ9nOjn6zTGdXSUQ==","signatures":[{"sig":"MEYCIQCTHqDArK1I695zJ5D14MACI42XdxFGyN4fP5cS+gvGpgIhANz1H0d2dkhE/SfAIz1TtCNmho6508SIOX7pXdiWKjCA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1045739},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"f404f9cae73a05168a7d8cdb995121efc4ee617a","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-9_1781390581771_0.08060279534387416","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-10":{"name":"@boon4681/giri","version":"0.0.3-alpha-10","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-10","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"9f09ff7c8aa838127374dc18113a2c042dc605f9","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-10.tgz","fileCount":28,"integrity":"sha512-0ALURDeZgLu/EcuVBQq4sjBws+oYD8L7o309csdCnAYoR+fYEIjo3gbdYV7CBT3RgZqx6QNY5Xynlg9afKAFkA==","signatures":[{"sig":"MEYCIQCAviQjFOd23dgbNWMoR55xmfzq+WAW9xHKMpqfM31eqgIhAPemTgMSYioGa+qvEI0ofNie7rphF8c5icK9QpmsQ14U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1068828},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"f404f9cae73a05168a7d8cdb995121efc4ee617a","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-10_1781394979736_0.15202428584813643","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-11":{"name":"@boon4681/giri","version":"0.0.3-alpha-11","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-11","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"1d0a10beb59827eebcecd472d6b4fc1463a10f00","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-11.tgz","fileCount":28,"integrity":"sha512-SxAOVOfbfP1i9q7YQ8lX1t85RthtCmrYc0L94Tly7L+MHUTiuUKwaT1agILQIOYo63uD3VUeQb5egacM6xWinQ==","signatures":[{"sig":"MEYCIQDpfy8msWPAqbdrCwmAdR6L6a/k9Bq14Ig+YQdWgzmJqgIhANUEGDpi+q1wh1Y4AWIGOg/thXRITEKY5tETMGhn2T5/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1068736},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"bc71fc0a0804c012d8fe7ff7470853be88de34d8","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-11_1781418596720_0.16639018450018073","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-12":{"name":"@boon4681/giri","version":"0.0.3-alpha-12","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-12","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"9ff00251a01d210aaae7aeb17fbfd556b3dfc753","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-12.tgz","fileCount":28,"integrity":"sha512-gnY6t5wMLJj0Ylrr14ysonGPmw6PH0Lxv9ybth/4eiNprWhlN3o48hPJAMaMrPpU801ZgKzBAG1hY7ezamonhg==","signatures":[{"sig":"MEUCIQD5YUXAE0X9tV+niJXIg/f6ZFr5rU8jv//ydP7IVEhCQQIgVY0BEgvBHb+XDn+GkELNKqW23sbWVSsSuj9SV1Ai7PM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1074669},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"204646a3eefd8c6190010527f0b4512e6265e112","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-12_1782930076596_0.8297100107010724","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-13":{"name":"@boon4681/giri","version":"0.0.3-alpha-13","license":"MIT","_id":"@boon4681/giri@0.0.3-alpha-13","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"bin":{"giri":"dist/cli.js"},"dist":{"shasum":"6c2ec694e86e5c207ca29af9d6d26ef8a1d17c40","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-13.tgz","fileCount":28,"integrity":"sha512-BnwgJ0/HkNdS7CVvEGsTrKc8HNj8hRRc17jZUyDqFk/lxicRlRyuHoIqEOeRYX1UZ0qDxVp+6h2elqemr5HnLg==","signatures":[{"sig":"MEQCIDQto7BSKaOnB7whwg5o2YlR1kSIpABWJAILUEnnRrK3AiAC2jHUhf7XLidofwiDtbigO+K5I9HEourNIzQSqjYRFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1353980},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","default":"./dist/typescript-plugin.js","require":"./dist/typescript-plugin.js"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","default":"./dist/runtime.mjs","require":"./dist/runtime.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"}},"gitHead":"13c2522a6363b70240098937d098a155f7ca4f3d","scripts":{"test":"vitest --run","bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","typecheck":"tsc --noEmit"},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"_npmVersion":"9.8.0","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"esbuild":"^0.27.7","chokidar":"^5.0.0","tinyglobby":"^0.2.16","openapi-types":"^12.1.3","@clack/prompts":"^1.5.1","esbuild-register":"^3.6.0","@sinclair/typebox":"^0.34.49","@hono/standard-validator":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"tsx":"^4.22.4","zod":"^4.4.3","hono":"^4.12.18","tsup":"^8.4.0","vitest":"^3.2.0","valibot":"^1.4.1","vite-node":"^3.2.4","typescript":"^5.8.3","@types/node":"^25.9.1","@hono/node-server":"^2.0.3","@valibot/to-json-schema":"^1.7.0"},"peerDependencies":{"zod":"^4.0.0","hono":"^4.12.0","valibot":"^1.0.0","typescript":">=5.4","@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/giri_0.0.3-alpha-13_1784098719389_0.5013884429072915","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-alpha-14":{"name":"@boon4681/giri","version":"0.0.3-alpha-14","license":"MIT","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"giri":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./config":{"types":"./dist/config.d.ts","default":"./dist/config.js"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.mjs","require":"./dist/runtime.js","default":"./dist/runtime.mjs"},"./hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./adapters/hono":{"types":"./dist/adapters/hono.d.ts","default":"./dist/adapters/hono.js"},"./validators/zod":{"types":"./dist/validators/zod.d.ts","default":"./dist/validators/zod.js"},"./validators/valibot":{"types":"./dist/validators/valibot.d.ts","default":"./dist/validators/valibot.js"},"./tsc":{"types":"./dist/typescript-plugin.d.ts","require":"./dist/typescript-plugin.js","default":"./dist/typescript-plugin.js"}},"scripts":{"bench":"yarn --cwd .bench bench","build":"tsx ./build.ts","speed":"yarn bench","test":"vitest --run","typecheck":"tsc --noEmit"},"dependencies":{"@clack/prompts":"^1.5.1","@hono/standard-validator":"^0.2.1","@sinclair/typebox":"^0.34.49","chokidar":"^5.0.0","esbuild":"^0.27.7","esbuild-register":"^3.6.0","openapi-types":"^12.1.3","tinyglobby":"^0.2.16"},"devDependencies":{"@hono/node-server":"^2.0.3","@types/node":"^25.9.1","@valibot/to-json-schema":"^1.7.0","hono":"^4.12.18","tsup":"^8.4.0","tsx":"^4.22.4","typescript":"^5.9.3","valibot":"^1.4.1","vite-node":"^3.2.4","vitest":"^3.2.0","zod":"^4.4.3"},"peerDependencies":{"@hono/node-server":"^2.0.0","@valibot/to-json-schema":"^1.0.0","hono":"^4.12.0","typescript":">=5.4 <7","valibot":"^1.0.0","zod":"^4.0.0"},"peerDependenciesMeta":{"@hono/node-server":{"optional":true},"@valibot/to-json-schema":{"optional":true},"hono":{"optional":true},"valibot":{"optional":true},"zod":{"optional":true}},"packageManager":"yarn@4.12.0","_id":"@boon4681/giri@0.0.3-alpha-14","gitHead":"355269ed1a6a6ba4b753076da111980a02e35c56","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","_nodeVersion":"22.22.3","_npmVersion":"9.8.0","dist":{"integrity":"sha512-ILt3qltdQSGoaV8zCKgohxucCjhigAVDF5kMsq9gNRpLtwz77LWdcKhkC/1SZVsl7fABxYKEkzoU5PlB8PylXQ==","shasum":"e8599d7e5a2a9286a295c8972afed42e44a5edd6","tarball":"https://registry.npmjs.org/@boon4681/giri/-/giri-0.0.3-alpha-14.tgz","fileCount":31,"unpackedSize":1477092,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICV7y1h90eauUld/E+VeqX142/wnFHsz0FpT3dI+e7QXAiEA+OC5BPEh9mbiByF8ta9XSYct3EjjeFdsAkuQduW9Rj4="}]},"_npmUser":{"name":"boon4681","email":"boon4681dev@gmail.com"},"directories":{},"maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/giri_0.0.3-alpha-14_1788505850600_0.8019343646238708"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-07T22:07:56.961Z","modified":"2026-09-04T07:10:50.988Z","0.0.1":"2026-06-07T22:07:57.202Z","0.0.1-hotfix-1":"2026-06-07T22:09:52.539Z","0.0.2":"2026-06-07T23:55:58.108Z","0.0.2-alpha-1":"2026-06-08T01:36:10.828Z","0.0.2-alpha-2":"2026-06-08T18:57:53.893Z","0.0.2-alpha-3":"2026-06-08T22:53:55.079Z","0.0.2-alpha-4":"2026-06-08T23:57:14.643Z","0.0.2-alpha-5":"2026-06-09T12:56:59.466Z","0.0.2-alpha-6":"2026-06-09T17:12:11.447Z","0.0.2-alpha-7":"2026-06-09T17:57:33.163Z","0.0.2-alpha-8":"2026-06-10T23:13:30.727Z","0.0.3":"2026-06-11T01:36:19.096Z","0.0.3-alpha-1":"2026-06-11T04:23:03.397Z","0.0.3-alpha-2":"2026-06-11T16:08:50.097Z","0.0.3-alpha-3":"2026-06-11T18:29:39.090Z","0.0.3-alpha-4":"2026-06-11T23:33:11.878Z","0.0.3-alpha-5":"2026-06-12T09:05:05.544Z","0.0.3-alpha-6":"2026-06-12T09:34:45.933Z","0.0.3-alpha-7":"2026-06-13T19:21:23.417Z","0.0.3-alpha-8":"2026-06-13T19:35:18.117Z","0.0.3-alpha-9":"2026-06-13T22:43:01.967Z","0.0.3-alpha-10":"2026-06-13T23:56:19.916Z","0.0.3-alpha-11":"2026-06-14T06:29:56.930Z","0.0.3-alpha-12":"2026-07-01T18:21:16.849Z","0.0.3-alpha-13":"2026-07-15T06:58:39.582Z","0.0.3-alpha-14":"2026-09-04T07:10:50.843Z"},"license":"MIT","description":"A stupid attempt from a stupid man who lack of foresight trying to make a backend framework.","maintainers":[{"name":"boon4681","email":"boon4681dev@gmail.com"}],"readme":"# Giri\n\nA stupid attempt from a stupid man who lack of foresight trying to make a backend framework.\n\n![NPM Version](https://img.shields.io/npm/v/%40boon4681%2Fgiri)\n\n<p>\n    <img width=\"15.8%\" height=\"auto\" src=\"https://raw.githubusercontent.com/boon4681/giri/refs/heads/main/.image/logo.png\" alt=\"image\" />\n    <img width=\"82%\" height=\"auto\" src=\"https://raw.githubusercontent.com/boon4681/giri/refs/heads/main/.image/ts7.png\" alt=\"image\" />\n</p>\n\n\n## Why does giri exist?\nBecause I can and i am too lazy to write OpenAPI spec.\n\n> Status: early and experimental. Hono is the only adapter today; the API will change.\n\n## Install\n\nNPM: \n```sh\nnpm install @boon4681/giri\n```\n\nYarn:\n```sh\nyarn add @boon4681/giri\n```\n\n`giri init` installs TypeScript 5.9 by default because the TypeScript 6 compatibility package currently fails under Yarn's built-in TypeScript patch.\n\n## Quick start\n\n```sh\nmkdir my-giri-app\ncd my-giri-app\nnpm init -y\nnpx @boon4681/giri init --pm npm -y\nnpx giri serve\n```\n\n`serve` generates `.giri/` before starting and watches the source tree. Run\n`npx giri sync --no-watch` when you only want to regenerate the manifest, route types, and\nOpenAPI document once.\n\n## Config\n\n`giri.config.ts` is declarative - it is loaded at build time, so keep it cheap and free of\nside effects (no DB drivers here; see [Lifecycle](#lifecycle)).\n\n```ts\nimport { defineConfig } from \"@boon4681/giri/config\";\nimport { hono } from \"@boon4681/giri/adapters/hono\";\n\nexport default defineConfig({\n    adapter: hono(),                       // required: the backend bridge\n    server: { port: 3000, hostname: \"127.0.0.1\" },\n    outDir: \".giri\",                       // where generated output lives\n    alias: { \"$db\": \"./src/db.ts\" },       // import aliases, also written into tsconfig\n});\n```\n\n## Routes\n\nEvery URL segment is a **folder**; every HTTP verb is its own file inside it.\n\n```\nsrc/routes/\n  +get.ts                       -> GET    /\n  +shared.ts                    -> folder config for everything below\n  users/\n    +get.ts                     -> GET    /users\n    +post.ts                    -> POST   /users\n    [id]/\n      +get.ts                   -> GET    /users/:id\n      posts/\n        [postId]/\n          +get.ts               -> GET    /users/:id/posts/:postId\n  db.ts                         -> no '+' prefix = plain helper, ignored by the router\n```\n\n- `[id]` folder becomes the param `:id`; params nest down the path.\n- Files without a `+` prefix are not routes - colocate helpers freely.\n\nA verb file has one shape: the `handle` named export is the handler. Everything else is an\noptional named export, so the trivial case is one line and complexity is additive.\n\n```ts\n// src/routes/users/[id]/+get.ts\nimport type { Handle } from \"./$types\";    // generated per folder; binds c.params to this path\nimport { findUser } from \"../../../db\";\n\nexport const handle: Handle = (c) => {\n    const user = findUser(c.params.id);    // c.params.id is typed as string\n    if (!user) return c.json({ message: \"user not found\" }, 404);\n    return c.json(user);\n};\n// inferred responses: 200 -> User, 404 -> { message: string }\n```\n\n## The context `c`\n\nGiri owns `c`, so the return type is the schema on every backend:\n\n- `c.json(data, status?)` / `c.text(text, status?)` - return value carries the status in its type.\n- `c.params` - typed from the folder path.\n- `c.req.valid(\"body\" | \"query\")` - parsed, typed input (see below).\n- `c.req.header(name)`, `c.req.url`, etc.\n- `c.get(key)` / `c.set(key, value)` - per-request vars from middleware.\n- `c.app` - app-wide services from `src/main.ts` `init()` (see [Lifecycle](#lifecycle)).\n\n## Inputs\n\nOutputs are inferred; inputs are declared with a **wrapped** schema so giri gets both runtime\nvalidation and a JSON Schema for the doc. Wrappers live in `@boon4681/giri/validators/zod` and\n`@boon4681/giri/validators/valibot`.\n\n```ts\n// src/routes/users/+post.ts\nimport { z } from \"zod\";\nimport { zod } from \"@boon4681/giri/validators/zod\";\nimport type { POST } from \"./$types\";\n\nexport const body = zod.body({\n    json: z.object({ name: z.string().min(1) }),\n});\nexport const query = zod.query(z.object({ page: z.coerce.number().default(1) }));\n\nexport const handle: POST = (c) => {\n    const { name } = c.req.valid(\"body\");  // typed + validated\n    return c.json({ name }, 201);\n};\n```\n\n`zod.body` can map multiple content types (`json`, `form`) dispatched on `Content-Type` at\nruntime. An unwrapped schema is rejected at build time.\n\n## Responses\n\nDeclare response shapes once with a route's `responses` export. The generated method type reads\nit automatically, so `c.json` payloads are checked against the shape for their status code.\n\n```ts\nimport { z } from \"zod\";\nimport { zod } from \"@boon4681/giri/validators/zod\";\nimport type { GET } from \"./$types\";\n\nexport const responses = {\n    200: zod.response(z.object({ id: z.string(), name: z.string() })),\n    404: zod.response(z.object({ message: z.string() })),\n};\n\nexport const handle: GET = (c) => {\n    return c.json({ id: \"1\", name: \"Ada\" }); // status 200\n    // return c.json({}); // type error: `id` and `name` are missing\n};\n```\n\nUse `zod.response(...)` or `valibot.response(...)`. Response schemas document output and type-check\nhandlers; Giri does not validate response bodies at runtime.\n\n## Middleware\n\nMiddleware use giri's `(c, next)` shape and live in two places:\n\n- **Broad:** `export const middleware` in a folder's `+shared.ts` - applies to the whole subtree.\n- **Precise:** `export const middleware` in a verb file - applies to that one verb.\n\nUse `stack(...)` instead of a plain array so injected vars keep their types and propagate to\ndownstream handlers. Run order: inherited `+shared.ts` (root to leaf), then the verb's\n`middleware`, then the handler.\n\n```ts\n// src/routes/+shared.ts\nimport { stack } from \"@boon4681/giri\";\nimport type { Middleware } from \"./$types\";\n\nconst requestId: Middleware<{ requestId: string }> = async (c, next) => {\n    c.set(\"requestId\", c.req.header(\"x-request-id\") ?? \"example-request\");\n    await next();\n};\n\nexport const middleware = stack(requestId);\n// every handler below now sees c.get(\"requestId\"): string\n```\n\nTag a middleware with `defineMiddleware` to feed OpenAPI security automatically - a route that\nuses it shows the scheme, a public route does not.\n\n```ts\n// src/auth.ts\nimport { defineMiddleware } from \"@boon4681/giri\";\n\nexport const auth = defineMiddleware<{ userId: string }>(\n    {\n        openapi: {\n            security: [{ bearerAuth: [] }],\n            securitySchemes: { bearerAuth: { type: \"http\", scheme: \"bearer\" } },\n        },\n    },\n    async (c, next) => {\n        // verify a token, then c.set(\"userId\", ...)\n        await next();\n    },\n);\n```\n\n`defineMiddleware` can also own a body or query validator. Validation runs before the middleware,\n`c.req.valid(...)` is typed inside it, and every downstream handler receives the same typed input.\nThe validator is also included in generated OpenAPI:\n\n```ts\nconst pagination = defineMiddleware(\n    {\n        query: zod.query(z.object({\n            page: z.coerce.number().int().positive(),\n        })),\n    },\n    async (c, next) => {\n        const { page } = c.req.valid(\"query\");\n        c.set(\"page\", page);\n        await next();\n    },\n);\n```\n\nWhen a middleware both injects context vars **and** owns a validator, declare the vars with the\ncurried form - the empty `()` takes the `Vars` type argument first so the validator output is still\ninferred (a `Vars` argument on `defineMiddleware(options, ...)` directly would suppress inference and\nerase `c.req.valid(...)` to `any`, so that form is a type error):\n\n```ts\nconst pagination = defineMiddleware<{ page: number }>()(\n    {\n        query: zod.query(z.object({ page: z.coerce.number().int().positive() })),\n    },\n    async (c, next) => {\n        c.set(\"page\", c.req.valid(\"query\").page); // valid(\"query\") is typed; c.get(\"page\") is number\n        await next();\n    },\n);\n```\n\nWhen several applied layers declare the same target (`body` or `query`) - e.g. a `+shared.ts`\npagination middleware plus a route's own `query` - their validators are **merged**: each runs and\nthe validated outputs are combined into the single `c.req.valid(...)` (and one set of OpenAPI\nparameters). Owners run middleware-first, then the route, so a route's fields win on key collisions.\nThis mirrors the type layer, which intersects them. Validators are run independently, so a schema\nthat rejects unknown keys (e.g. zod `.strict()`) should not be combined with another owner.\n\nHide a route or subtree from `openapi.json` with `export const openapi = false` (in a verb file\nor a `+shared.ts`). Hidden routes still serve normally.\n\n## Lifecycle\n\n`src/main.ts` is the optional home for imperative startup - opening pools, validating env,\ngraceful shutdown. Giri owns the serve and calls these hooks; the adapter still binds the port.\n\n```ts\n// src/main.ts\nimport type { Services } from \"@boon4681/giri\";\n\nexport const init = () => {\n    // leave init unannotated - its return type is the source of truth for c.app\n    return { db: connectDb(process.env.DATABASE_URL) };\n};\n\nexport const teardown = (services: Services) => {\n    return services.db.close();            // runs on SIGINT / SIGTERM\n};\n```\n\nFlow: load `main.ts` -> `await init()` -> hold services -> adapter serves -> `teardown` on\nexit. `init` runs once and is not re-run on watch rebuilds. The returned object reaches every\nhandler as a typed `c.app`, inferred from `init`'s return - no declaration needed.\n\n## CLI\n\n```text\ngiri init [--adapter hono] [--pm npm|yarn|pnpm|bun] [--install|--no-install] [-y]\ngiri sync [--no-watch]\ngiri serve [--port 3000] [--host 127.0.0.1] [--no-watch]\ngiri build\n```\n\n| Command      | What it does                                                                                  |\n| ------------ | --------------------------------------------------------------------------------------------- |\n| `giri init`  | Scaffold a Giri project and optionally install its adapter, validator, and TypeScript tooling. |\n| `giri sync [--no-watch]` | Scan `src/routes` and regenerate `.giri/` once. `--no-watch` explicitly guarantees one-shot operation for scripts. |\n| `giri serve` | Sync, run the lifecycle `init()`, start the adapter server, and watch source files.            |\n| `giri build` | Planned; currently a no-op.                                                                    |\n\nRun `giri init` inside a project that already has a `package.json`. It creates\n`giri.config.ts`, `src/routes/+get.ts`, `tsconfig.json`, and `.gitignore` when they do not\nalready exist. Dependency installation includes the supported TypeScript 5.9 release line.\n\n### `giri init` options\n\n| Option                              | Description                                                        |\n| ----------------------------------- | ------------------------------------------------------------------ |\n| `--adapter hono`, `-a hono`         | Select the backend adapter. Hono is currently the only adapter.    |\n| `--pm <name>`, `--package-manager <name>` | Use `npm`, `yarn`, `pnpm`, or `bun` for dependency installation. |\n| `--install`                         | Install dependencies without prompting.                           |\n| `--no-install`                      | Only write the scaffold and print the commands that would be run. |\n| `--yes`, `-y`                       | Use defaults non-interactively and install dependencies.          |\n\n### `giri serve` options\n\n| Option                    | Description                                              |\n| ------------------------- | -------------------------------------------------------- |\n| `--port <number>`, `-p`   | Override the configured server port.                     |\n| `--host <address>`        | Override the bind address (`--hostname` is also valid).  |\n| `--no-watch`              | Start without watching source files for changes.         |\n\n## Generated output (`.giri/`)\n\nEverything derived lives in `.giri/` at the project root: param `.d.ts` per route, the route\nmanifest, and the assembled `openapi.json`. It is gitignored and rebuilt on demand - never edit\nit, only import from it.\n\n## Example\n\nSee [`example/`](example) for a runnable Hono app:\n\n```sh\ncd example\nyarn install\nyarn sync\nyarn dev\n```\n\n## Portable runtime\n\n`@boon4681/giri/runtime` is the portable composition layer for generated integrations. It does\nnot implement routing itself: it accepts a complete `GiriAdapter`, creates that adapter's app, and\nregisters statically imported route modules. Hono is the supported adapter today:\n\n```ts\nimport { createApp } from \"@boon4681/giri/runtime\";\nimport { hono } from \"@boon4681/giri/adapters/hono\";\nimport * as rootShared from \"./src/routes/+shared\";\nimport * as usersGet from \"./src/routes/users/+get\";\n\nexport const app = createApp({\n    adapter: hono(),\n    services: { source: \"playground\" },\n    routes: [\n        {\n            method: \"GET\",\n            path: \"/api/users\",\n            module: usersGet,\n            shared: [rootShared],\n        },\n    ],\n});\n```\n\nThe result is a normal Fetch application:\n\n```ts\nconst response = await app.fetch(new Request(\"https://example.test/api/users\"));\n```\n\n`app` is the native Hono application, so SvelteKit or Next.js can forward a framework request\ndirectly to `app.fetch(request)`. This is the low-level target for virtual modules such as\n`@giri/project-1`; the Vite integration should generate the route descriptor array.\n\nThe shipped Hono adapter also owns its Node server binding. A browser playground should provide a\ndifferent `GiriAdapter` implementation whose `createApp`, `register`, `fetch`, and `serve` methods\nbind to the desired browser runtime; `createApp` itself does not special-case that environment.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}