node-fastify 5.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/.borp.yaml +3 -0
  2. package/.markdownlint-cli2.yaml +22 -0
  3. package/.prettierignore +1 -0
  4. package/GOVERNANCE.md +4 -0
  5. package/LICENSE +21 -0
  6. package/PROJECT_CHARTER.md +126 -0
  7. package/README.md +423 -0
  8. package/SECURITY.md +220 -0
  9. package/SPONSORS.md +24 -0
  10. package/build/build-error-serializer.js +35 -0
  11. package/build/build-validation.js +169 -0
  12. package/build/sync-version.js +11 -0
  13. package/docs/Guides/Benchmarking.md +60 -0
  14. package/docs/Guides/Database.md +321 -0
  15. package/docs/Guides/Delay-Accepting-Requests.md +608 -0
  16. package/docs/Guides/Detecting-When-Clients-Abort.md +172 -0
  17. package/docs/Guides/Ecosystem.md +726 -0
  18. package/docs/Guides/Fluent-Schema.md +127 -0
  19. package/docs/Guides/Getting-Started.md +620 -0
  20. package/docs/Guides/Index.md +43 -0
  21. package/docs/Guides/Migration-Guide-V3.md +287 -0
  22. package/docs/Guides/Migration-Guide-V4.md +267 -0
  23. package/docs/Guides/Migration-Guide-V5.md +727 -0
  24. package/docs/Guides/Plugins-Guide.md +520 -0
  25. package/docs/Guides/Prototype-Poisoning.md +383 -0
  26. package/docs/Guides/Recommendations.md +378 -0
  27. package/docs/Guides/Serverless.md +604 -0
  28. package/docs/Guides/Style-Guide.md +246 -0
  29. package/docs/Guides/Testing.md +481 -0
  30. package/docs/Guides/Write-Plugin.md +103 -0
  31. package/docs/Guides/Write-Type-Provider.md +34 -0
  32. package/docs/Reference/ContentTypeParser.md +271 -0
  33. package/docs/Reference/Decorators.md +436 -0
  34. package/docs/Reference/Encapsulation.md +194 -0
  35. package/docs/Reference/Errors.md +377 -0
  36. package/docs/Reference/HTTP2.md +94 -0
  37. package/docs/Reference/Hooks.md +958 -0
  38. package/docs/Reference/Index.md +73 -0
  39. package/docs/Reference/LTS.md +86 -0
  40. package/docs/Reference/Lifecycle.md +99 -0
  41. package/docs/Reference/Logging.md +268 -0
  42. package/docs/Reference/Middleware.md +79 -0
  43. package/docs/Reference/Plugins.md +245 -0
  44. package/docs/Reference/Principles.md +73 -0
  45. package/docs/Reference/Reply.md +1001 -0
  46. package/docs/Reference/Request.md +295 -0
  47. package/docs/Reference/Routes.md +802 -0
  48. package/docs/Reference/Server.md +2389 -0
  49. package/docs/Reference/Type-Providers.md +256 -0
  50. package/docs/Reference/TypeScript.md +1729 -0
  51. package/docs/Reference/Validation-and-Serialization.md +1130 -0
  52. package/docs/Reference/Warnings.md +58 -0
  53. package/docs/index.md +24 -0
  54. package/docs/resources/encapsulation_context.drawio +1 -0
  55. package/docs/resources/encapsulation_context.svg +3 -0
  56. package/eslint.config.js +35 -0
  57. package/examples/asyncawait.js +38 -0
  58. package/examples/benchmark/body.json +3 -0
  59. package/examples/benchmark/hooks-benchmark-async-await.js +44 -0
  60. package/examples/benchmark/hooks-benchmark.js +52 -0
  61. package/examples/benchmark/parser.js +47 -0
  62. package/examples/benchmark/simple.js +30 -0
  63. package/examples/benchmark/webstream.js +27 -0
  64. package/examples/hooks.js +91 -0
  65. package/examples/http2.js +39 -0
  66. package/examples/https.js +38 -0
  67. package/examples/parser.js +53 -0
  68. package/examples/plugin.js +12 -0
  69. package/examples/route-prefix.js +38 -0
  70. package/examples/shared-schema.js +38 -0
  71. package/examples/simple-stream.js +20 -0
  72. package/examples/simple.js +32 -0
  73. package/examples/simple.mjs +27 -0
  74. package/examples/typescript-server.ts +79 -0
  75. package/examples/use-plugin.js +29 -0
  76. package/fastify.d.ts +253 -0
  77. package/fastify.js +985 -0
  78. package/integration/server.js +29 -0
  79. package/integration/test.sh +23 -0
  80. package/lib/config-validator.js +1266 -0
  81. package/lib/content-type-parser.js +413 -0
  82. package/lib/content-type.js +160 -0
  83. package/lib/context.js +98 -0
  84. package/lib/decorate.js +152 -0
  85. package/lib/error-handler.js +173 -0
  86. package/lib/error-serializer.js +134 -0
  87. package/lib/error-status.js +14 -0
  88. package/lib/errors.js +516 -0
  89. package/lib/four-oh-four.js +190 -0
  90. package/lib/handle-request.js +195 -0
  91. package/lib/head-route.js +45 -0
  92. package/lib/hooks.js +429 -0
  93. package/lib/initial-config-validation.js +37 -0
  94. package/lib/logger-factory.js +136 -0
  95. package/lib/logger-pino.js +68 -0
  96. package/lib/noop-set.js +10 -0
  97. package/lib/plugin-override.js +90 -0
  98. package/lib/plugin-utils.js +169 -0
  99. package/lib/promise.js +23 -0
  100. package/lib/reply.js +1030 -0
  101. package/lib/req-id-gen-factory.js +52 -0
  102. package/lib/request.js +391 -0
  103. package/lib/route.js +686 -0
  104. package/lib/schema-controller.js +164 -0
  105. package/lib/schemas.js +207 -0
  106. package/lib/server.js +441 -0
  107. package/lib/symbols.js +71 -0
  108. package/lib/validation.js +280 -0
  109. package/lib/warnings.js +57 -0
  110. package/lib/wrap-thenable.js +84 -0
  111. package/package.json +225 -0
  112. package/scripts/validate-ecosystem-links.js +179 -0
  113. package/test/404s.test.js +2035 -0
  114. package/test/500s.test.js +422 -0
  115. package/test/allow-unsafe-regex.test.js +92 -0
  116. package/test/als.test.js +65 -0
  117. package/test/async-await.test.js +705 -0
  118. package/test/async-dispose.test.js +20 -0
  119. package/test/async_hooks.test.js +52 -0
  120. package/test/body-limit.test.js +224 -0
  121. package/test/buffer.test.js +74 -0
  122. package/test/build/error-serializer.test.js +36 -0
  123. package/test/build/version.test.js +14 -0
  124. package/test/build-certificate.js +109 -0
  125. package/test/bundler/README.md +29 -0
  126. package/test/bundler/esbuild/bundler-test.js +32 -0
  127. package/test/bundler/esbuild/package.json +10 -0
  128. package/test/bundler/esbuild/src/fail-plugin-version.js +14 -0
  129. package/test/bundler/esbuild/src/index.js +9 -0
  130. package/test/bundler/webpack/bundler-test.js +32 -0
  131. package/test/bundler/webpack/package.json +11 -0
  132. package/test/bundler/webpack/src/fail-plugin-version.js +14 -0
  133. package/test/bundler/webpack/src/index.js +9 -0
  134. package/test/bundler/webpack/webpack.config.js +15 -0
  135. package/test/case-insensitive.test.js +102 -0
  136. package/test/chainable.test.js +40 -0
  137. package/test/child-logger-factory.test.js +128 -0
  138. package/test/client-timeout.test.js +38 -0
  139. package/test/close-pipelining.test.js +78 -0
  140. package/test/close.test.js +706 -0
  141. package/test/conditional-pino.test.js +47 -0
  142. package/test/connection-timeout.test.js +42 -0
  143. package/test/constrained-routes.test.js +1138 -0
  144. package/test/content-length.test.js +174 -0
  145. package/test/content-parser.test.js +739 -0
  146. package/test/content-type.test.js +181 -0
  147. package/test/context-config.test.js +164 -0
  148. package/test/custom-http-server.test.js +118 -0
  149. package/test/custom-parser-async.test.js +59 -0
  150. package/test/custom-parser.0.test.js +701 -0
  151. package/test/custom-parser.1.test.js +266 -0
  152. package/test/custom-parser.2.test.js +91 -0
  153. package/test/custom-parser.3.test.js +208 -0
  154. package/test/custom-parser.4.test.js +218 -0
  155. package/test/custom-parser.5.test.js +130 -0
  156. package/test/custom-querystring-parser.test.js +129 -0
  157. package/test/decorator.test.js +1330 -0
  158. package/test/delete.test.js +344 -0
  159. package/test/diagnostics-channel/404.test.js +49 -0
  160. package/test/diagnostics-channel/async-delay-request.test.js +65 -0
  161. package/test/diagnostics-channel/async-request.test.js +64 -0
  162. package/test/diagnostics-channel/error-before-handler.test.js +35 -0
  163. package/test/diagnostics-channel/error-request.test.js +53 -0
  164. package/test/diagnostics-channel/error-status.test.js +123 -0
  165. package/test/diagnostics-channel/init.test.js +50 -0
  166. package/test/diagnostics-channel/sync-delay-request.test.js +49 -0
  167. package/test/diagnostics-channel/sync-request-reply.test.js +51 -0
  168. package/test/diagnostics-channel/sync-request.test.js +54 -0
  169. package/test/encapsulated-child-logger-factory.test.js +69 -0
  170. package/test/encapsulated-error-handler.test.js +237 -0
  171. package/test/esm/errorCodes.test.mjs +10 -0
  172. package/test/esm/esm.test.mjs +13 -0
  173. package/test/esm/index.test.js +8 -0
  174. package/test/esm/named-exports.mjs +14 -0
  175. package/test/esm/other.mjs +8 -0
  176. package/test/esm/plugin.mjs +8 -0
  177. package/test/fastify-instance.test.js +300 -0
  178. package/test/find-route.test.js +152 -0
  179. package/test/fluent-schema.test.js +209 -0
  180. package/test/genReqId.test.js +426 -0
  181. package/test/handler-context.test.js +45 -0
  182. package/test/handler-timeout.test.js +367 -0
  183. package/test/has-route.test.js +88 -0
  184. package/test/header-overflow.test.js +55 -0
  185. package/test/helper.js +496 -0
  186. package/test/hooks-async.test.js +1099 -0
  187. package/test/hooks.on-listen.test.js +1162 -0
  188. package/test/hooks.on-ready.test.js +421 -0
  189. package/test/hooks.test.js +3578 -0
  190. package/test/http-methods/copy.test.js +35 -0
  191. package/test/http-methods/custom-http-methods.test.js +114 -0
  192. package/test/http-methods/get.test.js +412 -0
  193. package/test/http-methods/head.test.js +263 -0
  194. package/test/http-methods/lock.test.js +108 -0
  195. package/test/http-methods/mkcalendar.test.js +143 -0
  196. package/test/http-methods/mkcol.test.js +35 -0
  197. package/test/http-methods/move.test.js +42 -0
  198. package/test/http-methods/propfind.test.js +136 -0
  199. package/test/http-methods/proppatch.test.js +105 -0
  200. package/test/http-methods/report.test.js +142 -0
  201. package/test/http-methods/search.test.js +233 -0
  202. package/test/http-methods/trace.test.js +21 -0
  203. package/test/http-methods/unlock.test.js +38 -0
  204. package/test/http2/closing.test.js +270 -0
  205. package/test/http2/constraint.test.js +109 -0
  206. package/test/http2/head.test.js +34 -0
  207. package/test/http2/plain.test.js +68 -0
  208. package/test/http2/secure-with-fallback.test.js +113 -0
  209. package/test/http2/secure.test.js +67 -0
  210. package/test/http2/unknown-http-method.test.js +34 -0
  211. package/test/https/custom-https-server.test.js +58 -0
  212. package/test/https/https.test.js +136 -0
  213. package/test/imports.test.js +17 -0
  214. package/test/inject.test.js +502 -0
  215. package/test/input-validation.js +335 -0
  216. package/test/internals/all.test.js +38 -0
  217. package/test/internals/content-type-parser.test.js +111 -0
  218. package/test/internals/context.test.js +31 -0
  219. package/test/internals/decorator.test.js +156 -0
  220. package/test/internals/errors.test.js +982 -0
  221. package/test/internals/handle-request.test.js +270 -0
  222. package/test/internals/hook-runner.test.js +449 -0
  223. package/test/internals/hooks.test.js +96 -0
  224. package/test/internals/initial-config.test.js +383 -0
  225. package/test/internals/logger.test.js +163 -0
  226. package/test/internals/plugin.test.js +170 -0
  227. package/test/internals/promise.test.js +63 -0
  228. package/test/internals/reply-serialize.test.js +714 -0
  229. package/test/internals/reply.test.js +1920 -0
  230. package/test/internals/req-id-gen-factory.test.js +133 -0
  231. package/test/internals/request-validate.test.js +1402 -0
  232. package/test/internals/request.test.js +506 -0
  233. package/test/internals/schema-controller-perf.test.js +40 -0
  234. package/test/internals/server.test.js +91 -0
  235. package/test/internals/validation.test.js +352 -0
  236. package/test/issue-4959.test.js +118 -0
  237. package/test/keep-alive-timeout.test.js +42 -0
  238. package/test/listen.1.test.js +154 -0
  239. package/test/listen.2.test.js +113 -0
  240. package/test/listen.3.test.js +83 -0
  241. package/test/listen.4.test.js +168 -0
  242. package/test/listen.5.test.js +122 -0
  243. package/test/logger/instantiation.test.js +341 -0
  244. package/test/logger/logger-test-utils.js +47 -0
  245. package/test/logger/logging.test.js +460 -0
  246. package/test/logger/options.test.js +579 -0
  247. package/test/logger/request.test.js +292 -0
  248. package/test/logger/response.test.js +183 -0
  249. package/test/logger/tap-parallel-not-ok +0 -0
  250. package/test/max-requests-per-socket.test.js +113 -0
  251. package/test/middleware.test.js +37 -0
  252. package/test/noop-set.test.js +19 -0
  253. package/test/nullable-validation.test.js +187 -0
  254. package/test/options.error-handler.test.js +5 -0
  255. package/test/options.test.js +5 -0
  256. package/test/output-validation.test.js +140 -0
  257. package/test/patch.error-handler.test.js +5 -0
  258. package/test/patch.test.js +5 -0
  259. package/test/plugin.1.test.js +230 -0
  260. package/test/plugin.2.test.js +314 -0
  261. package/test/plugin.3.test.js +287 -0
  262. package/test/plugin.4.test.js +504 -0
  263. package/test/plugin.helper.js +8 -0
  264. package/test/plugin.name.display.js +10 -0
  265. package/test/post-empty-body.test.js +38 -0
  266. package/test/pretty-print.test.js +366 -0
  267. package/test/promises.test.js +125 -0
  268. package/test/proto-poisoning.test.js +145 -0
  269. package/test/put.error-handler.test.js +5 -0
  270. package/test/put.test.js +5 -0
  271. package/test/register.test.js +184 -0
  272. package/test/reply-code.test.js +148 -0
  273. package/test/reply-early-hints.test.js +100 -0
  274. package/test/reply-error.test.js +815 -0
  275. package/test/reply-trailers.test.js +445 -0
  276. package/test/reply-web-stream-locked.test.js +37 -0
  277. package/test/request-error.test.js +624 -0
  278. package/test/request-header-host.test.js +339 -0
  279. package/test/request-id.test.js +118 -0
  280. package/test/request-timeout.test.js +53 -0
  281. package/test/route-hooks.test.js +635 -0
  282. package/test/route-prefix.test.js +904 -0
  283. package/test/route-shorthand.test.js +48 -0
  284. package/test/route.1.test.js +259 -0
  285. package/test/route.2.test.js +100 -0
  286. package/test/route.3.test.js +213 -0
  287. package/test/route.4.test.js +127 -0
  288. package/test/route.5.test.js +211 -0
  289. package/test/route.6.test.js +306 -0
  290. package/test/route.7.test.js +406 -0
  291. package/test/route.8.test.js +225 -0
  292. package/test/router-options.test.js +1108 -0
  293. package/test/same-shape.test.js +124 -0
  294. package/test/schema-examples.test.js +661 -0
  295. package/test/schema-feature.test.js +2198 -0
  296. package/test/schema-serialization.test.js +1171 -0
  297. package/test/schema-special-usage.test.js +1348 -0
  298. package/test/schema-validation.test.js +1572 -0
  299. package/test/scripts/validate-ecosystem-links.test.js +339 -0
  300. package/test/serialize-response.test.js +186 -0
  301. package/test/server.test.js +347 -0
  302. package/test/set-error-handler.test.js +69 -0
  303. package/test/skip-reply-send.test.js +317 -0
  304. package/test/stream-serializers.test.js +40 -0
  305. package/test/stream.1.test.js +94 -0
  306. package/test/stream.2.test.js +129 -0
  307. package/test/stream.3.test.js +198 -0
  308. package/test/stream.4.test.js +176 -0
  309. package/test/stream.5.test.js +188 -0
  310. package/test/sync-routes.test.js +32 -0
  311. package/test/throw.test.js +359 -0
  312. package/test/toolkit.js +63 -0
  313. package/test/trust-proxy.test.js +162 -0
  314. package/test/type-provider.test.js +22 -0
  315. package/test/types/content-type-parser.test-d.ts +72 -0
  316. package/test/types/decorate-request-reply.test-d.ts +18 -0
  317. package/test/types/dummy-plugin.ts +9 -0
  318. package/test/types/errors.test-d.ts +90 -0
  319. package/test/types/fastify.test-d.ts +352 -0
  320. package/test/types/hooks.test-d.ts +550 -0
  321. package/test/types/import.ts +2 -0
  322. package/test/types/instance.test-d.ts +588 -0
  323. package/test/types/logger.test-d.ts +277 -0
  324. package/test/types/plugin.test-d.ts +97 -0
  325. package/test/types/register.test-d.ts +237 -0
  326. package/test/types/reply.test-d.ts +254 -0
  327. package/test/types/request.test-d.ts +188 -0
  328. package/test/types/route.test-d.ts +553 -0
  329. package/test/types/schema.test-d.ts +135 -0
  330. package/test/types/serverFactory.test-d.ts +37 -0
  331. package/test/types/type-provider.test-d.ts +1213 -0
  332. package/test/types/using.test-d.ts +17 -0
  333. package/test/upgrade.test.js +52 -0
  334. package/test/url-rewriting.test.js +122 -0
  335. package/test/use-semicolon-delimiter.test.js +168 -0
  336. package/test/validation-error-handling.test.js +900 -0
  337. package/test/versioned-routes.test.js +603 -0
  338. package/test/web-api.test.js +616 -0
  339. package/test/wrap-thenable.test.js +30 -0
  340. package/types/content-type-parser.d.ts +75 -0
  341. package/types/context.d.ts +22 -0
  342. package/types/errors.d.ts +92 -0
  343. package/types/hooks.d.ts +875 -0
  344. package/types/instance.d.ts +609 -0
  345. package/types/logger.d.ts +107 -0
  346. package/types/plugin.d.ts +44 -0
  347. package/types/register.d.ts +42 -0
  348. package/types/reply.d.ts +81 -0
  349. package/types/request.d.ts +95 -0
  350. package/types/route.d.ts +199 -0
  351. package/types/schema.d.ts +61 -0
  352. package/types/server-factory.d.ts +19 -0
  353. package/types/type-provider.d.ts +130 -0
  354. package/types/utils.d.ts +98 -0
