{"_id":"inviton-backduck","_rev":"30-1c70cfaa2d5b01180c4b883eb8e0b0c4","name":"inviton-backduck","dist-tags":{"latest":"1.4.1"},"versions":{"1.0.0":{"name":"inviton-backduck","version":"1.0.0","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.0","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"79e496efb351e723488601ba4ea8b09ae0446eec","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.0.tgz","fileCount":99,"integrity":"sha512-1C9dBlsFV5j/VC55dwcFNwTNafEEQWahJ7MLxhmf8qyq+tpfzk/6hryg2KqObnj4nadHti2ROyoUtwEXH7BYPw==","signatures":[{"sig":"MEQCIBMNoIx/6OlP+I1VtGPt4hV0x3MVXZz+ZG8XahzhcnYxAiAIOpBexzm29J6CmyyFYKsc+r6Odt3kBHZXf4NSDOZp9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534780},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"987474e356fc9a490d7aa1b7b1466f404e6d7a75","scripts":{"build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"10.9.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.0_1770068542112_0.21548823194517497","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"inviton-backduck","version":"1.0.1","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.1","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"f90c08a8642ec221b91a0c3d7fe8abd1e3e98aa7","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.1.tgz","fileCount":119,"integrity":"sha512-ym7G1x5M7J6pzSUaSn9y91Nu6NNmKLOP81PkAR/MXC8YoW+mKg2mdURxoFiQOvrnBuiN5Wo4VhEWUskLGMXA6Q==","signatures":[{"sig":"MEQCIBv5Tumu5pxOISwfYT/tl2bK/x6y833iA1hk7UeryBj0AiBCWfTi4cFLEDmCYiDCDP7j7ep51FpmW0hhgwYsL++9iQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":541834},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"08a1351cb09b5b22bd8ec99a3642ed9319d61681","scripts":{"build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"10.9.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.1_1770099430104_0.34527627372810255","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"inviton-backduck","version":"1.0.2","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.2","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"1fd38bc98d0c472517aa2923800ce5f161685755","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.2.tgz","fileCount":135,"integrity":"sha512-tPT5qBLE8vgC2JuUNo1v2kKOqPtfXlxTisKrhjcga1h0LTn1PUkh4jb6JQdsM8sykGCfVoNT6a/6ycwk54oBGw==","signatures":[{"sig":"MEUCIQCfCze1yXSdKm0yCl9bhcHttvk8f8iUQQty5jDQ8l7JVQIgQ9XZRXbYwR/4AzJAXm1H967NGxC85sk/q2JAEJgNv7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549358},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"08a1351cb09b5b22bd8ec99a3642ed9319d61681","scripts":{"build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"10.9.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.2_1770100021069_0.9290875913345027","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"inviton-backduck","version":"1.0.3","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.3","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"52a02e10973bf791a815a186bd32f31434c7fdb2","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.3.tgz","fileCount":135,"integrity":"sha512-LWUXhyyBV6X8zkEqcOK7+5c+SRkAAZ7Pnco2O3FtcTMi8/pMP6ovlSNSRXnJLc9XF6eEBWUmQRrTzhY4evh8fg==","signatures":[{"sig":"MEUCIGLV3uzXh3yiG16aE2j7eOp+n7h2CyPK92JKlPk1YNxJAiEA1dEZxyxrSW3Qa23JvbrM97h6wKMgul1e2WETmUcf+3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":550793},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e586373dd90a0867f3866b96fd6d0d6922c01e47","scripts":{"build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"10.9.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.3_1770100696536_0.20806260067131777","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"inviton-backduck","version":"1.0.4","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.4","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"8b6f79f1dc1e660034580ec75ce78a749fbbc220","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.4.tgz","fileCount":135,"integrity":"sha512-d/nrq7KpF2dt+OpM6st/prlfSbNBYOLY/k4BvndR5xYFzakVvMPgKJhbCx8mhYz1HWIJFmscjDm0auEr92zv6w==","signatures":[{"sig":"MEUCIAbfp84qs5kOLHoxKe0GwcKI2LDEWJR8AK0Vu3wV2n7fAiEA7Cal1HhXqXiiyJSs1MStRCajoZIj9clya7gekA9/pJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":551604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8b031ff5f861e8c7d6412960a97fe5ab8a34453f","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.4_1770125406319_0.8420522442974336","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"inviton-backduck","version":"1.0.5","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.5","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"1fba7fdec54a4639bf102f122ef74b04601efa68","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.5.tgz","fileCount":135,"integrity":"sha512-7ssWVlIZsGfl/SJaclb95GcCHhDWdYYvAcnR9+7O/V8Sl58yEF4KBe6R3cHM7C/tktkDbqg7QPzu1//daOCI5g==","signatures":[{"sig":"MEUCIQDU9V4FYO10IaC2xaS7/LT68tpM0WghNte2rCE+OxGLwwIgSQZvZdpWXQVE2uDr4Pg4+4X7Hsm+6pYtmbd0fFxq59Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555460},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fd7ffe41d5826347fec818fa497ae9173040bded","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.5_1770130031833_0.221434079953732","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"inviton-backduck","version":"1.0.7","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.7","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"ddceea15da8bdb4101c7d43f54e580970169ad8e","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.7.tgz","fileCount":135,"integrity":"sha512-6zL8P4wp19yURn2kF1Zqj0a4lo+GTuntwuoOtMEOz/S4Fjr/rTKnuuUJ1Vm3cYLzBRVM5cL+4ERTwpuZhgaoiA==","signatures":[{"sig":"MEUCIQD6kqN61otmK4Lai1hZO7nYAX8bAuRZbFrPq9rvSmDf+wIgEmP5aAg7ZX3tiKdWHyEzt7jXJd7jaX8UmQvb8NomM4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567433},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"db6979192186593eff53cb825422b08e7e437b65","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.8.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.1","dependencies":{"cors":"^2.8.5","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.7_1771486140647_0.6489732140215201","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"inviton-backduck","version":"1.0.8","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.8","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"751f92bef801f51ddd43442cf749269787934d97","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.8.tgz","fileCount":139,"integrity":"sha512-PuAWFVi8nS5OQt9TO12127MA9+sPayMz4uXHhRvZI2w3U5+x4RDb2S5ergXMQbEIpUHyhN8sEA8NpKaH/Dd2AA==","signatures":[{"sig":"MEUCIDuoN5mkudMd8IQWL3mwKkcMywoN6rJ36xsRd9Tdv3+XAiEA6MS9WAIEUeXvV0/nqRcIjKRf3p7I7rOIFTvVrYwp85A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":580891},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"db6979192186593eff53cb825422b08e7e437b65","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"10.9.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.8_1771538323738_0.23188969187906294","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"inviton-backduck","version":"1.0.9","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.9","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"ec5aad32d32d263244fb11af5e14930cd31f3978","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.9.tgz","fileCount":139,"integrity":"sha512-oKm+0uOFZ34Z1CAmZHnGpbCudmetFiLzaI4BtzfmwdJx9wl1CyIyzt/slZ74s4ft+H0uv17gGAisA+8FzP6y/Q==","signatures":[{"sig":"MEQCIGuQ2l4B1tMYibbVZ/kuWU5NTvYbD7YQJilNUbsjiJwqAiANdOvIER3ILYZAxsc1jHBJUbk0pl9qtYRp1tujz+x/IA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":588975},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ddeb0c3b24f9b43b7488ef4bd00c4aaaeed6bcea","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"10.9.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.9_1775628271665_0.8471583951840544","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"inviton-backduck","version":"1.0.10","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.10","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"509d48225f89194069cc40c8a1925e0af2246ccd","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.10.tgz","fileCount":139,"integrity":"sha512-wGPo57Vi6LiyBYWzRM2L/OwehuTqopPr8RishzxK0K9ew+IGoFJAzeeDmQNiI8QFx1MRpIglyAeq/osXfXJxBw==","signatures":[{"sig":"MEUCICPJL50Ybi7h3yX/BfB9VGJa2V9m5EbM+a8J4Pm1To1RAiEA/juOHAlJLGZmU+kL4cJSxEYf6eoPXFIH+DHWjQCPYJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589091},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"046b5935d757bc062d7bef3087bf38b001e324ce","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.10_1776256396946_0.18103681728224164","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"inviton-backduck","version":"1.0.11","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.11","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"2c6d6a15623a89c644be573879213e9d655445b9","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.11.tgz","fileCount":139,"integrity":"sha512-E2p3fskmTSkKQ1nlySLWU3aK2dQPG8vBYxrzkPNqp1DxO+xqZPK/Mb0QJ9kcmoGlwYxtCRclUOnnT4hfaRvA7w==","signatures":[{"sig":"MEUCIHO8V8D+nRmQ+BfZgaMMS+8eDEYVHhJNbeRGg4HMyNaiAiEA0TO1IwaWqlpnQP3zZO5lqfYU/YSwtNDcua/r29ftF2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589390},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c3d3608341298baf891460506940ba76bbf92ef2","scripts":{"build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.11_1776887657772_0.5049714363414923","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"inviton-backduck","version":"1.0.12","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.12","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"1cea65b3922ad0ec45e5a9a03fe9e456a5770acf","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.12.tgz","fileCount":139,"integrity":"sha512-Qs+Z1xOE4CeZz2IPUpH/je22O1F5/TjeKICmDmtKouHvNbn7O/RVavrK4eqg5sMB6rXmBi8rI51zwJYImk8mRg==","signatures":[{"sig":"MEUCIQCzkdfRHFJJupu0NTVrQgk5Y9DFhMC/pxeXEHzCFFk4sAIgLrP3YM9Mp2nGw0OReVwcfhGLsJBou2ilERJHMBm1YHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599299},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3aa0e96e44487245abfdbc2b4685fc76adbedb3b","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.12_1778771098781_0.6467293419993938","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"inviton-backduck","version":"1.0.14","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.14","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"be69b7a75d8c28dc9c0b844d99d8c78791b7da77","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.14.tgz","fileCount":139,"integrity":"sha512-Pa8okBSRi89R+eco1tA9Ha/NvD40L3RovziuBvpbfxI7I4SNzaSDyqeo0Xl2WHyzgGq1Lj2AXcbuo7QLG8K4CA==","signatures":[{"sig":"MEQCICW+uLn3YWgs7hs2QeR1eVtbnTt0nDgQPuPAcZEAsj8IAiAR+0GEGE2d0b6988ocUAD6+nqgk9fsxF4vabvSvQPVsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":618026},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3aa0e96e44487245abfdbc2b4685fc76adbedb3b","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.14_1778924748618_0.5584454837248767","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"inviton-backduck","version":"1.0.15","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.15","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"756d625ba2040c59e71b29528bc45ddd6d58270b","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.15.tgz","fileCount":139,"integrity":"sha512-eyUS6fjzkNLr/K3397lox6fq2j1cQKCHxW0rM055qAeh1tpTGKIN1e6NH1hPcBxtkme4RShKsmHSWweg2ztGPQ==","signatures":[{"sig":"MEUCICXubj+L4wTZoVTNtGdv/3F3tgdNnSaiElB2f1gPThGAAiEAxWRE3YKFzC8OaLaLXWKdUg0ESQZF5kBQiUyWqNsXA50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":620130},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8e741e9caff9195e567ee8d252e9a39a8a603513","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.15_1779019897985_0.7408506834854716","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"inviton-backduck","version":"1.0.16","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.0.16","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"c5137cb9755d12d4a55ad3a0482dcab7f60a4cfb","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.0.16.tgz","fileCount":139,"integrity":"sha512-XvbknXH1pKDHJJK3p6zJFYRLg0PlwHBQnCHLrT/bTwy/ENZfjLkWAC4Y+6n8X8HT+LYE+4Rnwof6VkRn0Nhw0Q==","signatures":[{"sig":"MEYCIQDzjFXkMWNO7OtLFBTJcVrHRqscI4A1eOjOCu+ENJb9qwIhAMQ8LWMDWQG5VxyYQ2Uu/CedRKiFljjn8SwR+UtPM8mc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":620963},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b4ac80a9594a09037e17017ee4436dda25c44c67","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.0.16_1779810265994_0.732354907581618","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"inviton-backduck","version":"1.1.0","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.1.0","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"809c82a7ca8dc722eb3142c6a5bf4a558dfe738f","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.1.0.tgz","fileCount":139,"integrity":"sha512-imYqC5iQBjjvOwutq3LlwXpcKU6e2E5kkUXTReus61Cym/+rtT1hyfAtsuRngIBf4wu/yZYUnAFmvaUbzmHelQ==","signatures":[{"sig":"MEQCIDijrJoNxObhx5BeEjjh433YR+OD3l9MHP4DRp/gFp2XAiAEqTYjMH91CCYwiqi2urhYoXIzA9nm5Z60HmnYurx46w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627654},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c9a61d1cb431139b22696312d9440142c278fed9","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.1.0_1780690204436_0.6016749543383282","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"inviton-backduck","version":"1.1.1","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.1.1","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"aadd06b7938f9b8f5bf4eeb4207178809cfd435b","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.1.1.tgz","fileCount":139,"integrity":"sha512-HCtF5SqF/pbK76I2tA4ascTM79CKPAaNkoZrT1gf3QFVJ+MyaFEkOupo+U9fGpjjSxdX4YFxClFSNEh940t6bg==","signatures":[{"sig":"MEUCIQCuVZHwlF9HfB3Cqiftu8CzFCAwSnock46eOFh1AkUbLwIgd6OGucj20EcMKQyKkl4og4kyrJMMTM4ajF4TW2mZjoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631786},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c9a61d1cb431139b22696312d9440142c278fed9","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.1.1_1780929203268_0.9164328073942054","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"inviton-backduck","version":"1.1.2","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.1.2","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"b1f2d78b32c38a3f46297af34c60abda2f3f4b6d","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.1.2.tgz","fileCount":139,"integrity":"sha512-+fw7VHZc+xuZAy5vBdlsOzSCBUTQB9abbj3LhhLLnCxRbK+mT5RYkRWIyhZ7RO31bHb6TvnjpT8EBCd3yb5mPA==","signatures":[{"sig":"MEUCIEiuCa8iyvDIwSBRn0twcoCOEfo8uJPtSqsyhsXlnelhAiEAoNbLWRDJ63RgOTLydYmuY3V/HsFeGQWfEzEkMn6Q8l0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633892},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0cb70dfbffa244590e5b48e2de75474f6fb13baf","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.1.2_1781509840986_0.5192854161809024","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"inviton-backduck","version":"1.2.0","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.0","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"ca80ffcf64d33aa8fddd52c7eb84b3b0a62859ee","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.0.tgz","fileCount":147,"integrity":"sha512-xxUfbf+zOZ77nA1KrxEw/qS0Xw568RudEkZMHcr8brv+wJDHKtIeY5WePw1D7w4cnvB5Ycn/OE172dAyuUBqfA==","signatures":[{"sig":"MEUCIQCluOl3wBpZvvbuCbnLPvx+gN3ly/BSNk+FY/pxSAMuVAIgE5YN57qrjkwyO0RtTaRfWl6R0SayTsnoayxplSO8isE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640370},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0cb70dfbffa244590e5b48e2de75474f6fb13baf","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.0_1781539887742_0.8069629963243861","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"inviton-backduck","version":"1.2.1","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.1","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"f8a5c5d90b129c7ec82d5d96febb4db2c4d21a7a","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.1.tgz","fileCount":147,"integrity":"sha512-GPUfLD27g6VMbGZzLBU+yoka5gc+/Qpx6ySX96WpsZjIs1hoIlnSLJRkSHgK1hbegU36RDglin02S8Bu1Dy6uQ==","signatures":[{"sig":"MEQCIDq6wiRVtodH9Py+suV9SQhn59a/FoOkiGk06QniNsdFAiBN4OdQNRhGPcnoY8DmEMojzTt3PF2sD/R2Bn/txkvswA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642956},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3d35f36da0e1bda5e6527e35254d79d1c6701c22","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.1_1781607744691_0.050573609605437886","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"inviton-backduck","version":"1.2.2","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.2","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"c533b56e6cbf12152b5267495df9edcb29a04e41","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.2.tgz","fileCount":147,"integrity":"sha512-d0d7XHdT0Qeg+5/bypFzLEdJXtW4uJqLLMqtcvloi+MuQ6FMlsue3Eshsva7X7sGrkWdX/WDQy16XS5DIwcIpQ==","signatures":[{"sig":"MEQCIEMKlSIgeQx/XLikFcsDQ3d0+yxYhahGRN+d40mi5Ce8AiBHaaT1/3vSuTwlyIQ1qt4O5amuaenAtDxDEtSBRJwQbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645204},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"172e2ff1adccfbc3dced9f5298f97c86ceceffb6","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.2_1781864099555_0.9627384613532026","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"inviton-backduck","version":"1.2.3","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.3","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"040fb2cccd3d66df1a0175833cf6516005aae3fd","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.3.tgz","fileCount":147,"integrity":"sha512-4wwUAyB3/FUlBu7YQJ+J7Ym701iDANjV6bRdkm76H2eiFZtqN8bTCanb9TdeSCEXMdVmJ3V2kD7sI8uVKNZpEg==","signatures":[{"sig":"MEQCICfCUYn2dRwnfmcnSWnDKsFaoDUzxf7b06UVjEF89H48AiBH/rO5PK1d8L1rl5Os/W1L8ae/AQeJTHd+YkbHOGzPSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645702},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"d7c2eade832ddcc90db5ee472e57a00f9a1abd13","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc && node scripts/fix-esm-extensions.mjs","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.3_1781873230088_0.7507307695831438","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"inviton-backduck","version":"1.2.4","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.4","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"0158d7d0d89d8179f9d10c2b944ca42fdd842c97","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.4.tgz","fileCount":147,"integrity":"sha512-pmIKo5BIySC5W8cdgoTZ1EBqwpnnubKQtsgWNbSkMCKQg+KgzPtnM/rEqqBFCmLc89FZ+iKztJizOiko6zi9aw==","signatures":[{"sig":"MEUCIER8nDWQa8hkAqZRy8FidhDFB4VUDok3CZHYLD1YmBacAiEA1h2ufGIPXeKFtVaqGpWO+RxylHzUHk7LfG5VQ4tAtL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645701},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"6639700a484e46b747b23baf5ed5f04eb060f77b","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.4_1781875764490_0.666456377693927","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"inviton-backduck","version":"1.2.5","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.5","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"fdd9baa126ffe6c55e807944753c2410759abd3f","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.5.tgz","fileCount":147,"integrity":"sha512-o25nPyyV3lFVIduIIwCIX7EMds3QCQOM0BlbyZiKL+s9Ou8AK7Mr+yRBUZhmo7oxPU05HDPeoJ4dEAbhAnymOA==","signatures":[{"sig":"MEUCIGrASgsH7LMQBocq3XOq/1JnUdOujVhOn/4HHhPRodx7AiEAwhC2QkT6su+O5y1TeHetxYnXPnVf8SjYPPWRZwWnfBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":648024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"223d8ba447ff88580a0a47684aa3dbd78647a650","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.5_1783414751137_0.07107898008288638","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"inviton-backduck","version":"1.2.6","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.6","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"f2d21a617f80755fb8c2cce6ddddfce9fdc428c2","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.6.tgz","fileCount":147,"integrity":"sha512-eRG21EI9cNjedrKbAJajwFd0Jw9akD670sks5Oa9bXYk0I5vTLgyLxRNNFLGIzJ/zoyF79XvyFPyiIjGEBGuew==","signatures":[{"sig":"MEUCIQDE6PwA1QNuJBFni02uHlaUrfNcqwqPkhgDvCJBAzgU5AIgSVsXu2hZ/JOrjMDigcELFusIVmlhyVkhdTrfkGq9nbE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658224},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9c292d1feebb61bf66cf91b693f32b2eb02e42c5","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.6_1785499183848_0.5566868725651466","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"inviton-backduck","version":"1.2.7","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.2.7","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"6b70ed72e6b7ba3c440e5b300d5bd4c575d93da6","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.2.7.tgz","fileCount":147,"integrity":"sha512-dkIdhw4J1p2/iKSJ3qGMdhRPTGE6jmoZFSSIeMd4sRwtv9eYkdN1aGHA2W4j3yxtCbNQna1PWOfnfp0mSnLunw==","signatures":[{"sig":"MEQCIDccun6ydy1SVDNZwaLBCKLSXijbaPKTvYd+sJEl0NjXAiBPN4NgdsOqL8W78CMRfaWj9IvLV+fm8iL2ZZBhxWj9sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":660154},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"2129040c0b850b84d8ac38e88808e8ebb2f5827c","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.2.7_1786431165114_0.9349820231161521","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"inviton-backduck","version":"1.3.0","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.3.0","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"0a859266a3335b8c0ec8170529802ed71dfdfa30","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.3.0.tgz","fileCount":147,"integrity":"sha512-NuSgEKnw1lm51V5q/WPpo4gEZxz7F3Sa4ewMSPHbojHa6sDKbpEyMfdzrB43iKVbAIObuAxB1PFLrz13lsT6vA==","signatures":[{"sig":"MEQCID+lKePQCzb1xgIGCB8lyjNJQwrCVIzoDQvLd1n/sMTKAiAd7XRGOFRclwSbb2h5n26WXofbnPhVzFH9KDtApXeRiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664199},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"cefd75e586f1153714533bf4ba815f5ab89ed262","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.3.0_1787146066806_0.7179419687356716","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"inviton-backduck","version":"1.3.1","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.3.1","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"feb4430bd04140f3605e06b5829dd130d0730b6a","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.3.1.tgz","fileCount":147,"integrity":"sha512-Zauc34FCb0kSlcW8wl+RQGHV72BKKu57BnoSpN5QADg1NIlrIy7PWQA+QkktQt68IU9/2tCC2QA8bJ04n1oHIg==","signatures":[{"sig":"MEYCIQD8bdnIyPaHz4o/xq+TIFC2+YDL8jrp7nct2u3b/cAg7wIhAJkchhmRNJTpkMp7bC0q6XFztiHGmVQGXZ/2xsetsLmi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664277},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"640acfb1eea23bf54682cce8f58c38bef17a0c1f","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.3.1_1787908689231_0.030582335244583758","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"inviton-backduck","version":"1.4.0","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"author":{"name":"Inviton"},"license":"MIT","_id":"inviton-backduck@1.4.0","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"dist":{"shasum":"3e93e963384fddd6a04ab4b3667bc0f39b33181e","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.4.0.tgz","fileCount":151,"integrity":"sha512-y8FFxpb7J3tJA/oRMHfAvav7ptd/rgmeACMMId46HDVdwEsIzfV6gwz6uVrc/YRDN/qxhix2aBCGE2zwqp0HCQ==","signatures":[{"sig":"MEQCIEUYwxWE5woYnNwaqbknY/KT1LKFmD2i+oSHJA5jzOsdAiAZFE28HHs4JqCsnnU4Nh70EMQj0n0oZt42dGoPK5KhNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":679339},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"640acfb1eea23bf54682cce8f58c38bef17a0c1f","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"_nodeVersion":"26.8.1","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inviton-backduck_1.4.0_1788801408005_0.817660961695222","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"_id":"inviton-backduck@1.4.1","dist":{"shasum":"968b858b61427f55e737669ea1165ffbcb2cf512","tarball":"https://registry.npmjs.org/inviton-backduck/-/inviton-backduck-1.4.1.tgz","fileCount":151,"integrity":"sha512-S/yJcOzXK+0leqX0iUnEK/0fzUcQUdNHG/G/xiOcatvT05lOMBZYq2MnZ++Rp1wNdG/lRfLndftsDUjirmtS0w==","signatures":[{"sig":"MEUCIQDEJUUKa4lNO4D1MlhKjDrRhZiFBO9a05aBmd64o5qcmwIgOPmx9LuU4uBbMP2ATi5Gluo85wM0CPH51fmF/UyTTQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFPg7XUNtAIPQ3g1QIOlYcdX1B522xLXU9MtKFZRPN4TAiBiICgxG/wpqcwcQLsGtPmSYDMVS+lrt8SuSjkvOa5YxQ=="}],"unpackedSize":683789},"main":"dist/index.js","name":"inviton-backduck","type":"module","types":"dist/index.d.ts","author":{"name":"Inviton"},"gitHead":"3b805c63d7fdd7668a2826d4efb93d8e27e285ae","license":"MIT","scripts":{"test":"npm run test:node && npm run test:bun","build":"tsc","clean":"node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"","prebuild":"npm run clean","test:bun":"bun test tests/","test:node":"jest --runInBand","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"version":"1.4.1","_npmUser":{"name":"brunolau","email":"bruno.laurinec@gmail.com"},"keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"_npmVersion":"11.1.0","description":"Runtime-agnostic utilities for building web servers with Express and Bun support","directories":{},"maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"_nodeVersion":"26.8.1","dependencies":{"cors":"^2.8.5","busboy":"^1.6.0","ts-morph":"^26.0.0","mime-types":"^2.1.35","cookie-parser":"^1.4.7","openapi-types":"^12.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.1","jest":"^30.4.2","express":"^5.2.1","ts-jest":"^29.4.9","bun-types":"^1.1.38","@types/bun":"^1.2.5","typescript":"^5.7.3","@types/cors":"^2.8.17","@types/jest":"^30.0.0","@types/node":"^22.10.5","@types/busboy":"^1.5.4","@types/express":"^5.0.0","@types/mime-types":"^2.1.4","@types/cookie-parser":"^1.4.7","jest-environment-node":"^30.4.1"},"peerDependencies":{"express":"^5.x","bun-types":"*"},"peerDependenciesMeta":{"express":{"optional":true},"bun-types":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/inviton-backduck_1.4.1_1790017680311_0.28815601546280445"}}},"time":{"created":"2026-02-02T21:42:22.015Z","modified":"2026-09-21T19:08:00.559Z","1.0.0":"2026-02-02T21:42:22.281Z","1.0.1":"2026-02-03T06:17:10.287Z","1.0.2":"2026-02-03T06:27:01.237Z","1.0.3":"2026-02-03T06:38:16.730Z","1.0.4":"2026-02-03T13:30:06.495Z","1.0.5":"2026-02-03T14:47:12.020Z","1.0.7":"2026-02-19T07:29:00.959Z","1.0.8":"2026-02-19T21:58:43.955Z","1.0.9":"2026-04-08T06:04:31.840Z","1.0.10":"2026-04-15T12:33:17.107Z","1.0.11":"2026-04-22T19:54:17.947Z","1.0.12":"2026-05-14T15:04:58.987Z","1.0.14":"2026-05-16T09:45:48.782Z","1.0.15":"2026-05-17T12:11:38.134Z","1.0.16":"2026-05-26T15:44:26.155Z","1.1.0":"2026-06-05T20:10:04.704Z","1.1.1":"2026-06-08T14:33:23.472Z","1.1.2":"2026-06-15T07:50:41.173Z","1.2.0":"2026-06-15T16:11:27.949Z","1.2.1":"2026-06-16T11:02:24.922Z","1.2.2":"2026-06-19T10:14:59.701Z","1.2.3":"2026-06-19T12:47:10.253Z","1.2.4":"2026-06-19T13:29:24.691Z","1.2.5":"2026-07-07T08:59:11.328Z","1.2.6":"2026-07-31T11:59:44.042Z","1.2.7":"2026-08-11T06:52:45.266Z","1.3.0":"2026-08-19T13:27:46.987Z","1.3.1":"2026-08-28T09:18:09.394Z","1.4.0":"2026-09-07T17:16:48.181Z","1.4.1":"2026-09-21T19:08:00.403Z"},"author":{"name":"Inviton"},"license":"MIT","keywords":["express","bun","runtime","router","server","api","documentation","openapi","swagger"],"description":"Runtime-agnostic utilities for building web servers with Express and Bun support","maintainers":[{"name":"brunolau","email":"bruno.laurinec@gmail.com"}],"readme":"# inviton-backduck\r\n\r\nRuntime-agnostic utilities for building web servers with Express and Bun support.\r\n\r\nWrite your server code once, and it will automatically adapt to the runtime environment (Node.js with Express or Bun native).\r\n\r\n## Features\r\n\r\n- **Universal Router**: Define routes once, run anywhere\r\n- **Controller-based routing** with automatic REST mapping\r\n- **Runtime detection** and automatic adaptation\r\n- **Type-safe** request/response handling\r\n- **Middleware support** with chaining\r\n- **Static file serving** with compression\r\n- **API Documentation Generation**: Automatic OpenAPI/Swagger and HTML docs from TypeScript controllers\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @inviton/backduck\r\n```\r\n\r\n### Peer Dependencies\r\n\r\nDepending on your runtime, install the appropriate peer dependencies:\r\n\r\n**For Node.js/Express:**\r\n\r\n```bash\r\nnpm install express\r\n```\r\n\r\n**For Bun:**\r\n\r\n```bash\r\n# Bun automatically provides bun-types\r\n```\r\n\r\n## Quick Start\r\n\r\n### 1. Define a Controller\r\n\r\n```typescript\r\nimport { Route, ControllerBase } from \"@inviton/backduck\";\r\n\r\ninterface CreateProductArgs {\r\n  name: string;\r\n  price: number;\r\n}\r\n\r\n@Route(\"/products\")\r\nexport class ProductController extends ControllerBase {\r\n  // GET /products\r\n  async getAll() {\r\n    return { products: [] };\r\n  }\r\n\r\n  // GET /products/:id\r\n  async get(args: { id: number }) {\r\n    return { id: args.id, name: \"Product\" };\r\n  }\r\n\r\n  // POST /products\r\n  async post(args: CreateProductArgs) {\r\n    return { id: 1, ...args };\r\n  }\r\n\r\n  // PUT /products/:id\r\n  async put(args: { id: number } & CreateProductArgs) {\r\n    return { id: args.id, name: args.name, price: args.price };\r\n  }\r\n\r\n  // DELETE /products/:id\r\n  async delete(args: { id: number }) {\r\n    return { success: true };\r\n  }\r\n}\r\n```\r\n\r\n### 2. Create Router and Register Controllers\r\n\r\n```typescript\r\nimport { createRouter } from \"@inviton/backduck\";\r\nimport { ProductController } from \"./controllers/ProductController\";\r\n\r\nconst router = createRouter();\r\nrouter.registerController(ProductController);\r\n```\r\n\r\n### 3. Create and Start Server\r\n\r\n```typescript\r\nimport { createServer } from \"@inviton/backduck\";\r\n\r\nconst server = createServer({\r\n  port: 3000,\r\n  apiRouters: {\r\n    \"/api\": router,\r\n  },\r\n});\r\n\r\nawait server.start();\r\n```\r\n\r\nThat's it! Your server will automatically use Bun's native server if running under Bun, or Express if running under Node.js.\r\n\r\n## API Documentation Generation\r\n\r\nGenerate OpenAPI/Swagger and HTML documentation from your TypeScript controllers:\r\n\r\n### 1. Create Configuration\r\n\r\nUse `createApiDocConfig()` to build a configurable config (merge with defaults) or implement the `ApiDocConfig` interface:\r\n\r\n```typescript\r\n// apidoc-config.ts\r\nimport { createApiDocConfig } from \"@inviton/backduck\";\r\n\r\n// Option A: Override only what you need (recommended)\r\nexport const ApiDocConfig = createApiDocConfig({\r\n  title: \"My API\",\r\n  version: \"1.0.0\",\r\n  description: \"API documentation for my project\",\r\n  contact: { name: \"My Team\", email: \"dev@example.com\" },\r\n  servers: {\r\n    development: { url: \"http://localhost:3000\", description: \"Local dev\" },\r\n    production: { url: \"https://api.example.com\", description: \"Production\" },\r\n  },\r\n  apiInterfaces: {\r\n    shopApi: { sourceDir: \"src/api/shop\", basePath: \"/api/shop\" },\r\n    adminApi: { sourceDir: \"src/api/admin\", basePath: \"/api/admin\" },\r\n  },\r\n  output: { specFilename: \"openapi.json\" },\r\n});\r\n```\r\n\r\n### 2. Generate Documentation\r\n\r\n```typescript\r\nimport { ApiDocGenerator } from \"@inviton/backduck\";\r\nimport { ApiDocConfig } from \"./apidoc-config\";\r\n\r\nconst result = await ApiDocGenerator.generate({\r\n  config: ApiDocConfig,\r\n  serverDir: __dirname,\r\n  apiType: \"shopApi\", // optional - defaults to first in apiInterfaces\r\n  verbose: true,\r\n});\r\n\r\nconsole.log(\r\n  `Generated ${result.endpointsCount} endpoints from ${result.controllersCount} controllers`,\r\n);\r\n```\r\n\r\nWhen using `generate()`, config is set via `ApiDocConfig.configure()` for the duration. You can also call `ApiDocConfig.configure(config)` upfront when using ControllerParser, TypeResolver, etc. directly.\r\n\r\n## Decorators\r\n\r\n### @Route(path: string)\r\n\r\nDefine the base route path for a controller:\r\n\r\n```typescript\r\n@Route(\"/users\")\r\nclass UserController extends ControllerBase {\r\n  // Routes will be /users, /users/:id, etc.\r\n}\r\n```\r\n\r\n### @Middleware(middleware)\r\n\r\nAdd middleware to a controller or method:\r\n\r\n```typescript\r\n@Route(\"/admin\")\r\n@Middleware(authMiddleware)\r\nclass AdminController extends ControllerBase {\r\n  // All methods require authentication\r\n\r\n  @Middleware(adminOnlyMiddleware)\r\n  async delete(args: { id: number }) {\r\n    // This method requires both auth and admin\r\n  }\r\n}\r\n```\r\n\r\n### @ParseRequestArgs(parser)\r\n\r\nCustom request argument parsing:\r\n\r\n```typescript\r\n@Route(\"/search\")\r\nclass SearchController extends ControllerBase {\r\n  @ParseRequestArgs((req) => ({\r\n    query: req.query.q as string,\r\n    page: parseInt(req.query.page as string) || 1,\r\n  }))\r\n  async get(args: { query: string; page: number }) {\r\n    return { results: [], page: args.page };\r\n  }\r\n}\r\n```\r\n\r\n### @RequestSize(maxSizeInMB)\r\n\r\nSet maximum request body size:\r\n\r\n```typescript\r\n@Route(\"/upload\")\r\n@RequestSize(50) // Allow up to 50MB\r\nclass UploadController extends ControllerBase {\r\n  async post(args: { file: Buffer }) {\r\n    // Handle large file upload\r\n  }\r\n}\r\n```\r\n\r\n## Runtime Utilities\r\n\r\nThe `RuntimeUtils` class provides helper methods for request parsing:\r\n\r\n```typescript\r\nimport { RuntimeUtils, type WebRequest } from \"@inviton/backduck\";\r\n\r\n// Parse query parameters\r\nconst id = RuntimeUtils.parseQueryNumber(req, \"id\");\r\nconst tags = RuntimeUtils.parseQueryStringArray(req, \"tags\");\r\nconst active = RuntimeUtils.parseQueryBoolean(req, \"active\");\r\nconst filters = RuntimeUtils.parseQueryJSON(req, \"filters\");\r\n\r\n// Get client IP (handles proxies)\r\nconst ip = RuntimeUtils.getIpAddress(req);\r\n```\r\n\r\n## HTTP Method Mapping\r\n\r\nController methods are automatically mapped to HTTP methods:\r\n\r\n| Method Name    | HTTP Method | Route Pattern | Example                |\r\n| -------------- | ----------- | ------------- | ---------------------- |\r\n| `getAll()`     | GET         | `/`           | `GET /products`        |\r\n| `get(args)`    | GET         | `/:id`        | `GET /products/123`    |\r\n| `post(args)`   | POST        | `/`           | `POST /products`       |\r\n| `put(args)`    | PUT         | `/:id`        | `PUT /products/123`    |\r\n| `patch(args)`  | PATCH       | `/:id`        | `PATCH /products/123`  |\r\n| `delete(args)` | DELETE      | `/:id`        | `DELETE /products/123` |\r\n\r\nCustom method names can be configured via the `ApiDocConfig.getHttpMethod()` function.\r\n\r\n## Static File Serving\r\n\r\nServe static files with automatic compression:\r\n\r\n```typescript\r\nimport { createServer } from \"@inviton/backduck\";\r\n\r\nconst server = createServer({\r\n  port: 3000,\r\n  apiRouters: { \"/api\": router },\r\n  staticFiles: [\r\n    {\r\n      urlPath: \"/assets\",\r\n      fsPath: \"./public/assets\",\r\n      cacheControl: \"public, max-age=31536000\", // 1 year\r\n    },\r\n  ],\r\n});\r\n```\r\n\r\n## Runtime Detection\r\n\r\n```typescript\r\nimport { RUNTIME, IS_BUN } from \"@inviton/backduck\";\r\n\r\nif (IS_BUN) {\r\n  console.log(\"Running on Bun!\");\r\n} else {\r\n  console.log(\"Running on Node.js with Express\");\r\n}\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## Author\r\n\r\nInviton\r\n","readmeFilename":"README.md"}