fix: allow async hooks in RouteShorthandOptions without breaking request and reply types#5147
fix: allow async hooks in RouteShorthandOptions without breaking request and reply types#5147mcollina merged 8 commits intofastify:mainfrom
RouteShorthandOptions without breaking request and reply types#5147Conversation
…equest` and `reply` types
|
Attn: @fastify/typescript |
|
Very nice! |
Uzlopak
left a comment
There was a problem hiding this comment.
Imho not strict enough.
E.g. mixing async and callback is possible.
onRequest: async (request, reply, done) => {
expectType<FastifyRequest>(request)
expectType<FastifyReply>(reply)
},It should be investigated if it can be done like in #4945
|
@Uzlopak good catch! |
Following this change... any updates? |
|
The code did not change since my last review. Maybe if I have time tonight I can patch it to my liking, then you can review it. |
|
I modified the typings tests to demonstrate the issue ;) |
|
I removed the most obvious errors. but i couldnt implement the requested change by myself. So I think we should review and merge it as is. |
|
@Uzlopak could you lgtm this? |
|
@mcollina i dismissed my review because i modified this PR heavily |
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [fastify](https://www.fastify.dev/) ([source](https://togithub.com/fastify/fastify)) | [`4.24.3` -> `4.25.0`](https://renovatebot.com/diffs/npm/fastify/4.24.3/4.25.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>fastify/fastify (fastify)</summary> ### [`v4.25.0`](https://togithub.com/fastify/fastify/releases/tag/v4.25.0) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.24.3...v4.25.0) #### What's Changed - feat: Improve RouteShorthandOptions\['constraints'] type by [@​Fcmam5](https://togithub.com/Fcmam5) in [https://github.com/fastify/fastify/pull/5097](https://togithub.com/fastify/fastify/pull/5097) - fix: add [@​eomm](https://togithub.com/eomm) and [@​jsumners](https://togithub.com/jsumners) as lead maintainers by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5115](https://togithub.com/fastify/fastify/pull/5115) - fix: reply.send supports Uint8Array payload by [@​SgtPooki](https://togithub.com/SgtPooki) in [https://github.com/fastify/fastify/pull/5124](https://togithub.com/fastify/fastify/pull/5124) - refactor: migrate deprecation warnings to actual deprecation warnings by [@​jsumners](https://togithub.com/jsumners) in [https://github.com/fastify/fastify/pull/5126](https://togithub.com/fastify/fastify/pull/5126) - docs: added documentation about warnings by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5108](https://togithub.com/fastify/fastify/pull/5108) - test(logger): restrict temp file permissions by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5128](https://togithub.com/fastify/fastify/pull/5128) - refactor(lib/hooks): replace `typeof` undefined check by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5127](https://togithub.com/fastify/fastify/pull/5127) - chore: replace mention of fastify `.io` domain with `.dev` by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5129](https://togithub.com/fastify/fastify/pull/5129) - docs(security): add prose explaining OpenSSF CII Best Practices badge results by [@​ljharb](https://togithub.com/ljharb) in [https://github.com/fastify/fastify/pull/5111](https://togithub.com/fastify/fastify/pull/5111) - chore: Bump actions/setup-node from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fastify/fastify/pull/5134](https://togithub.com/fastify/fastify/pull/5134) - fix(types): add handler property to routeOptions by [@​MikeJeffers](https://togithub.com/MikeJeffers) in [https://github.com/fastify/fastify/pull/5136](https://togithub.com/fastify/fastify/pull/5136) - docs(readme): fix ci badge path by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5138](https://togithub.com/fastify/fastify/pull/5138) - docs: Fix small typo in Typescript docs by [@​john-ko](https://togithub.com/john-ko) in [https://github.com/fastify/fastify/pull/5145](https://togithub.com/fastify/fastify/pull/5145) - feat(plugins): mixing async and callback style now returns a warning by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5139](https://togithub.com/fastify/fastify/pull/5139) - docs: mention about multipart support by [@​fawazahmed0](https://togithub.com/fawazahmed0) in [https://github.com/fastify/fastify/pull/5144](https://togithub.com/fastify/fastify/pull/5144) - docs: add [@​fastify/vite](https://togithub.com/fastify/vite) to core plugins list by [@​galvez](https://togithub.com/galvez) in [https://github.com/fastify/fastify/pull/5153](https://togithub.com/fastify/fastify/pull/5153) - docs: add [@​scalar/fastify-api-reference](https://togithub.com/scalar/fastify-api-reference) to community plugins list by [@​hanspagel](https://togithub.com/hanspagel) in [https://github.com/fastify/fastify/pull/5154](https://togithub.com/fastify/fastify/pull/5154) - docs: Remove routeOptions reference in Reply.md by [@​shadahmad7](https://togithub.com/shadahmad7) in [https://github.com/fastify/fastify/pull/5156](https://togithub.com/fastify/fastify/pull/5156) - docs(ecosystem): add fastify-uws by [@​tinchoz49](https://togithub.com/tinchoz49) in [https://github.com/fastify/fastify/pull/5160](https://togithub.com/fastify/fastify/pull/5160) - docs: removed unmaintained fastify-nodemailer from ecosystem by [@​giovanni-bertoncelli](https://togithub.com/giovanni-bertoncelli) in [https://github.com/fastify/fastify/pull/5161](https://togithub.com/fastify/fastify/pull/5161) - docs: clarify handling of streams and buffers by [@​brettwillis](https://togithub.com/brettwillis) in [https://github.com/fastify/fastify/pull/5166](https://togithub.com/fastify/fastify/pull/5166) - docs([#​5142](https://togithub.com/fastify/fastify/issues/5142)): aligned errors and warnings documentation by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5162](https://togithub.com/fastify/fastify/pull/5162) - docs(reference/hooks): add information about prehandler by [@​RjManhas](https://togithub.com/RjManhas) in [https://github.com/fastify/fastify/pull/5163](https://togithub.com/fastify/fastify/pull/5163) - fix: type FastifyInstance\['route'] and RouteShorthandMethod by [@​MunifTanjim](https://togithub.com/MunifTanjim) in [https://github.com/fastify/fastify/pull/5155](https://togithub.com/fastify/fastify/pull/5155) - docs (reference): Fix small typo in Request by [@​bngarren](https://togithub.com/bngarren) in [https://github.com/fastify/fastify/pull/5186](https://togithub.com/fastify/fastify/pull/5186) - chore: gitpodify by [@​ghostdevv](https://togithub.com/ghostdevv) in [https://github.com/fastify/fastify/pull/5168](https://togithub.com/fastify/fastify/pull/5168) - docs(ecosystem): Add Apitally by [@​itssimon](https://togithub.com/itssimon) in [https://github.com/fastify/fastify/pull/5175](https://togithub.com/fastify/fastify/pull/5175) - fix: Update reply.context deprecation warning by [@​avaly](https://togithub.com/avaly) in [https://github.com/fastify/fastify/pull/5179](https://togithub.com/fastify/fastify/pull/5179) - docs(ecosystem): adds @​blastorg/fastify/aws-dynamodb-cache to community plugins list by [@​fredrikj31](https://togithub.com/fredrikj31) in [https://github.com/fastify/fastify/pull/5158](https://togithub.com/fastify/fastify/pull/5158) - docs: update preHandler hook example by [@​tarunrajput](https://togithub.com/tarunrajput) in [https://github.com/fastify/fastify/pull/5189](https://togithub.com/fastify/fastify/pull/5189) - types: added http header types to reply by [@​skwee357](https://togithub.com/skwee357) in [https://github.com/fastify/fastify/pull/5046](https://togithub.com/fastify/fastify/pull/5046) - test: add tests for TOC of errors.md by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5194](https://togithub.com/fastify/fastify/pull/5194) - ci: pin node 18 to 18.18.2 by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5197](https://togithub.com/fastify/fastify/pull/5197) - docs(ecosystem): add http-wizard by [@​flodlc](https://togithub.com/flodlc) in [https://github.com/fastify/fastify/pull/5132](https://togithub.com/fastify/fastify/pull/5132) - chore: Bump actions/github-script from 6 to 7 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fastify/fastify/pull/5183](https://togithub.com/fastify/fastify/pull/5183) - ci: fix broken ci by skipping tests if node v > 18.19.0 by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5195](https://togithub.com/fastify/fastify/pull/5195) - fix: allow async hooks in `RouteShorthandOptions` without breaking `request` and `reply` types by [@​bienzaaron](https://togithub.com/bienzaaron) in [https://github.com/fastify/fastify/pull/5147](https://togithub.com/fastify/fastify/pull/5147) - fix([#​5180](https://togithub.com/fastify/fastify/issues/5180)): close secondary bindings after primary is closed by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/fastify/fastify/pull/5201](https://togithub.com/fastify/fastify/pull/5201) - chore: update process-warning by [@​Eomm](https://togithub.com/Eomm) in [https://github.com/fastify/fastify/pull/5206](https://togithub.com/fastify/fastify/pull/5206) - types: nullish error types in callback function's parameter for `after` and `ready` method by [@​nokazn](https://togithub.com/nokazn) in [https://github.com/fastify/fastify/pull/5191](https://togithub.com/fastify/fastify/pull/5191) - fix([#​5049](https://togithub.com/fastify/fastify/issues/5049)): Remove duplicated calls to onReady by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/fastify/fastify/pull/5051](https://togithub.com/fastify/fastify/pull/5051) - chore: remove unused type assertion by [@​UndefinedBehaviour](https://togithub.com/UndefinedBehaviour) in [https://github.com/fastify/fastify/pull/5184](https://togithub.com/fastify/fastify/pull/5184) #### New Contributors - [@​Fcmam5](https://togithub.com/Fcmam5) made their first contribution in [https://github.com/fastify/fastify/pull/5097](https://togithub.com/fastify/fastify/pull/5097) - [@​SgtPooki](https://togithub.com/SgtPooki) made their first contribution in [https://github.com/fastify/fastify/pull/5124](https://togithub.com/fastify/fastify/pull/5124) - [@​MikeJeffers](https://togithub.com/MikeJeffers) made their first contribution in [https://github.com/fastify/fastify/pull/5136](https://togithub.com/fastify/fastify/pull/5136) - [@​john-ko](https://togithub.com/john-ko) made their first contribution in [https://github.com/fastify/fastify/pull/5145](https://togithub.com/fastify/fastify/pull/5145) - [@​fawazahmed0](https://togithub.com/fawazahmed0) made their first contribution in [https://github.com/fastify/fastify/pull/5144](https://togithub.com/fastify/fastify/pull/5144) - [@​hanspagel](https://togithub.com/hanspagel) made their first contribution in [https://github.com/fastify/fastify/pull/5154](https://togithub.com/fastify/fastify/pull/5154) - [@​shadahmad7](https://togithub.com/shadahmad7) made their first contribution in [https://github.com/fastify/fastify/pull/5156](https://togithub.com/fastify/fastify/pull/5156) - [@​giovanni-bertoncelli](https://togithub.com/giovanni-bertoncelli) made their first contribution in [https://github.com/fastify/fastify/pull/5161](https://togithub.com/fastify/fastify/pull/5161) - [@​RjManhas](https://togithub.com/RjManhas) made their first contribution in [https://github.com/fastify/fastify/pull/5163](https://togithub.com/fastify/fastify/pull/5163) - [@​MunifTanjim](https://togithub.com/MunifTanjim) made their first contribution in [https://github.com/fastify/fastify/pull/5155](https://togithub.com/fastify/fastify/pull/5155) - [@​bngarren](https://togithub.com/bngarren) made their first contribution in [https://github.com/fastify/fastify/pull/5186](https://togithub.com/fastify/fastify/pull/5186) - [@​ghostdevv](https://togithub.com/ghostdevv) made their first contribution in [https://github.com/fastify/fastify/pull/5168](https://togithub.com/fastify/fastify/pull/5168) - [@​itssimon](https://togithub.com/itssimon) made their first contribution in [https://github.com/fastify/fastify/pull/5175](https://togithub.com/fastify/fastify/pull/5175) - [@​avaly](https://togithub.com/avaly) made their first contribution in [https://github.com/fastify/fastify/pull/5179](https://togithub.com/fastify/fastify/pull/5179) - [@​fredrikj31](https://togithub.com/fredrikj31) made their first contribution in [https://github.com/fastify/fastify/pull/5158](https://togithub.com/fastify/fastify/pull/5158) - [@​tarunrajput](https://togithub.com/tarunrajput) made their first contribution in [https://github.com/fastify/fastify/pull/5189](https://togithub.com/fastify/fastify/pull/5189) - [@​skwee357](https://togithub.com/skwee357) made their first contribution in [https://github.com/fastify/fastify/pull/5046](https://togithub.com/fastify/fastify/pull/5046) - [@​flodlc](https://togithub.com/flodlc) made their first contribution in [https://github.com/fastify/fastify/pull/5132](https://togithub.com/fastify/fastify/pull/5132) - [@​nokazn](https://togithub.com/nokazn) made their first contribution in [https://github.com/fastify/fastify/pull/5191](https://togithub.com/fastify/fastify/pull/5191) - [@​UndefinedBehaviour](https://togithub.com/UndefinedBehaviour) made their first contribution in [https://github.com/fastify/fastify/pull/5184](https://togithub.com/fastify/fastify/pull/5184) **Full Changelog**: fastify/fastify@v4.24.3...v4.25.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/tomacheese/telcheck). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [fastify](https://www.fastify.dev/) ([source](https://togithub.com/fastify/fastify)) | [`4.24.3` -> `4.25.2`](https://renovatebot.com/diffs/npm/fastify/4.24.3/4.25.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>fastify/fastify (fastify)</summary> ### [`v4.25.2`](https://togithub.com/fastify/fastify/releases/tag/v4.25.2) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.25.1...v4.25.2) #### What's Changed - fix: `npm run test:watch` by [@​domdomegg](https://togithub.com/domdomegg) in [https://github.com/fastify/fastify/pull/5221](https://togithub.com/fastify/fastify/pull/5221) - fix: always consume stream payloads when responding to 204 with no body by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5231](https://togithub.com/fastify/fastify/pull/5231) - docs: update setErrorHandler to explain not found behaviour by [@​domdomegg](https://togithub.com/domdomegg) in [https://github.com/fastify/fastify/pull/5218](https://togithub.com/fastify/fastify/pull/5218) #### New Contributors - [@​domdomegg](https://togithub.com/domdomegg) made their first contribution in [https://github.com/fastify/fastify/pull/5221](https://togithub.com/fastify/fastify/pull/5221) **Full Changelog**: fastify/fastify@v4.25.1...v4.25.2 ### [`v4.25.1`](https://togithub.com/fastify/fastify/releases/tag/v4.25.1) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.25.0...v4.25.1) #### What's Changed - fix: route constraints by [@​climba03003](https://togithub.com/climba03003) in [https://github.com/fastify/fastify/pull/5207](https://togithub.com/fastify/fastify/pull/5207) - fix: Better plugin name detection for FSTWRN002 by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5209](https://togithub.com/fastify/fastify/pull/5209) - chore: at-large project by [@​Eomm](https://togithub.com/Eomm) in [https://github.com/fastify/fastify/pull/5211](https://togithub.com/fastify/fastify/pull/5211) **Full Changelog**: fastify/fastify@v4.25.0...v4.25.1 ### [`v4.25.0`](https://togithub.com/fastify/fastify/releases/tag/v4.25.0) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.24.3...v4.25.0) #### What's Changed - feat: Improve RouteShorthandOptions\['constraints'] type by [@​Fcmam5](https://togithub.com/Fcmam5) in [https://github.com/fastify/fastify/pull/5097](https://togithub.com/fastify/fastify/pull/5097) - fix: add [@​eomm](https://togithub.com/eomm) and [@​jsumners](https://togithub.com/jsumners) as lead maintainers by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5115](https://togithub.com/fastify/fastify/pull/5115) - fix: reply.send supports Uint8Array payload by [@​SgtPooki](https://togithub.com/SgtPooki) in [https://github.com/fastify/fastify/pull/5124](https://togithub.com/fastify/fastify/pull/5124) - refactor: migrate deprecation warnings to actual deprecation warnings by [@​jsumners](https://togithub.com/jsumners) in [https://github.com/fastify/fastify/pull/5126](https://togithub.com/fastify/fastify/pull/5126) - docs: added documentation about warnings by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5108](https://togithub.com/fastify/fastify/pull/5108) - test(logger): restrict temp file permissions by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5128](https://togithub.com/fastify/fastify/pull/5128) - refactor(lib/hooks): replace `typeof` undefined check by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5127](https://togithub.com/fastify/fastify/pull/5127) - chore: replace mention of fastify `.io` domain with `.dev` by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5129](https://togithub.com/fastify/fastify/pull/5129) - docs(security): add prose explaining OpenSSF CII Best Practices badge results by [@​ljharb](https://togithub.com/ljharb) in [https://github.com/fastify/fastify/pull/5111](https://togithub.com/fastify/fastify/pull/5111) - chore: Bump actions/setup-node from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fastify/fastify/pull/5134](https://togithub.com/fastify/fastify/pull/5134) - fix(types): add handler property to routeOptions by [@​MikeJeffers](https://togithub.com/MikeJeffers) in [https://github.com/fastify/fastify/pull/5136](https://togithub.com/fastify/fastify/pull/5136) - docs(readme): fix ci badge path by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5138](https://togithub.com/fastify/fastify/pull/5138) - docs: Fix small typo in Typescript docs by [@​john-ko](https://togithub.com/john-ko) in [https://github.com/fastify/fastify/pull/5145](https://togithub.com/fastify/fastify/pull/5145) - feat(plugins): mixing async and callback style now returns a warning by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5139](https://togithub.com/fastify/fastify/pull/5139) - docs: mention about multipart support by [@​fawazahmed0](https://togithub.com/fawazahmed0) in [https://github.com/fastify/fastify/pull/5144](https://togithub.com/fastify/fastify/pull/5144) - docs: add [@​fastify/vite](https://togithub.com/fastify/vite) to core plugins list by [@​galvez](https://togithub.com/galvez) in [https://github.com/fastify/fastify/pull/5153](https://togithub.com/fastify/fastify/pull/5153) - docs: add [@​scalar/fastify-api-reference](https://togithub.com/scalar/fastify-api-reference) to community plugins list by [@​hanspagel](https://togithub.com/hanspagel) in [https://github.com/fastify/fastify/pull/5154](https://togithub.com/fastify/fastify/pull/5154) - docs: Remove routeOptions reference in Reply.md by [@​shadahmad7](https://togithub.com/shadahmad7) in [https://github.com/fastify/fastify/pull/5156](https://togithub.com/fastify/fastify/pull/5156) - docs(ecosystem): add fastify-uws by [@​tinchoz49](https://togithub.com/tinchoz49) in [https://github.com/fastify/fastify/pull/5160](https://togithub.com/fastify/fastify/pull/5160) - docs: removed unmaintained fastify-nodemailer from ecosystem by [@​giovanni-bertoncelli](https://togithub.com/giovanni-bertoncelli) in [https://github.com/fastify/fastify/pull/5161](https://togithub.com/fastify/fastify/pull/5161) - docs: clarify handling of streams and buffers by [@​brettwillis](https://togithub.com/brettwillis) in [https://github.com/fastify/fastify/pull/5166](https://togithub.com/fastify/fastify/pull/5166) - docs([#​5142](https://togithub.com/fastify/fastify/issues/5142)): aligned errors and warnings documentation by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5162](https://togithub.com/fastify/fastify/pull/5162) - docs(reference/hooks): add information about prehandler by [@​RjManhas](https://togithub.com/RjManhas) in [https://github.com/fastify/fastify/pull/5163](https://togithub.com/fastify/fastify/pull/5163) - fix: type FastifyInstance\['route'] and RouteShorthandMethod by [@​MunifTanjim](https://togithub.com/MunifTanjim) in [https://github.com/fastify/fastify/pull/5155](https://togithub.com/fastify/fastify/pull/5155) - docs (reference): Fix small typo in Request by [@​bngarren](https://togithub.com/bngarren) in [https://github.com/fastify/fastify/pull/5186](https://togithub.com/fastify/fastify/pull/5186) - chore: gitpodify by [@​ghostdevv](https://togithub.com/ghostdevv) in [https://github.com/fastify/fastify/pull/5168](https://togithub.com/fastify/fastify/pull/5168) - docs(ecosystem): Add Apitally by [@​itssimon](https://togithub.com/itssimon) in [https://github.com/fastify/fastify/pull/5175](https://togithub.com/fastify/fastify/pull/5175) - fix: Update reply.context deprecation warning by [@​avaly](https://togithub.com/avaly) in [https://github.com/fastify/fastify/pull/5179](https://togithub.com/fastify/fastify/pull/5179) - docs(ecosystem): adds @​blastorg/fastify/aws-dynamodb-cache to community plugins list by [@​fredrikj31](https://togithub.com/fredrikj31) in [https://github.com/fastify/fastify/pull/5158](https://togithub.com/fastify/fastify/pull/5158) - docs: update preHandler hook example by [@​tarunrajput](https://togithub.com/tarunrajput) in [https://github.com/fastify/fastify/pull/5189](https://togithub.com/fastify/fastify/pull/5189) - types: added http header types to reply by [@​skwee357](https://togithub.com/skwee357) in [https://github.com/fastify/fastify/pull/5046](https://togithub.com/fastify/fastify/pull/5046) - test: add tests for TOC of errors.md by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5194](https://togithub.com/fastify/fastify/pull/5194) - ci: pin node 18 to 18.18.2 by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5197](https://togithub.com/fastify/fastify/pull/5197) - docs(ecosystem): add http-wizard by [@​flodlc](https://togithub.com/flodlc) in [https://github.com/fastify/fastify/pull/5132](https://togithub.com/fastify/fastify/pull/5132) - chore: Bump actions/github-script from 6 to 7 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fastify/fastify/pull/5183](https://togithub.com/fastify/fastify/pull/5183) - ci: fix broken ci by skipping tests if node v > 18.19.0 by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5195](https://togithub.com/fastify/fastify/pull/5195) - fix: allow async hooks in `RouteShorthandOptions` without breaking `request` and `reply` types by [@​bienzaaron](https://togithub.com/bienzaaron) in [https://github.com/fastify/fastify/pull/5147](https://togithub.com/fastify/fastify/pull/5147) - fix([#​5180](https://togithub.com/fastify/fastify/issues/5180)): close secondary bindings after primary is closed by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/fastify/fastify/pull/5201](https://togithub.com/fastify/fastify/pull/5201) - chore: update process-warning by [@​Eomm](https://togithub.com/Eomm) in [https://github.com/fastify/fastify/pull/5206](https://togithub.com/fastify/fastify/pull/5206) - types: nullish error types in callback function's parameter for `after` and `ready` method by [@​nokazn](https://togithub.com/nokazn) in [https://github.com/fastify/fastify/pull/5191](https://togithub.com/fastify/fastify/pull/5191) - fix([#​5049](https://togithub.com/fastify/fastify/issues/5049)): Remove duplicated calls to onReady by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/fastify/fastify/pull/5051](https://togithub.com/fastify/fastify/pull/5051) - chore: remove unused type assertion by [@​UndefinedBehaviour](https://togithub.com/UndefinedBehaviour) in [https://github.com/fastify/fastify/pull/5184](https://togithub.com/fastify/fastify/pull/5184) #### New Contributors - [@​Fcmam5](https://togithub.com/Fcmam5) made their first contribution in [https://github.com/fastify/fastify/pull/5097](https://togithub.com/fastify/fastify/pull/5097) - [@​SgtPooki](https://togithub.com/SgtPooki) made their first contribution in [https://github.com/fastify/fastify/pull/5124](https://togithub.com/fastify/fastify/pull/5124) - [@​MikeJeffers](https://togithub.com/MikeJeffers) made their first contribution in [https://github.com/fastify/fastify/pull/5136](https://togithub.com/fastify/fastify/pull/5136) - [@​john-ko](https://togithub.com/john-ko) made their first contribution in [https://github.com/fastify/fastify/pull/5145](https://togithub.com/fastify/fastify/pull/5145) - [@​fawazahmed0](https://togithub.com/fawazahmed0) made their first contribution in [https://github.com/fastify/fastify/pull/5144](https://togithub.com/fastify/fastify/pull/5144) - [@​hanspagel](https://togithub.com/hanspagel) made their first contribution in [https://github.com/fastify/fastify/pull/5154](https://togithub.com/fastify/fastify/pull/5154) - [@​shadahmad7](https://togithub.com/shadahmad7) made their first contribution in [https://github.com/fastify/fastify/pull/5156](https://togithub.com/fastify/fastify/pull/5156) - [@​giovanni-bertoncelli](https://togithub.com/giovanni-bertoncelli) made their first contribution in [https://github.com/fastify/fastify/pull/5161](https://togithub.com/fastify/fastify/pull/5161) - [@​RjManhas](https://togithub.com/RjManhas) made their first contribution in [https://github.com/fastify/fastify/pull/5163](https://togithub.com/fastify/fastify/pull/5163) - [@​MunifTanjim](https://togithub.com/MunifTanjim) made their first contribution in [https://github.com/fastify/fastify/pull/5155](https://togithub.com/fastify/fastify/pull/5155) - [@​bngarren](https://togithub.com/bngarren) made their first contribution in [https://github.com/fastify/fastify/pull/5186](https://togithub.com/fastify/fastify/pull/5186) - [@​ghostdevv](https://togithub.com/ghostdevv) made their first contribution in [https://github.com/fastify/fastify/pull/5168](https://togithub.com/fastify/fastify/pull/5168) - [@​itssimon](https://togithub.com/itssimon) made their first contribution in [https://github.com/fastify/fastify/pull/5175](https://togithub.com/fastify/fastify/pull/5175) - [@​avaly](https://togithub.com/avaly) made their first contribution in [https://github.com/fastify/fastify/pull/5179](https://togithub.com/fastify/fastify/pull/5179) - [@​fredrikj31](https://togithub.com/fredrikj31) made their first contribution in [https://github.com/fastify/fastify/pull/5158](https://togithub.com/fastify/fastify/pull/5158) - [@​tarunrajput](https://togithub.com/tarunrajput) made their first contribution in [https://github.com/fastify/fastify/pull/5189](https://togithub.com/fastify/fastify/pull/5189) - [@​skwee357](https://togithub.com/skwee357) made their first contribution in [https://github.com/fastify/fastify/pull/5046](https://togithub.com/fastify/fastify/pull/5046) - [@​flodlc](https://togithub.com/flodlc) made their first contribution in [https://github.com/fastify/fastify/pull/5132](https://togithub.com/fastify/fastify/pull/5132) - [@​nokazn](https://togithub.com/nokazn) made their first contribution in [https://github.com/fastify/fastify/pull/5191](https://togithub.com/fastify/fastify/pull/5191) - [@​UndefinedBehaviour](https://togithub.com/UndefinedBehaviour) made their first contribution in [https://github.com/fastify/fastify/pull/5184](https://togithub.com/fastify/fastify/pull/5184) **Full Changelog**: fastify/fastify@v4.24.3...v4.25.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/redwoodjs/redwood). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [fastify](https://www.fastify.dev/) ([source](https://togithub.com/fastify/fastify)) | [`4.24.3` -> `4.25.2`](https://renovatebot.com/diffs/npm/fastify/4.24.3/4.25.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>fastify/fastify (fastify)</summary> ### [`v4.25.2`](https://togithub.com/fastify/fastify/releases/tag/v4.25.2) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.25.1...v4.25.2) #### What's Changed - fix: `npm run test:watch` by [@​domdomegg](https://togithub.com/domdomegg) in [https://github.com/fastify/fastify/pull/5221](https://togithub.com/fastify/fastify/pull/5221) - fix: always consume stream payloads when responding to 204 with no body by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5231](https://togithub.com/fastify/fastify/pull/5231) - docs: update setErrorHandler to explain not found behaviour by [@​domdomegg](https://togithub.com/domdomegg) in [https://github.com/fastify/fastify/pull/5218](https://togithub.com/fastify/fastify/pull/5218) #### New Contributors - [@​domdomegg](https://togithub.com/domdomegg) made their first contribution in [https://github.com/fastify/fastify/pull/5221](https://togithub.com/fastify/fastify/pull/5221) **Full Changelog**: fastify/fastify@v4.25.1...v4.25.2 ### [`v4.25.1`](https://togithub.com/fastify/fastify/releases/tag/v4.25.1) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.25.0...v4.25.1) #### What's Changed - fix: route constraints by [@​climba03003](https://togithub.com/climba03003) in [https://github.com/fastify/fastify/pull/5207](https://togithub.com/fastify/fastify/pull/5207) - fix: Better plugin name detection for FSTWRN002 by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5209](https://togithub.com/fastify/fastify/pull/5209) - chore: at-large project by [@​Eomm](https://togithub.com/Eomm) in [https://github.com/fastify/fastify/pull/5211](https://togithub.com/fastify/fastify/pull/5211) **Full Changelog**: fastify/fastify@v4.25.0...v4.25.1 ### [`v4.25.0`](https://togithub.com/fastify/fastify/releases/tag/v4.25.0) [Compare Source](https://togithub.com/fastify/fastify/compare/v4.24.3...v4.25.0) #### What's Changed - feat: Improve RouteShorthandOptions\['constraints'] type by [@​Fcmam5](https://togithub.com/Fcmam5) in [https://github.com/fastify/fastify/pull/5097](https://togithub.com/fastify/fastify/pull/5097) - fix: add [@​eomm](https://togithub.com/eomm) and [@​jsumners](https://togithub.com/jsumners) as lead maintainers by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/fastify/fastify/pull/5115](https://togithub.com/fastify/fastify/pull/5115) - fix: reply.send supports Uint8Array payload by [@​SgtPooki](https://togithub.com/SgtPooki) in [https://github.com/fastify/fastify/pull/5124](https://togithub.com/fastify/fastify/pull/5124) - refactor: migrate deprecation warnings to actual deprecation warnings by [@​jsumners](https://togithub.com/jsumners) in [https://github.com/fastify/fastify/pull/5126](https://togithub.com/fastify/fastify/pull/5126) - docs: added documentation about warnings by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5108](https://togithub.com/fastify/fastify/pull/5108) - test(logger): restrict temp file permissions by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5128](https://togithub.com/fastify/fastify/pull/5128) - refactor(lib/hooks): replace `typeof` undefined check by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5127](https://togithub.com/fastify/fastify/pull/5127) - chore: replace mention of fastify `.io` domain with `.dev` by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5129](https://togithub.com/fastify/fastify/pull/5129) - docs(security): add prose explaining OpenSSF CII Best Practices badge results by [@​ljharb](https://togithub.com/ljharb) in [https://github.com/fastify/fastify/pull/5111](https://togithub.com/fastify/fastify/pull/5111) - chore: Bump actions/setup-node from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fastify/fastify/pull/5134](https://togithub.com/fastify/fastify/pull/5134) - fix(types): add handler property to routeOptions by [@​MikeJeffers](https://togithub.com/MikeJeffers) in [https://github.com/fastify/fastify/pull/5136](https://togithub.com/fastify/fastify/pull/5136) - docs(readme): fix ci badge path by [@​Fdawgs](https://togithub.com/Fdawgs) in [https://github.com/fastify/fastify/pull/5138](https://togithub.com/fastify/fastify/pull/5138) - docs: Fix small typo in Typescript docs by [@​john-ko](https://togithub.com/john-ko) in [https://github.com/fastify/fastify/pull/5145](https://togithub.com/fastify/fastify/pull/5145) - feat(plugins): mixing async and callback style now returns a warning by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5139](https://togithub.com/fastify/fastify/pull/5139) - docs: mention about multipart support by [@​fawazahmed0](https://togithub.com/fawazahmed0) in [https://github.com/fastify/fastify/pull/5144](https://togithub.com/fastify/fastify/pull/5144) - docs: add [@​fastify/vite](https://togithub.com/fastify/vite) to core plugins list by [@​galvez](https://togithub.com/galvez) in [https://github.com/fastify/fastify/pull/5153](https://togithub.com/fastify/fastify/pull/5153) - docs: add [@​scalar/fastify-api-reference](https://togithub.com/scalar/fastify-api-reference) to community plugins list by [@​hanspagel](https://togithub.com/hanspagel) in [https://github.com/fastify/fastify/pull/5154](https://togithub.com/fastify/fastify/pull/5154) - docs: Remove routeOptions reference in Reply.md by [@​shadahmad7](https://togithub.com/shadahmad7) in [https://github.com/fastify/fastify/pull/5156](https://togithub.com/fastify/fastify/pull/5156) - docs(ecosystem): add fastify-uws by [@​tinchoz49](https://togithub.com/tinchoz49) in [https://github.com/fastify/fastify/pull/5160](https://togithub.com/fastify/fastify/pull/5160) - docs: removed unmaintained fastify-nodemailer from ecosystem by [@​giovanni-bertoncelli](https://togithub.com/giovanni-bertoncelli) in [https://github.com/fastify/fastify/pull/5161](https://togithub.com/fastify/fastify/pull/5161) - docs: clarify handling of streams and buffers by [@​brettwillis](https://togithub.com/brettwillis) in [https://github.com/fastify/fastify/pull/5166](https://togithub.com/fastify/fastify/pull/5166) - docs([#​5142](https://togithub.com/fastify/fastify/issues/5142)): aligned errors and warnings documentation by [@​giuliowaitforitdavide](https://togithub.com/giuliowaitforitdavide) in [https://github.com/fastify/fastify/pull/5162](https://togithub.com/fastify/fastify/pull/5162) - docs(reference/hooks): add information about prehandler by [@​RjManhas](https://togithub.com/RjManhas) in [https://github.com/fastify/fastify/pull/5163](https://togithub.com/fastify/fastify/pull/5163) - fix: type FastifyInstance\['route'] and RouteShorthandMethod by [@​MunifTanjim](https://togithub.com/MunifTanjim) in [https://github.com/fastify/fastify/pull/5155](https://togithub.com/fastify/fastify/pull/5155) - docs (reference): Fix small typo in Request by [@​bngarren](https://togithub.com/bngarren) in [https://github.com/fastify/fastify/pull/5186](https://togithub.com/fastify/fastify/pull/5186) - chore: gitpodify by [@​ghostdevv](https://togithub.com/ghostdevv) in [https://github.com/fastify/fastify/pull/5168](https://togithub.com/fastify/fastify/pull/5168) - docs(ecosystem): Add Apitally by [@​itssimon](https://togithub.com/itssimon) in [https://github.com/fastify/fastify/pull/5175](https://togithub.com/fastify/fastify/pull/5175) - fix: Update reply.context deprecation warning by [@​avaly](https://togithub.com/avaly) in [https://github.com/fastify/fastify/pull/5179](https://togithub.com/fastify/fastify/pull/5179) - docs(ecosystem): adds @​blastorg/fastify/aws-dynamodb-cache to community plugins list by [@​fredrikj31](https://togithub.com/fredrikj31) in [https://github.com/fastify/fastify/pull/5158](https://togithub.com/fastify/fastify/pull/5158) - docs: update preHandler hook example by [@​tarunrajput](https://togithub.com/tarunrajput) in [https://github.com/fastify/fastify/pull/5189](https://togithub.com/fastify/fastify/pull/5189) - types: added http header types to reply by [@​skwee357](https://togithub.com/skwee357) in [https://github.com/fastify/fastify/pull/5046](https://togithub.com/fastify/fastify/pull/5046) - test: add tests for TOC of errors.md by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5194](https://togithub.com/fastify/fastify/pull/5194) - ci: pin node 18 to 18.18.2 by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5197](https://togithub.com/fastify/fastify/pull/5197) - docs(ecosystem): add http-wizard by [@​flodlc](https://togithub.com/flodlc) in [https://github.com/fastify/fastify/pull/5132](https://togithub.com/fastify/fastify/pull/5132) - chore: Bump actions/github-script from 6 to 7 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fastify/fastify/pull/5183](https://togithub.com/fastify/fastify/pull/5183) - ci: fix broken ci by skipping tests if node v > 18.19.0 by [@​Uzlopak](https://togithub.com/Uzlopak) in [https://github.com/fastify/fastify/pull/5195](https://togithub.com/fastify/fastify/pull/5195) - fix: allow async hooks in `RouteShorthandOptions` without breaking `request` and `reply` types by [@​bienzaaron](https://togithub.com/bienzaaron) in [https://github.com/fastify/fastify/pull/5147](https://togithub.com/fastify/fastify/pull/5147) - fix([#​5180](https://togithub.com/fastify/fastify/issues/5180)): close secondary bindings after primary is closed by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/fastify/fastify/pull/5201](https://togithub.com/fastify/fastify/pull/5201) - chore: update process-warning by [@​Eomm](https://togithub.com/Eomm) in [https://github.com/fastify/fastify/pull/5206](https://togithub.com/fastify/fastify/pull/5206) - types: nullish error types in callback function's parameter for `after` and `ready` method by [@​nokazn](https://togithub.com/nokazn) in [https://github.com/fastify/fastify/pull/5191](https://togithub.com/fastify/fastify/pull/5191) - fix([#​5049](https://togithub.com/fastify/fastify/issues/5049)): Remove duplicated calls to onReady by [@​metcoder95](https://togithub.com/metcoder95) in [https://github.com/fastify/fastify/pull/5051](https://togithub.com/fastify/fastify/pull/5051) - chore: remove unused type assertion by [@​UndefinedBehaviour](https://togithub.com/UndefinedBehaviour) in [https://github.com/fastify/fastify/pull/5184](https://togithub.com/fastify/fastify/pull/5184) #### New Contributors - [@​Fcmam5](https://togithub.com/Fcmam5) made their first contribution in [https://github.com/fastify/fastify/pull/5097](https://togithub.com/fastify/fastify/pull/5097) - [@​SgtPooki](https://togithub.com/SgtPooki) made their first contribution in [https://github.com/fastify/fastify/pull/5124](https://togithub.com/fastify/fastify/pull/5124) - [@​MikeJeffers](https://togithub.com/MikeJeffers) made their first contribution in [https://github.com/fastify/fastify/pull/5136](https://togithub.com/fastify/fastify/pull/5136) - [@​john-ko](https://togithub.com/john-ko) made their first contribution in [https://github.com/fastify/fastify/pull/5145](https://togithub.com/fastify/fastify/pull/5145) - [@​fawazahmed0](https://togithub.com/fawazahmed0) made their first contribution in [https://github.com/fastify/fastify/pull/5144](https://togithub.com/fastify/fastify/pull/5144) - [@​hanspagel](https://togithub.com/hanspagel) made their first contribution in [https://github.com/fastify/fastify/pull/5154](https://togithub.com/fastify/fastify/pull/5154) - [@​shadahmad7](https://togithub.com/shadahmad7) made their first contribution in [https://github.com/fastify/fastify/pull/5156](https://togithub.com/fastify/fastify/pull/5156) - [@​giovanni-bertoncelli](https://togithub.com/giovanni-bertoncelli) made their first contribution in [https://github.com/fastify/fastify/pull/5161](https://togithub.com/fastify/fastify/pull/5161) - [@​RjManhas](https://togithub.com/RjManhas) made their first contribution in [https://github.com/fastify/fastify/pull/5163](https://togithub.com/fastify/fastify/pull/5163) - [@​MunifTanjim](https://togithub.com/MunifTanjim) made their first contribution in [https://github.com/fastify/fastify/pull/5155](https://togithub.com/fastify/fastify/pull/5155) - [@​bngarren](https://togithub.com/bngarren) made their first contribution in [https://github.com/fastify/fastify/pull/5186](https://togithub.com/fastify/fastify/pull/5186) - [@​ghostdevv](https://togithub.com/ghostdevv) made their first contribution in [https://github.com/fastify/fastify/pull/5168](https://togithub.com/fastify/fastify/pull/5168) - [@​itssimon](https://togithub.com/itssimon) made their first contribution in [https://github.com/fastify/fastify/pull/5175](https://togithub.com/fastify/fastify/pull/5175) - [@​avaly](https://togithub.com/avaly) made their first contribution in [https://github.com/fastify/fastify/pull/5179](https://togithub.com/fastify/fastify/pull/5179) - [@​fredrikj31](https://togithub.com/fredrikj31) made their first contribution in [https://github.com/fastify/fastify/pull/5158](https://togithub.com/fastify/fastify/pull/5158) - [@​tarunrajput](https://togithub.com/tarunrajput) made their first contribution in [https://github.com/fastify/fastify/pull/5189](https://togithub.com/fastify/fastify/pull/5189) - [@​skwee357](https://togithub.com/skwee357) made their first contribution in [https://github.com/fastify/fastify/pull/5046](https://togithub.com/fastify/fastify/pull/5046) - [@​flodlc](https://togithub.com/flodlc) made their first contribution in [https://github.com/fastify/fastify/pull/5132](https://togithub.com/fastify/fastify/pull/5132) - [@​nokazn](https://togithub.com/nokazn) made their first contribution in [https://github.com/fastify/fastify/pull/5191](https://togithub.com/fastify/fastify/pull/5191) - [@​UndefinedBehaviour](https://togithub.com/UndefinedBehaviour) made their first contribution in [https://github.com/fastify/fastify/pull/5184](https://togithub.com/fastify/fastify/pull/5184) **Full Changelog**: fastify/fastify@v4.24.3...v4.25.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/redwoodjs/redwood). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Closes #4859, without breaking
RouteShorthandOptionsin the same way #4655 did (see #4705 for details on that).The idea is to use an intermediate type to infer the return type of the hook, and determine which hook handler interface to use based on that (sync or async).
A couple things I wanted to call out:
fastify.d.tsfile. It's really just an internal helper and shouldn't need to be exported.metaname - suggestions welcome. I think it would make the most sense to rename the existing hookssyncandasyncand then just make the new type<hook name>HookHandler(what the sync hook currently is named), but that would be breaking.Checklist
npm run testandnpm run benchmarkand the Code of conduct