@@ -0,0 +1,726 @@
1
+ <h1 align="center">Fastify</h1>
2
+
3
+ ## Ecosystem
4
+
5
+ Plugins maintained by the Fastify team are listed under [Core](#core) while
6
+ plugins maintained by the community are listed in the [Community](#community)
7
+ section.
8
+
9
+ #### [Core](#core)
10
+
11
+ - [`@fastify/accepts`](https://github.com/fastify/fastify-accepts) to have
12
+ [accepts](https://www.npmjs.com/package/accepts) in your request object.
13
+ - [`@fastify/accepts-serializer`](https://github.com/fastify/fastify-accepts-serializer)
14
+ to serialize to output according to the `Accept` header.
15
+ - [`@fastify/auth`](https://github.com/fastify/fastify-auth) Run multiple auth
16
+ functions in Fastify.
17
+ - [`@fastify/autoload`](https://github.com/fastify/fastify-autoload) Require all
18
+ plugins in a directory.
19
+ - [`@fastify/awilix`](https://github.com/fastify/fastify-awilix) Dependency
20
+ injection support for Fastify, based on
21
+ [awilix](https://github.com/jeffijoe/awilix).
22
+ - [`@fastify/aws-lambda`](https://github.com/fastify/aws-lambda-fastify) allows
23
+ you to easily build serverless web applications/services and RESTful APIs
24
+ using Fastify on top of AWS Lambda and Amazon API Gateway.
25
+ - [`@fastify/basic-auth`](https://github.com/fastify/fastify-basic-auth) Basic
26
+ auth plugin for Fastify.
27
+ - [`@fastify/bearer-auth`](https://github.com/fastify/fastify-bearer-auth)
28
+ Bearer auth plugin for Fastify.
29
+ - [`@fastify/caching`](https://github.com/fastify/fastify-caching) General
30
+ server-side cache and ETag support.
31
+ - [`@fastify/circuit-breaker`](https://github.com/fastify/fastify-circuit-breaker)
32
+ A low overhead circuit breaker for your routes.
33
+ - [`@fastify/compress`](https://github.com/fastify/fastify-compress) Fastify
34
+ compression utils.
35
+ - [`@fastify/cookie`](https://github.com/fastify/fastify-cookie) Parse and set
36
+ cookie headers.
37
+ - [`@fastify/cors`](https://github.com/fastify/fastify-cors) Enables the use of
38
+ CORS in a Fastify application.
39
+ - [`@fastify/csrf-protection`](https://github.com/fastify/csrf-protection) A
40
+ plugin for adding
41
+ [CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) protection to
42
+ Fastify.
43
+ - [`@fastify/elasticsearch`](https://github.com/fastify/fastify-elasticsearch)
44
+ Plugin to share the same ES client.
45
+ - [`@fastify/env`](https://github.com/fastify/fastify-env) Load and check
46
+ configuration.
47
+ - [`@fastify/etag`](https://github.com/fastify/fastify-etag) Automatically
48
+ generate ETags for HTTP responses.
49
+ - [`@fastify/express`](https://github.com/fastify/fastify-express) Express
50
+ compatibility layer for Fastify.
51
+ - [`@fastify/flash`](https://github.com/fastify/fastify-flash) Set and get flash
52
+ messages using the session.
53
+ - [`@fastify/formbody`](https://github.com/fastify/fastify-formbody) Plugin to
54
+ parse x-www-form-urlencoded bodies.
55
+ - [`@fastify/funky`](https://github.com/fastify/fastify-funky) Makes functional
56
+ programming in Fastify more convenient. Adds support for Fastify routes
57
+ returning functional structures, such as Either, Task or plain parameterless
58
+ function.
59
+ - [`@fastify/helmet`](https://github.com/fastify/fastify-helmet) Important
60
+ security headers for Fastify.
61
+ - [`@fastify/hotwire`](https://github.com/fastify/fastify-hotwire) Use the
62
+ Hotwire pattern with Fastify.
63
+ - [`@fastify/http-proxy`](https://github.com/fastify/fastify-http-proxy) Proxy
64
+ your HTTP requests to another server, with hooks.
65
+ - [`@fastify/jwt`](https://github.com/fastify/fastify-jwt) JWT utils for
66
+ Fastify, internally uses [fast-jwt](https://github.com/nearform/fast-jwt).
67
+ - [`@fastify/kafka`](https://github.com/fastify/fastify-kafka) Plugin to interact
68
+ with Apache Kafka.
69
+ - [`@fastify/leveldb`](https://github.com/fastify/fastify-leveldb) Plugin to
70
+ share a common LevelDB connection across Fastify.
71
+ - [`@fastify/middie`](https://github.com/fastify/middie) Middleware engine for
72
+ Fastify.
73
+ - [`@fastify/mongodb`](https://github.com/fastify/fastify-mongodb) Fastify
74
+ MongoDB connection plugin, with which you can share the same MongoDB
75
+ connection pool across every part of your server.
76
+ - [`@fastify/multipart`](https://github.com/fastify/fastify-multipart) Multipart
77
+ support for Fastify.
78
+ - [`@fastify/mysql`](https://github.com/fastify/fastify-mysql) Fastify MySQL
79
+ connection plugin.
80
+ - [`@fastify/nextjs`](https://github.com/fastify/fastify-nextjs) React
81
+ server-side rendering support for Fastify with
82
+ [Next](https://github.com/vercel/next.js/).
83
+ - [`@fastify/oauth2`](https://github.com/fastify/fastify-oauth2) Wrap around
84
+ [`simple-oauth2`](https://github.com/lelylan/simple-oauth2).
85
+ - [`@fastify/one-line-logger`](https://github.com/fastify/one-line-logger) Formats
86
+ Fastify's logs into a nice one-line message.
87
+ - [`@fastify/otel`](https://github.com/fastify/otel) OpenTelemetry
88
+ instrumentation library.
89
+ - [`@fastify/passport`](https://github.com/fastify/fastify-passport) Use Passport
90
+ strategies to authenticate requests and protect route.
91
+ - [`@fastify/postgres`](https://github.com/fastify/fastify-postgres) Fastify
92
+ PostgreSQL connection plugin, with this you can share the same PostgreSQL
93
+ connection pool in every part of your server.
94
+ - [`@fastify/rate-limit`](https://github.com/fastify/fastify-rate-limit) A low
95
+ overhead rate limiter for your routes.
96
+ - [`@fastify/redis`](https://github.com/fastify/fastify-redis) Fastify Redis
97
+ connection plugin, with which you can share the same Redis connection across
98
+ every part of your server.
99
+ - [`@fastify/reply-from`](https://github.com/fastify/fastify-reply-from) Plugin
100
+ to forward the current HTTP request to another server.
101
+ - [`@fastify/request-context`](https://github.com/fastify/fastify-request-context)
102
+ Request-scoped storage, based on
103
+ [AsyncLocalStorage](https://nodejs.org/api/async_hooks.html#async_hooks_class_asynclocalstorage)
104
+ (with fallback to [cls-hooked](https://github.com/Jeff-Lewis/cls-hooked)),
105
+ providing functionality similar to thread-local storages.
106
+ - [`@fastify/response-validation`](https://github.com/fastify/fastify-response-validation)
107
+ A simple plugin that enables response validation for Fastify.
108
+ - [`@fastify/routes`](https://github.com/fastify/fastify-routes) Plugin that
109
+ provides a `Map` of routes.
110
+ - [`@fastify/routes-stats`](https://github.com/fastify/fastify-routes-stats)
111
+ Provide stats for routes using `node:perf_hooks`.
112
+ - [`@fastify/schedule`](https://github.com/fastify/fastify-schedule) Plugin for
113
+ scheduling periodic jobs, based on
114
+ [toad-scheduler](https://github.com/kibertoad/toad-scheduler).
115
+ - [`@fastify/secure-session`](https://github.com/fastify/fastify-secure-session)
116
+ Create a secure stateless cookie session for Fastify.
117
+ - [`@fastify/sensible`](https://github.com/fastify/fastify-sensible) Defaults
118
+ for Fastify that everyone can agree on. It adds some useful decorators such as
119
+ HTTP errors and assertions, but also more request and reply methods.
120
+ - [`@fastify/session`](https://github.com/fastify/session) a session plugin for
121
+ Fastify.
122
+ - [`@fastify/sse`](https://github.com/fastify/sse) Plugin for Server-Sent Events
123
+ (SSE) support in Fastify.
124
+ - [`@fastify/static`](https://github.com/fastify/fastify-static) Plugin for
125
+ serving static files as fast as possible.
126
+ - [`@fastify/swagger`](https://github.com/fastify/fastify-swagger) Plugin for
127
+ serving Swagger/OpenAPI documentation for Fastify, supporting dynamic
128
+ generation.
129
+ - [`@fastify/swagger-ui`](https://github.com/fastify/fastify-swagger-ui) Plugin
130
+ for serving Swagger UI.
131
+ - [`@fastify/throttle`](https://github.com/fastify/fastify-throttle) Plugin for
132
+ throttling the download speed of a request.
133
+ - [`@fastify/type-provider-json-schema-to-ts`](https://github.com/fastify/fastify-type-provider-json-schema-to-ts)
134
+ Fastify
135
+ [type provider](https://fastify.dev/docs/latest/Reference/Type-Providers/)
136
+ for [json-schema-to-ts](https://github.com/ThomasAribart/json-schema-to-ts).
137
+ - [`@fastify/type-provider-typebox`](https://github.com/fastify/fastify-type-provider-typebox)
138
+ Fastify
139
+ [type provider](https://fastify.dev/docs/latest/Reference/Type-Providers/)
140
+ for [Typebox](https://github.com/sinclairzx81/typebox).
141
+ - [`@fastify/under-pressure`](https://github.com/fastify/under-pressure) Measure
142
+ process load with automatic handling of _"Service Unavailable"_ plugin for
143
+ Fastify.
144
+ - [`@fastify/url-data`](https://github.com/fastify/fastify-url-data) Decorate
145
+ the `Request` object with a method to access raw URL components.
146
+ - [`@fastify/view`](https://github.com/fastify/point-of-view) Templates
147
+ rendering (_ejs, pug, handlebars, marko_) plugin support for Fastify.
148
+ - [`@fastify/vite`](https://github.com/fastify/fastify-vite) Integration with
149
+ [Vite](https://vitejs.dev/), allows for serving SPA/MPA/SSR Vite applications.
150
+ - [`@fastify/websocket`](https://github.com/fastify/fastify-websocket) WebSocket
151
+ support for Fastify. Built upon [ws](https://github.com/websockets/ws).
152
+ - [`@fastify/zipkin`](https://github.com/fastify/fastify-zipkin) Plugin
153
+ for Zipkin distributed tracing system.
154
+
155
+ #### [Community](#community)
156
+
157
+ > ℹ️ Note:
158
+ > Fastify community plugins are part of the broader community efforts,
159
+ > and we are thankful for these contributions. However, they are not
160
+ > maintained by the Fastify team.
161
+ > Use them at your own discretion.
162
+ > If you find malicious code, please
163
+ > [open an issue](https://github.com/fastify/fastify/issues/new/choose) or
164
+ > submit a PR to remove the plugin from the list.
165
+
166
+ - [`@aaroncadillac/crudify-mongo`](https://github.com/aaroncadillac/crudify-mongo)
167
+ A simple way to add a crud in your fastify project.
168
+ - [`@applicazza/fastify-nextjs`](https://github.com/applicazza/fastify-nextjs)
169
+ Alternate Fastify and Next.js integration.
170
+ - [`@attaryz/fastify-devtools`](https://github.com/attaryz/fastify-devtools)
171
+ Development tools plugin for Fastify with live request dashboard, replay
172
+ capabilities, and metrics tracking.
173
+ - [`@blastorg/fastify-aws-dynamodb-cache`](https://github.com/blastorg/fastify-aws-dynamodb-cache)
174
+ A plugin to help with caching API responses using AWS DynamoDB.
175
+ - [`@clerk/fastify`](https://github.com/clerk/javascript/tree/main/packages/fastify)
176
+ Add authentication and user management to your Fastify application with Clerk.
177
+ - [`@coobaha/typed-fastify`](https://github.com/Coobaha/typed-fastify) Strongly
178
+ typed routes with a runtime validation using JSON schema generated from types.
179
+ - [`@dnlup/fastify-doc`](https://github.com/dnlup/fastify-doc) A plugin for
180
+ sampling process metrics.
181
+ - [`@dnlup/fastify-traps`](https://github.com/dnlup/fastify-traps) A plugin to
182
+ close the server gracefully on `SIGINT` and `SIGTERM` signals.
183
+ - [`@eropple/fastify-openapi3`](https://github.com/eropple/fastify-openapi3) Provides
184
+ easy, developer-friendly OpenAPI 3.1 specs + doc explorer based on your routes.
185
+
186
+
187
+ - [`@exortek/fastify-mongo-sanitize`](https://github.com/ExorTek/fastify-mongo-sanitize)
188
+ A Fastify plugin that protects against No(n)SQL injection by sanitizing data.
189
+ - [`@exortek/remix-fastify`](https://github.com/ExorTek/remix-fastify)
190
+ Fastify plugin for Remix.
191
+ - [`@glidemq/fastify`](https://github.com/avifenesh/glidemq-fastify)
192
+ Queue management plugin for glide-mq with REST API endpoints, SSE events,
193
+ and in-memory testing mode. Powered by Valkey/Redis Streams.
194
+ - [`@gquittet/graceful-server`](https://github.com/gquittet/graceful-server)
195
+ Tiny (~5k), Fast, KISS, and dependency-free Node.js library to make your
196
+ Fastify API graceful.
197
+ - [`@h4ad/serverless-adapter`](https://github.com/H4ad/serverless-adapter)
198
+ Run REST APIs and other web applications using your existing Node.js
199
+ application framework (Express, Koa, Hapi and Fastify), on top of AWS Lambda,
200
+ Huawei and many other clouds.
201
+ - [`@hey-api/openapi-ts`](https://heyapi.dev/openapi-ts/plugins/fastify)
202
+ The OpenAPI to TypeScript codegen. Generate clients, SDKs, validators, and more.
203
+ - [`@immobiliarelabs/fastify-metrics`](https://github.com/immobiliare/fastify-metrics)
204
+ Minimalistic and opinionated plugin that collects usage/process metrics and
205
+ dispatches to [statsd](https://github.com/statsd/statsd).
206
+ - [`@inaiat/fastify-papr`](https://github.com/inaiat/fastify-papr)
207
+ A plugin to integrate [Papr](https://github.com/plexinc/papr),
208
+ the MongoDB ORM for TypeScript & MongoDB, with Fastify.
209
+ - [`@jerome1337/fastify-enforce-routes-pattern`](https://github.com/Jerome1337/fastify-enforce-routes-pattern)
210
+ A Fastify plugin that enforces naming pattern for routes path.
211
+ - [`@joggr/fastify-prisma`](https://github.com/joggrdocs/fastify-prisma)
212
+ A plugin for accessing an instantiated PrismaClient on your server.
213
+ - [`@matths/fastify-svelte-view`](https://github.com/matths/fastify-svelte-view)
214
+ A Fastify plugin for rendering Svelte components with support for SSR
215
+ (Server-Side Rendering), CSR (Client-Side Rendering), and SSR with hydration.
216
+ - [`@mgcrea/fastify-graceful-exit`](https://github.com/mgcrea/fastify-graceful-exit)
217
+ A plugin to close the server gracefully
218
+ - [`@mgcrea/fastify-request-logger`](https://github.com/mgcrea/fastify-request-logger)
219
+ A plugin to enable compact request logging for Fastify
220
+ - [`@mgcrea/fastify-session`](https://github.com/mgcrea/fastify-session) Session
221
+ plugin for Fastify that supports both stateless and stateful sessions
222
+ - [`@mgcrea/fastify-session-redis-store`](https://github.com/mgcrea/fastify-session-redis-store)
223
+ Redis store for @mgcrea/fastify-session using ioredis
224
+ - [`@mgcrea/fastify-session-sodium-crypto`](https://github.com/mgcrea/fastify-session-sodium-crypto)
225
+ Fast sodium-based crypto for @mgcrea/fastify-session
226
+ - [`@mgcrea/pino-pretty-compact`](https://github.com/mgcrea/pino-pretty-compact)
227
+ A custom compact pino-base prettifier
228
+ - [`@pybot/fastify-autoload`](https://github.com/kunal097/fastify-autoload)
229
+ Plugin to generate routes automatically with valid json content
230
+ - [`@scalar/fastify-api-reference`](https://github.com/scalar/scalar/tree/main/integrations/fastify)
231
+ Beautiful OpenAPI/Swagger API references for Fastify
232
+ - [`@trubavuong/fastify-seaweedfs`](https://github.com/trubavuong/fastify-seaweedfs)
233
+ SeaweedFS for Fastify
234
+ - [`@yeliex/fastify-problem-details`](https://github.com/yeliex/fastify-problem-details)
235
+ RFC 9457 Problem Details implementation for Fastify, with typed HTTP errors.
236
+ - [`apitally`](https://github.com/apitally/apitally-js) Fastify plugin to
237
+ integrate with [Apitally](https://apitally.io/fastify), an API analytics,
238
+ logging and monitoring tool.
239
+ - [`arecibo`](https://github.com/ducktors/arecibo) Fastify ping responder for
240
+ Kubernetes Liveness and Readiness Probes.
241
+ - [`aws-xray-sdk-fastify`](https://github.com/aws/aws-xray-sdk-node/tree/master/sdk_contrib/fastify)
242
+ A Fastify plugin to log requests and subsegments through AWSXray.
243
+ - [`cls-rtracer`](https://github.com/puzpuzpuz/cls-rtracer) Fastify middleware
244
+ for CLS-based request ID generation. An out-of-the-box solution for adding
245
+ request IDs into your logs.
246
+ - [`electron-server`](https://github.com/anonrig/electron-server) A plugin for
247
+ using Fastify without the need of consuming a port on Electron apps.
248
+ - [`elements-fastify`](https://github.com/rohitsoni007/elements-fastify) Fastify
249
+ Plugin for Stoplight Elements API Documentation using
250
+ openapi swagger json yml.
251
+ - [`fast-water`](https://github.com/tswayne/fast-water) A Fastify plugin for
252
+ waterline. Decorates Fastify with waterline models.
253
+ - [`fastify-204`](https://github.com/Shiva127/fastify-204) Fastify plugin that
254
+ return 204 status on empty response.
255
+ - [`fastify-405`](https://github.com/Eomm/fastify-405) Fastify plugin that adds
256
+ 405 HTTP status to your routes
257
+ - [`fastify-allow`](https://github.com/mattbishop/fastify-allow) Fastify plugin
258
+ that automatically adds an Allow header to responses with routes. Also sends
259
+ 405 responses for routes that have a handler but not for the request's method.
260
+ - [`fastify-amqp`](https://github.com/RafaelGSS/fastify-amqp) Fastify AMQP
261
+ connection plugin, to use with RabbitMQ or another connector. Just a wrapper
262
+ to [`amqplib`](https://github.com/amqp-node/amqplib).
263
+ - [`fastify-amqp-async`](https://github.com/kffl/fastify-amqp-async) Fastify
264
+ AMQP plugin with a Promise-based API provided by
265
+ [`amqplib-as-promised`](https://github.com/twawszczak/amqplib-as-promised).
266
+ - [`fastify-angular-universal`](https://github.com/exequiel09/fastify-angular-universal)
267
+ Angular server-side rendering support using
268
+ [`@angular/platform-server`](https://github.com/angular/angular/tree/master/packages/platform-server)
269
+ for Fastify
270
+ - [`fastify-api-key`](https://github.com/arkerone/fastify-api-key) Fastify
271
+ plugin to authenticate HTTP requests based on API key and signature
272
+ - [`fastify-appwrite`](https://github.com/maniecodes/fastify-appwrite) Fastify
273
+ Plugin for interacting with Appwrite server.
274
+ - [`fastify-asyncforge`](https://github.com/mcollina/fastify-asyncforge) Plugin
275
+ to access Fastify instance, logger, request and reply from Node.js [Async
276
+ Local Storage](https://nodejs.org/api/async_context.html#class-asynclocalstorage).
277
+ - [`fastify-at-mysql`](https://github.com/mateonunez/fastify-at-mysql) Fastify
278
+ MySQL plugin with auto SQL injection attack prevention.
279
+ - [`fastify-at-postgres`](https://github.com/mateonunez/fastify-at-postgres) Fastify
280
+ Postgres plugin with auto SQL injection attack prevention.
281
+ - [`fastify-auth0-verify`](https://github.com/nearform/fastify-auth0-verify):
282
+ Auth0 verification plugin for Fastify, internally uses
283
+ [fastify-jwt](https://npm.im/fastify-jwt) and
284
+ [jsonwebtoken](https://npm.im/jsonwebtoken).
285
+ - [`fastify-autoroutes`](https://github.com/GiovanniCardamone/fastify-autoroutes)
286
+ Plugin to scan and load routes based on filesystem path from a custom
287
+ directory.
288
+ - [`fastify-aws-sns`](https://github.com/gzileni/fastify-aws-sns) Fastify plugin
289
+ for AWS Simple Notification Service (AWS SNS) that coordinates and manages
290
+ the delivery or sending of messages to subscribing endpoints or clients.
291
+ - [`fastify-aws-timestream`](https://github.com/gzileni/fastify-aws-timestream)
292
+ Fastify plugin for managing databases, tables, and querying and creating
293
+ scheduled queries with AWS Timestream.
294
+ - [`fastify-axios`](https://github.com/davidedantonio/fastify-axios) Plugin to
295
+ send HTTP requests via [axios](https://github.com/axios/axios).
296
+ - [`fastify-babel`](https://github.com/cfware/fastify-babel) Fastify plugin for
297
+ development servers that require Babel transformations of JavaScript sources.
298
+ - [`fastify-bcrypt`](https://github.com/beliven-it/fastify-bcrypt) A Bcrypt hash
299
+ generator & checker.
300
+ - [`fastify-better-sqlite3`](https://github.com/punkish/fastify-better-sqlite3)
301
+ Plugin for better-sqlite3.
302
+ - [`fastify-blipp`](https://github.com/PavelPolyakov/fastify-blipp) Prints your
303
+ routes to the console, so you definitely know which endpoints are available.
304
+ - [`fastify-bookshelf`](https://github.com/butlerx/fastify-bookshelfjs) Fastify
305
+ plugin to add [bookshelf.js](https://bookshelfjs.org/) ORM support.
306
+ - [`fastify-boom`](https://github.com/jeromemacias/fastify-boom) Fastify plugin
307
+ to add [boom](https://github.com/hapijs/boom) support.
308
+ - [`fastify-bree`](https://github.com/climba03003/fastify-bree) Fastify plugin
309
+ to add [bree](https://github.com/breejs/bree) support.
310
+ - [`fastify-bugsnag`](https://github.com/ZigaStrgar/fastify-bugsnag) Fastify plugin
311
+ to add support for [Bugsnag](https://www.bugsnag.com/) error reporting.
312
+ - [`fastify-cacheman`](https://gitlab.com/aalfiann/fastify-cacheman)
313
+ Small and efficient cache provider for Node.js with In-memory, File, Redis
314
+ and MongoDB engines for Fastify
315
+ - [`fastify-casbin`](https://github.com/nearform/fastify-casbin) Casbin support
316
+ for Fastify.
317
+ - [`fastify-casbin-rest`](https://github.com/nearform/fastify-casbin-rest)
318
+ Casbin support for Fastify based on a RESTful model.
319
+ - [`fastify-casl`](https://github.com/Inlecom/fastify-casl) Fastify
320
+ [CASL](https://github.com/stalniy/casl) plugin that supports ACL-like
321
+ protection of endpoints via either a preSerialization & preHandler hook,
322
+ sanitizing the inputs and outputs of your application based on user rights.
323
+ - [`fastify-cloudevents`](https://github.com/smartiniOnGitHub/fastify-cloudevents)
324
+ Fastify plugin to generate and forward Fastify events in the Cloudevents
325
+ format.
326
+ - [`fastify-cloudflare-turnstile`](https://github.com/112RG/fastify-cloudflare-turnstile)
327
+ Fastify plugin for CloudFlare Turnstile.
328
+ - [`fastify-cloudinary`](https://github.com/Vanilla-IceCream/fastify-cloudinary)
329
+ Plugin to share a common Cloudinary connection across Fastify.
330
+ - [`fastify-cockroachdb`](https://github.com/alex-ppg/fastify-cockroachdb)
331
+ Fastify plugin to connect to a CockroachDB PostgreSQL instance via the
332
+ Sequelize ORM.
333
+ - [`fastify-constraints`](https://github.com/nearform/fastify-constraints)
334
+ Fastify plugin to add constraints to multiple routes
335
+ - [`fastify-couchdb`](https://github.com/nigelhanlon/fastify-couchdb) Fastify
336
+ plugin to add CouchDB support via [nano](https://github.com/apache/nano).
337
+ - [`fastify-crud-generator`](https://github.com/beliven-it/fastify-crud-generator)
338
+ A plugin to rapidly generate CRUD routes for any entity.
339
+ - [`fastify-custom-healthcheck`](https://github.com/gkampitakis/fastify-custom-healthcheck)
340
+ Fastify plugin to add health route in your server that asserts custom
341
+ functions.
342
+ - [`fastify-decorators`](https://github.com/L2jLiga/fastify-decorators) Fastify
343
+ plugin that provides the set of TypeScript decorators.
344
+ - [`fastify-delay-request`](https://github.com/climba03003/fastify-delay-request)
345
+ Fastify plugin that allows requests to be delayed whilst a task the response is
346
+ dependent on is run, such as a resource intensive process.
347
+ - [`fastify-disablecache`](https://github.com/Fdawgs/fastify-disablecache)
348
+ Fastify plugin to disable client-side caching, inspired by
349
+ [nocache](https://github.com/helmetjs/nocache).
350
+ - [`fastify-dynamodb`](https://github.com/matrus2/fastify-dynamodb) AWS DynamoDB
351
+ plugin for Fastify. It exposes
352
+ [AWS.DynamoDB.DocumentClient()](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html)
353
+ object.
354
+ - [`fastify-dynareg`](https://github.com/greguz/fastify-dynareg) Dynamic plugin
355
+ register for Fastify.
356
+ - [`fastify-envalid`](https://github.com/alemagio/fastify-envalid) Fastify
357
+ plugin to integrate [envalid](https://github.com/af/envalid) in your Fastify
358
+ project.
359
+ - [`fastify-error-page`](https://github.com/hemerajs/fastify-error-page) Fastify
360
+ plugin to print errors in structured HTML to the browser.
361
+ - [`fastify-esso`](https://github.com/patrickpissurno/fastify-esso) The easiest
362
+ authentication plugin for Fastify, with built-in support for Single sign-on
363
+ (and great documentation).
364
+ - [`fastify-event-bus`](https://github.com/Shiva127/fastify-event-bus) Event bus
365
+ support for Fastify. Built upon [js-event-bus](https://github.com/bcerati/js-event-bus).
366
+ - [`fastify-evervault`](https://github.com/Briscoooe/fastify-evervault/) Fastify
367
+ plugin for instantiating and encapsulating the
368
+ [Evervault](https://evervault.com/) client.
369
+ - [`fastify-explorer`](https://github.com/Eomm/fastify-explorer) Get control of
370
+ your decorators across all the encapsulated contexts.
371
+ - [`fastify-favicon`](https://github.com/smartiniOnGitHub/fastify-favicon)
372
+ Fastify plugin to serve default favicon.
373
+ - [`fastify-feature-flags`](https://gitlab.com/m03geek/fastify-feature-flags)
374
+ Fastify feature flags plugin with multiple providers support (e.g. env,
375
+ [config](https://lorenwest.github.io/node-config/),
376
+ [unleash](https://github.com/Unleash/unleash)).
377
+ - [`fastify-file-router`](https://github.com/bhouston/fastify-file-router)
378
+ A typesafe TanStack Start / Next.JS-style router with JSON + Zod schema support.
379
+ - [`fastify-file-routes`](https://github.com/spa5k/fastify-file-routes) Get
380
+ Next.js based file system routing into fastify.
381
+ - [`fastify-formidable`](https://github.com/climba03003/fastify-formidable)
382
+ Handy plugin to provide multipart support and fastify-swagger integration.
383
+ - [`fastify-gcloud-trace`](https://github.com/mkinoshi/fastify-gcloud-trace)
384
+ [Google Cloud Trace API](https://cloud.google.com/trace/docs/reference)
385
+ Connector for Fastify.
386
+ - [`fastify-get-head`](https://github.com/MetCoder95/fastify-get-head) Small
387
+ plugin to set a new HEAD route handler for each GET route previously
388
+ registered in Fastify.
389
+ - [`fastify-get-only`](https://github.com/DanieleFedeli/fastify-get-only) Small
390
+ plugin used to make fastify accept only GET requests
391
+ - [`fastify-good-sessions`](https://github.com/Phara0h/fastify-good-sessions) A
392
+ good Fastify sessions plugin focused on speed.
393
+ - [`fastify-google-cloud-storage`](https://github.com/carlozamagni/fastify-google-cloud-storage)
394
+ Fastify plugin that exposes a GCP Cloud Storage client instance.
395
+ - [`fastify-graceful-shutdown`](https://github.com/hemerajs/fastify-graceful-shutdown)
396
+ Shutdown Fastify gracefully and asynchronously.
397
+ - [`fastify-grant`](https://github.com/simov/fastify-grant)
398
+ Authentication/Authorization plugin for Fastify that supports 200+ OAuth
399
+ Providers.
400
+ - [`fastify-guard`](https://github.com/hsynlms/fastify-guard) A Fastify plugin
401
+ that protects endpoints by checking authenticated user roles and/or scopes.
402
+ - [`fastify-hana`](https://github.com/yoav0gal/fastify-hana) connects your
403
+ application to [`SAP-HANA`](https://help.sap.com/docs/SAP_HANA_CLIENT).
404
+ - [`fastify-hashids`](https://github.com/andersonjoseph/fastify-hashids) A Fastify
405
+ plugin to encode/decode IDs using [hashids](https://github.com/niieani/hashids.js).
406
+ - [`fastify-hasura`](https://github.com/ManUtopiK/fastify-hasura) A Fastify
407
+ plugin to have fun with [Hasura](https://github.com/hasura/graphql-engine).
408
+ - [`fastify-healthcheck`](https://github.com/smartiniOnGitHub/fastify-healthcheck)
409
+ Fastify plugin to serve a health check route and a probe script.
410
+ - [`fastify-hemera`](https://github.com/hemerajs/fastify-hemera) Fastify Hemera
411
+ plugin, for writing reliable & fault-tolerant microservices with
412
+ [nats.io](https://nats.io/).
413
+ - [`fastify-hl7`](https://github.com/Bugs5382/fastify-hl7) A Fastify Plugin to
414
+ create a server, build, and send HL7 formatted Hl7 messages. Using
415
+ [node-hl7-client](https://github.com/Bugs5382/node-hl7-client) and
416
+ [node-hl7-server](https://github.com/Bugs5382/node-hl7-server) as the
417
+ underlining technology to do this.
418
+ - [`fastify-http-context`](https://github.com/thorough-developer/fastify-http-context)
419
+ Fastify plugin for "simulating" a thread of execution to allow for true HTTP
420
+ context to take place per API call within the Fastify lifecycle of calls.
421
+ - [`fastify-http-errors-enhanced`](https://github.com/ShogunPanda/fastify-http-errors-enhanced)
422
+ An error handling plugin for Fastify that uses enhanced HTTP errors.
423
+ - [`fastify-http-exceptions`](https://github.com/bhouston/fastify-http-exceptions)
424
+ Typed HTTP status exceptions which are automatically converted into Fastify responses.
425
+ - [`fastify-http2https`](https://github.com/lolo32/fastify-http2https) Redirect
426
+ HTTP requests to HTTPS, both using the same port number, or different response
427
+ on HTTP and HTTPS.
428
+ - [`fastify-https-always`](https://github.com/mattbishop/fastify-https-always)
429
+ Lightweight, proxy-aware redirect plugin from HTTP to HTTPS.
430
+ - [`fastify-https-redirect`](https://github.com/tomsvogel/fastify-https-redirect)
431
+ Fastify plugin for auto-redirect from HTTP to HTTPS.
432
+ - [`fastify-i18n`](https://github.com/Vanilla-IceCream/fastify-i18n)
433
+ Internationalization plugin for Fastify. Built upon node-polyglot.
434
+ - [`fastify-impressions`](https://github.com/manju4ever/fastify-impressions)
435
+ Fastify plugin to track impressions of all the routes.
436
+ - [`fastify-influxdb`](https://github.com/alex-ppg/fastify-influxdb) Fastify
437
+ InfluxDB plugin connecting to an InfluxDB instance via the Influx default
438
+ package.
439
+ - [`fastify-ip`](https://github.com/metcoder95/fastify-ip) A plugin
440
+ for Fastify that allows you to infer a request ID by a
441
+ given set of custom Request headers.
442
+ - [`fastify-json-to-xml`](https://github.com/Fdawgs/fastify-json-to-xml) Fastify
443
+ plugin to serialize JSON responses into XML.
444
+ - [`fastify-jwt-authz`](https://github.com/Ethan-Arrowood/fastify-jwt-authz) JWT
445
+ user scope verifier.
446
+ - [`fastify-jwt-webapp`](https://github.com/charlesread/fastify-jwt-webapp) JWT
447
+ authentication for Fastify-based web apps.
448
+ - [`fastify-kafkajs`](https://github.com/kffl/fastify-kafkajs) Fastify plugin
449
+ that adds support for KafkaJS - a modern Apache Kafka client library.
450
+ - [`fastify-keycloak-adapter`](https://github.com/yubinTW/fastify-keycloak-adapter)
451
+ A keycloak adapter for a Fastify app.
452
+ - [`fastify-koa`](https://github.com/rozzilla/fastify-koa) Convert Koa
453
+ middlewares into Fastify plugins
454
+ - [`fastify-kubernetes`](https://github.com/greguz/fastify-kubernetes) Fastify
455
+ Kubernetes client plugin.
456
+ - [`fastify-kysely`](https://github.com/alenap93/fastify-kysely) Fastify
457
+ plugin for supporting Kysely type-safe query builder.
458
+ - [`fastify-language-parser`](https://github.com/lependu/fastify-language-parser)
459
+ Fastify plugin to parse request language.
460
+ - [`fastify-lcache`](https://github.com/denbon05/fastify-lcache)
461
+ Lightweight cache plugin
462
+ - [`fastify-list-routes`](https://github.com/chuongtrh/fastify-list-routes)
463
+ A simple plugin for Fastify to list all available routes.
464
+ - [`fastify-lm`](https://github.com/galiprandi/fastify-lm#readme)
465
+ Use OpenAI, Claude, Google, Deepseek, and others LMs with one Fastify plugin.
466
+ - [`fastify-loader`](https://github.com/TheNoim/fastify-loader) Load routes from
467
+ a directory and inject the Fastify instance in each file.
468
+ - [`fastify-log-controller`](https://github.com/Eomm/fastify-log-controller/)
469
+ changes the log level of your Fastify server at runtime.
470
+ - [`fastify-lured`](https://github.com/lependu/fastify-lured) Plugin to load lua
471
+ scripts with [fastify-redis](https://github.com/fastify/fastify-redis) and
472
+ [lured](https://github.com/enobufs/lured).
473
+ - [`fastify-mailer`](https://github.com/coopflow/fastify-mailer) Plugin to
474
+ initialize and encapsulate [Nodemailer](https://nodemailer.com)'s transporters
475
+ instances in Fastify.
476
+ - [`fastify-markdown`](https://github.com/freezestudio/fastify-markdown) Plugin
477
+ to markdown support.
478
+ - [`fastify-method-override`](https://github.com/corsicanec82/fastify-method-override)
479
+ Plugin for Fastify, which allows the use of HTTP verbs, such as DELETE, PATCH,
480
+ HEAD, PUT, OPTIONS in case the client doesn't support them.
481
+ - [`fastify-metrics`](https://gitlab.com/m03geek/fastify-metrics) Plugin for
482
+ exporting [Prometheus](https://prometheus.io) metrics.
483
+ - [`fastify-minify`](https://github.com/Jelenkee/fastify-minify) Plugin for
484
+ minification and transformation of responses.
485
+ - [`fastify-mongodb-sanitizer`](https://github.com/KlemenKozelj/fastify-mongodb-sanitizer)
486
+ Fastify plugin that sanitizes client input to prevent
487
+ potential MongoDB query injection attacks.
488
+ - [`fastify-mongoose-api`](https://github.com/jeka-kiselyov/fastify-mongoose-api)
489
+ Fastify plugin to create REST API methods based on Mongoose MongoDB models.
490
+ - [`fastify-mongoose-driver`](https://github.com/alex-ppg/fastify-mongoose)
491
+ Fastify Mongoose plugin that connects to a MongoDB via the Mongoose plugin
492
+ with support for Models.
493
+ - [`fastify-mqtt`](https://github.com/love-lena/fastify-mqtt) Plugin to share
494
+ [mqtt](https://www.npmjs.com/package/mqtt) client across Fastify.
495
+ - [`fastify-msgpack`](https://github.com/kenriortega/fastify-msgpack) Fastify
496
+ and MessagePack, together at last. Uses @msgpack/msgpack by default.
497
+ - [`fastify-msgraph-webhook`](https://github.com/flower-of-the-bridges/fastify-msgraph-change-notifications-webhook)
498
+ to manage
499
+ [MS Graph Change Notifications webhooks](https://learn.microsoft.com/it-it/graph/change-notifications-delivery-webhooks?tabs=http).
500
+ - [`fastify-multer`](https://github.com/fox1t/fastify-multer) Multer is a plugin
501
+ for handling multipart/form-data, which is primarily used for uploading files.
502
+ - [`fastify-multilingual`](https://github.com/gbrugger/fastify-multilingual) Unobtrusively
503
+ decorates fastify request with Polyglot.js for i18n.
504
+ - [`fastify-next-auth`](https://github.com/wobsoriano/fastify-next-auth)
505
+ NextAuth.js plugin for Fastify.
506
+ - [`fastify-no-additional-properties`](https://github.com/greguz/fastify-no-additional-properties)
507
+ Add `additionalProperties: false` by default to your JSON Schemas.
508
+ - [`fastify-no-icon`](https://github.com/jsumners/fastify-no-icon) Plugin to
509
+ eliminate thrown errors for `/favicon.ico` requests.
510
+
511
+ - [`fastify-now`](https://github.com/yonathan06/fastify-now) Structure your
512
+ endpoints in a folder and load them dynamically with Fastify.
513
+ - [`fastify-nuxtjs`](https://github.com/gomah/fastify-nuxtjs) Vue server-side
514
+ rendering support for Fastify with Nuxt.js Framework.
515
+ - [`fastify-oas`](https://gitlab.com/m03geek/fastify-oas) Generates OpenAPI 3.0+
516
+ documentation from routes schemas for Fastify.
517
+ - [`fastify-objectionjs-classes`](https://github.com/kamikazechaser/fastify-objectionjs-classes)
518
+ Plugin to cherry-pick classes from objectionjs ORM.
519
+ - [`fastify-opaque-apake`](https://github.com/squirrelchat/fastify-opaque-apake)
520
+ A Fastify plugin to implement the OPAQUE aPAKE protocol. Uses
521
+ [@squirrelchat/opaque-wasm-server](https://github.com/squirrelchat/opaque-wasm).
522
+ - [`fastify-openapi-docs`](https://github.com/ShogunPanda/fastify-openapi-docs)
523
+ A Fastify plugin that generates OpenAPI spec automatically.
524
+ - [`fastify-openapi-glue`](https://github.com/seriousme/fastify-openapi-glue)
525
+ Glue for OpenAPI specifications in Fastify, autogenerates routes based on an
526
+ OpenAPI Specification.
527
+ - [`fastify-opentelemetry`](https://github.com/autotelic/fastify-opentelemetry)
528
+ A Fastify plugin that uses the [OpenTelemetry
529
+ API](https://github.com/open-telemetry/opentelemetry-js-api) to provide
530
+ request tracing.
531
+ - [`fastify-oracle`](https://github.com/cemremengu/fastify-oracle) Attaches an
532
+ [`oracledb`](https://github.com/oracle/node-oracledb) connection pool to a
533
+ Fastify server instance.
534
+ - [`fastify-orama`](https://github.com/mateonunez/fastify-orama)
535
+ - [`fastify-osm`](https://github.com/gzileni/fastify-osm) Fastify
536
+ OSM plugin to run overpass queries by OpenStreetMap.
537
+ - [`fastify-override`](https://github.com/matthyk/fastify-override)
538
+ Fastify plugin to override decorators, plugins and hooks for testing purposes
539
+ - [`fastify-passkit-webservice`](https://github.com/alexandercerutti/fastify-passkit-webservice)
540
+ A set of Fastify plugins to integrate Apple Wallet Web Service specification
541
+ - [`fastify-peekaboo`](https://github.com/simone-sanfratello/fastify-peekaboo)
542
+ Fastify plugin for memoize responses by expressive settings.
543
+ - [`fastify-permissions`](https://github.com/pckrishnadas88/fastify-permissions)
544
+ Route-level permission middleware for Fastify supports
545
+ custom permission checks.
546
+ - [`fastify-piscina`](https://github.com/piscinajs/fastify-piscina) A worker
547
+ thread pool plugin using [Piscina](https://github.com/piscinajs/piscina).
548
+ - [`fastify-polyglot`](https://github.com/beliven-it/fastify-polyglot) A plugin
549
+ to handle i18n using
550
+ [node-polyglot](https://www.npmjs.com/package/node-polyglot).
551
+ - [`fastify-postgraphile`](https://github.com/alemagio/fastify-postgraphile)
552
+ Plugin to integrate [PostGraphile](https://www.graphile.org/postgraphile/) in
553
+ a Fastify project.
554
+ - [`fastify-postgres-dot-js`](https://github.com/kylerush/fastify-postgresjs) Fastify
555
+ PostgreSQL connection plugin that uses [Postgres.js](https://github.com/porsager/postgres).
556
+ - [`fastify-prettier`](https://github.com/hsynlms/fastify-prettier) A Fastify
557
+ plugin that uses [prettier](https://github.com/prettier/prettier) under the
558
+ hood to beautify outgoing responses and/or other things in the Fastify server.
559
+ - [`fastify-print-routes`](https://github.com/ShogunPanda/fastify-print-routes)
560
+ A Fastify plugin that prints all available routes.
561
+ - [`fastify-protobufjs`](https://github.com/kenriortega/fastify-protobufjs)
562
+ Fastify and protobufjs, together at last. Uses protobufjs by default.
563
+ - [`fastify-qrcode`](https://github.com/chonla/fastify-qrcode) This plugin
564
+ utilizes [qrcode](https://github.com/soldair/node-qrcode) to generate QR Code.
565
+ - [`fastify-qs`](https://github.com/vanodevium/fastify-qs) A plugin for Fastify
566
+ that adds support for parsing URL query parameters with
567
+ [qs](https://github.com/ljharb/qs).
568
+ - [`fastify-rabbitmq`](https://github.com/Bugs5382/fastify-rabbitmq) Fastify
569
+ RabbitMQ plugin that uses
570
+ [node-rabbitmq-client](https://github.com/cody-greene/node-rabbitmq-client)
571
+ plugin as a wrapper.
572
+ - [`fastify-racing`](https://github.com/metcoder95/fastify-racing) Fastify's
573
+ plugin that adds support to handle an aborted request asynchronous.
574
+ - [`fastify-ravendb`](https://github.com/nearform/fastify-ravendb) RavenDB
575
+ connection plugin. It exposes the same `DocumentStore` (or multiple ones)
576
+ across the whole Fastify application.
577
+ - [`fastify-raw-body`](https://github.com/Eomm/fastify-raw-body) Add the
578
+ `request.rawBody` field.
579
+ - [`fastify-rbac`](https://gitlab.com/m03geek/fastify-rbac) Fastify role-based
580
+ access control plugin.
581
+ - [`fastify-recaptcha`](https://github.com/qwertyforce/fastify-recaptcha)
582
+ Fastify plugin for reCAPTCHA verification.
583
+ - [`fastify-redis-channels`](https://github.com/hearit-io/fastify-redis-channels)
584
+ A plugin for fast, reliable, and scalable channels implementation based on
585
+ Redis streams.
586
+ - [`fastify-redis-session`](https://github.com/mohammadraufzahed/fastify-redis-session)
587
+ Redis Session plugin for fastify.
588
+ - [`fastify-register-routes`](https://github.com/israeleriston/fastify-register-routes)
589
+ Plugin to automatically load routes from a specified path and optionally limit
590
+ loaded file names by a regular expression.
591
+ - [`fastify-response-caching`](https://github.com/codeaholicguy/fastify-response-caching)
592
+ A Fastify plugin for caching the response.
593
+ - [`fastify-response-time`](https://github.com/lolo32/fastify-response-time) Add
594
+ `X-Response-Time` header at each request for Fastify, in milliseconds.
595
+ - [`fastify-resty`](https://github.com/FastifyResty/fastify-resty) Fastify-based
596
+ web framework with REST API routes auto-generation for TypeORM entities using
597
+ DI and decorators.
598
+ - [`fastify-reverse-routes`](https://github.com/dimonnwc3/fastify-reverse-routes)
599
+ Fastify reverse routes plugin, allows to defined named routes and build path
600
+ using name and parameters.
601
+ - [`fastify-rob-config`](https://github.com/jeromemacias/fastify-rob-config)
602
+ Fastify Rob-Config integration.
603
+ - [`fastify-route-group`](https://github.com/TakNePoidet/fastify-route-group)
604
+ Convenient grouping and inheritance of routes.
605
+ - [`fastify-route-preset`](https://github.com/inyourtime/fastify-route-preset)
606
+ A Fastify plugin that enables you to create route configurations that can be
607
+ applied to multiple routes.
608
+ - [`fastify-s3-buckets`](https://github.com/kibertoad/fastify-s3-buckets)
609
+ Ensure the existence of defined S3 buckets on the application startup.
610
+ - [`fastify-schema-constraint`](https://github.com/Eomm/fastify-schema-constraint)
611
+ Choose the JSON schema to use based on request parameters.
612
+ - [`fastify-schema-to-typescript`](https://github.com/thomasthiebaud/fastify-schema-to-typescript)
613
+ Generate typescript types based on your JSON/YAML validation schemas so they
614
+ are always in sync.
615
+ - [`fastify-sentry`](https://github.com/alex-ppg/fastify-sentry) Fastify plugin
616
+ to add the Sentry SDK error handler to requests.
617
+ - [`fastify-sequelize`](https://github.com/lyquocnam/fastify-sequelize) Fastify
618
+ plugin work with Sequelize (adapter for Node.js -> Sqlite, Mysql, Mssql,
619
+ Postgres).
620
+ - [`fastify-server-session`](https://github.com/jsumners/fastify-server-session)
621
+ A session plugin with support for arbitrary backing caches via
622
+ `fastify-caching`.
623
+ - [`fastify-ses-mailer`](https://github.com/KaranHotwani/fastify-ses-mailer) A
624
+ Fastify plugin for sending emails via AWS SES using AWS SDK v3.
625
+ - [`fastify-shared-schema`](https://github.com/Adibla/fastify-shared-schema) Plugin
626
+ for sharing schemas between different routes.
627
+ - [`fastify-slow-down`](https://github.com/nearform/fastify-slow-down) A plugin
628
+ to delay the response from the server.
629
+ - [`fastify-split-validator`](https://github.com/MetCoder95/fastify-split-validator)
630
+ Small plugin to allow you use multiple validators in one route based on each
631
+ HTTP part of the request.
632
+ - [`fastify-sqlite`](https://github.com/Eomm/fastify-sqlite) connects your
633
+ application to a sqlite3 database.
634
+ - [`fastify-sqlite-typed`](https://github.com/yoav0gal/fastify-sqlite-typed) connects
635
+ your application to a SQLite database with full Typescript support.
636
+ - [`fastify-sse`](https://github.com/lolo32/fastify-sse) to provide Server-Sent
637
+ Events with `reply.sse( … )` to Fastify.
638
+ - [`fastify-ssr-vite`](https://github.com/nineohnine/fastify-ssr-vite) A simple
639
+ plugin for setting up server side rendering with vite.
640
+ - [`fastify-stripe`](https://github.com/coopflow/fastify-stripe) Plugin to
641
+ initialize and encapsulate [Stripe
642
+ Node.js](https://github.com/stripe/stripe-node) instances in Fastify.
643
+ - [`fastify-supabase`](https://github.com/coopflow/fastify-supabase) Plugin to
644
+ initialize and encapsulate [Supabase](https://github.com/supabase/supabase-js)
645
+ instances in Fastify.
646
+ - [`fastify-tls-keygen`](https://gitlab.com/sebdeckers/fastify-tls-keygen)
647
+ Automatically generate a browser-compatible, trusted, self-signed,
648
+ localhost-only, TLS certificate.
649
+ - [`fastify-totp`](https://github.com/beliven-it/fastify-totp) A plugin to handle
650
+ TOTP (e.g. for 2FA).
651
+ - [`fastify-type-provider-effect-schema`](https://github.com/daotl/fastify-type-provider-effect-schema)
652
+ Fastify
653
+ [type provider](https://fastify.dev/docs/latest/Reference/Type-Providers/)
654
+ for [@effect/schema](https://github.com/Effect-TS/effect).
655
+ - [`fastify-type-provider-zod`](https://github.com/turkerdev/fastify-type-provider-zod)
656
+ Fastify
657
+ [type provider](https://fastify.dev/docs/latest/Reference/Type-Providers/)
658
+ for [zod](https://github.com/colinhacks/zod).
659
+ - [`fastify-typeorm-plugin`](https://github.com/inthepocket/fastify-typeorm-plugin)
660
+ Fastify plugin to work with TypeORM.
661
+ - [`fastify-user-agent`](https://github.com/Eomm/fastify-user-agent) parses your
662
+ request's `user-agent` header.
663
+ - [`fastify-uws`](https://github.com/geut/fastify-uws) A Fastify plugin to
664
+ use the web server [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js).
665
+ - [`fastify-vhost`](https://github.com/patrickpissurno/fastify-vhost) Proxy
666
+ subdomain HTTP requests to another server (useful if you want to point
667
+ multiple subdomains to the same IP address, while running different servers on
668
+ the same machine).
669
+ - [`fastify-vue-plugin`](https://github.com/TheNoim/fastify-vue)
670
+ [Nuxt.js](https://nuxtjs.org) plugin for Fastify. Control the routes nuxt
671
+ should use.
672
+ - [`fastify-wamp-router`](https://github.com/lependu/fastify-wamp-router) Web
673
+ Application Messaging Protocol router for Fastify.
674
+ - [`fastify-web-response`](https://github.com/erfanium/fastify-web-response)
675
+ Enables returning web streams objects `Response` and `ReadableStream` in routes.
676
+ - [`fastify-webpack-hmr`](https://github.com/lependu/fastify-webpack-hmr)
677
+ Webpack hot module reloading plugin for Fastify.
678
+ - [`fastify-webpack-hot`](https://github.com/gajus/fastify-webpack-hot) Webpack
679
+ Hot Module Replacement for Fastify.
680
+ - [`fastify-ws`](https://github.com/gj/fastify-ws) WebSocket integration for
681
+ Fastify — with support for WebSocket lifecycle hooks instead of a single
682
+ handler function. Built upon [ws](https://github.com/websockets/ws) and
683
+ [uws](https://github.com/uNetworking/uWebSockets).
684
+ - [`fastify-xml-body-parser`](https://github.com/NaturalIntelligence/fastify-xml-body-parser)
685
+ Parse XML payload / request body into JS / JSON object.
686
+ - [`http-wizard`](https://github.com/flodlc/http-wizard)
687
+ Exports a typescript API client for your Fastify API and ensures fullstack type
688
+ safety for your project.
689
+ - [`i18next-http-middleware`](https://github.com/i18next/i18next-http-middleware#fastify-usage)
690
+ An [i18next](https://www.i18next.com) based i18n (internationalization)
691
+ middleware to be used with Node.js web frameworks like Express or Fastify and
692
+ also for Deno.
693
+ - [`k-fastify-gateway`](https://github.com/jkyberneees/fastify-gateway) API
694
+ Gateway plugin for Fastify, a low footprint implementation that uses the
695
+ `fastify-reply-from` HTTP proxy library.
696
+ - [`mercurius`](https://mercurius.dev/) A fully-featured and performant GraphQL
697
+ server implementation for Fastify.
698
+ - [`nstats`](https://github.com/Phara0h/nstats) A fast and compact way to get
699
+ all your network and process stats for your node application. Websocket,
700
+ HTTP/S, and prometheus compatible!
701
+ - [`oas-fastify`](https://github.com/ahmadnassri/node-oas-fastify) OAS 3.x to
702
+ Fastify routes automation. Automatically generates route handlers with fastify
703
+ configuration and validation.
704
+ - [`openapi-validator-middleware`](https://github.com/PayU/openapi-validator-middleware#fastify)
705
+ Swagger and OpenAPI 3.0 spec-based request validation middleware that supports
706
+ Fastify.
707
+ - [`pubsub-http-handler`](https://github.com/simenandre/pubsub-http-handler) A Fastify
708
+ plugin to easily create Google Cloud PubSub endpoints.
709
+ - [`sequelize-fastify`](https://github.com/hsynlms/sequelize-fastify) A simple
710
+ and lightweight Sequelize plugin for Fastify.
711
+
712
+ #### [Community Tools](#community-tools)
713
+
714
+ - [`fast-maker`](https://github.com/imjuni/fast-maker) route configuration
715
+ generator by directory structure.
716
+ - [`fastify-flux`](https://github.com/Jnig/fastify-flux) Tool for building
717
+ Fastify APIs using decorators and convert Typescript interface to JSON Schema.
718
+ - [`jeasx`](https://www.jeasx.dev)
719
+ A flexible server-rendering framework built on Fastify
720
+ that leverages asynchronous JSX to simplify web development.
721
+ - [`simple-tjscli`](https://github.com/imjuni/simple-tjscli) CLI tool to
722
+ generate JSON Schema from TypeScript interfaces.
723
+ - [`vite-plugin-fastify`](https://github.com/Vanilla-IceCream/vite-plugin-fastify)
724
+ Fastify plugin for Vite with Hot-module Replacement.
725
+ - [`vite-plugin-fastify-routes`](https://github.com/Vanilla-IceCream/vite-plugin-fastify-routes)
726
+ File-based routing for Fastify applications using Vite.