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.
- package/.borp.yaml +3 -0
- package/.markdownlint-cli2.yaml +22 -0
- package/.prettierignore +1 -0
- package/GOVERNANCE.md +4 -0
- package/LICENSE +21 -0
- package/PROJECT_CHARTER.md +126 -0
- package/README.md +423 -0
- package/SECURITY.md +220 -0
- package/SPONSORS.md +24 -0
- package/build/build-error-serializer.js +35 -0
- package/build/build-validation.js +169 -0
- package/build/sync-version.js +11 -0
- package/docs/Guides/Benchmarking.md +60 -0
- package/docs/Guides/Database.md +321 -0
- package/docs/Guides/Delay-Accepting-Requests.md +608 -0
- package/docs/Guides/Detecting-When-Clients-Abort.md +172 -0
- package/docs/Guides/Ecosystem.md +726 -0
- package/docs/Guides/Fluent-Schema.md +127 -0
- package/docs/Guides/Getting-Started.md +620 -0
- package/docs/Guides/Index.md +43 -0
- package/docs/Guides/Migration-Guide-V3.md +287 -0
- package/docs/Guides/Migration-Guide-V4.md +267 -0
- package/docs/Guides/Migration-Guide-V5.md +727 -0
- package/docs/Guides/Plugins-Guide.md +520 -0
- package/docs/Guides/Prototype-Poisoning.md +383 -0
- package/docs/Guides/Recommendations.md +378 -0
- package/docs/Guides/Serverless.md +604 -0
- package/docs/Guides/Style-Guide.md +246 -0
- package/docs/Guides/Testing.md +481 -0
- package/docs/Guides/Write-Plugin.md +103 -0
- package/docs/Guides/Write-Type-Provider.md +34 -0
- package/docs/Reference/ContentTypeParser.md +271 -0
- package/docs/Reference/Decorators.md +436 -0
- package/docs/Reference/Encapsulation.md +194 -0
- package/docs/Reference/Errors.md +377 -0
- package/docs/Reference/HTTP2.md +94 -0
- package/docs/Reference/Hooks.md +958 -0
- package/docs/Reference/Index.md +73 -0
- package/docs/Reference/LTS.md +86 -0
- package/docs/Reference/Lifecycle.md +99 -0
- package/docs/Reference/Logging.md +268 -0
- package/docs/Reference/Middleware.md +79 -0
- package/docs/Reference/Plugins.md +245 -0
- package/docs/Reference/Principles.md +73 -0
- package/docs/Reference/Reply.md +1001 -0
- package/docs/Reference/Request.md +295 -0
- package/docs/Reference/Routes.md +802 -0
- package/docs/Reference/Server.md +2389 -0
- package/docs/Reference/Type-Providers.md +256 -0
- package/docs/Reference/TypeScript.md +1729 -0
- package/docs/Reference/Validation-and-Serialization.md +1130 -0
- package/docs/Reference/Warnings.md +58 -0
- package/docs/index.md +24 -0
- package/docs/resources/encapsulation_context.drawio +1 -0
- package/docs/resources/encapsulation_context.svg +3 -0
- package/eslint.config.js +35 -0
- package/examples/asyncawait.js +38 -0
- package/examples/benchmark/body.json +3 -0
- package/examples/benchmark/hooks-benchmark-async-await.js +44 -0
- package/examples/benchmark/hooks-benchmark.js +52 -0
- package/examples/benchmark/parser.js +47 -0
- package/examples/benchmark/simple.js +30 -0
- package/examples/benchmark/webstream.js +27 -0
- package/examples/hooks.js +91 -0
- package/examples/http2.js +39 -0
- package/examples/https.js +38 -0
- package/examples/parser.js +53 -0
- package/examples/plugin.js +12 -0
- package/examples/route-prefix.js +38 -0
- package/examples/shared-schema.js +38 -0
- package/examples/simple-stream.js +20 -0
- package/examples/simple.js +32 -0
- package/examples/simple.mjs +27 -0
- package/examples/typescript-server.ts +79 -0
- package/examples/use-plugin.js +29 -0
- package/fastify.d.ts +253 -0
- package/fastify.js +985 -0
- package/integration/server.js +29 -0
- package/integration/test.sh +23 -0
- package/lib/config-validator.js +1266 -0
- package/lib/content-type-parser.js +413 -0
- package/lib/content-type.js +160 -0
- package/lib/context.js +98 -0
- package/lib/decorate.js +152 -0
- package/lib/error-handler.js +173 -0
- package/lib/error-serializer.js +134 -0
- package/lib/error-status.js +14 -0
- package/lib/errors.js +516 -0
- package/lib/four-oh-four.js +190 -0
- package/lib/handle-request.js +195 -0
- package/lib/head-route.js +45 -0
- package/lib/hooks.js +429 -0
- package/lib/initial-config-validation.js +37 -0
- package/lib/logger-factory.js +136 -0
- package/lib/logger-pino.js +68 -0
- package/lib/noop-set.js +10 -0
- package/lib/plugin-override.js +90 -0
- package/lib/plugin-utils.js +169 -0
- package/lib/promise.js +23 -0
- package/lib/reply.js +1030 -0
- package/lib/req-id-gen-factory.js +52 -0
- package/lib/request.js +391 -0
- package/lib/route.js +686 -0
- package/lib/schema-controller.js +164 -0
- package/lib/schemas.js +207 -0
- package/lib/server.js +441 -0
- package/lib/symbols.js +71 -0
- package/lib/validation.js +280 -0
- package/lib/warnings.js +57 -0
- package/lib/wrap-thenable.js +84 -0
- package/package.json +225 -0
- package/scripts/validate-ecosystem-links.js +179 -0
- package/test/404s.test.js +2035 -0
- package/test/500s.test.js +422 -0
- package/test/allow-unsafe-regex.test.js +92 -0
- package/test/als.test.js +65 -0
- package/test/async-await.test.js +705 -0
- package/test/async-dispose.test.js +20 -0
- package/test/async_hooks.test.js +52 -0
- package/test/body-limit.test.js +224 -0
- package/test/buffer.test.js +74 -0
- package/test/build/error-serializer.test.js +36 -0
- package/test/build/version.test.js +14 -0
- package/test/build-certificate.js +109 -0
- package/test/bundler/README.md +29 -0
- package/test/bundler/esbuild/bundler-test.js +32 -0
- package/test/bundler/esbuild/package.json +10 -0
- package/test/bundler/esbuild/src/fail-plugin-version.js +14 -0
- package/test/bundler/esbuild/src/index.js +9 -0
- package/test/bundler/webpack/bundler-test.js +32 -0
- package/test/bundler/webpack/package.json +11 -0
- package/test/bundler/webpack/src/fail-plugin-version.js +14 -0
- package/test/bundler/webpack/src/index.js +9 -0
- package/test/bundler/webpack/webpack.config.js +15 -0
- package/test/case-insensitive.test.js +102 -0
- package/test/chainable.test.js +40 -0
- package/test/child-logger-factory.test.js +128 -0
- package/test/client-timeout.test.js +38 -0
- package/test/close-pipelining.test.js +78 -0
- package/test/close.test.js +706 -0
- package/test/conditional-pino.test.js +47 -0
- package/test/connection-timeout.test.js +42 -0
- package/test/constrained-routes.test.js +1138 -0
- package/test/content-length.test.js +174 -0
- package/test/content-parser.test.js +739 -0
- package/test/content-type.test.js +181 -0
- package/test/context-config.test.js +164 -0
- package/test/custom-http-server.test.js +118 -0
- package/test/custom-parser-async.test.js +59 -0
- package/test/custom-parser.0.test.js +701 -0
- package/test/custom-parser.1.test.js +266 -0
- package/test/custom-parser.2.test.js +91 -0
- package/test/custom-parser.3.test.js +208 -0
- package/test/custom-parser.4.test.js +218 -0
- package/test/custom-parser.5.test.js +130 -0
- package/test/custom-querystring-parser.test.js +129 -0
- package/test/decorator.test.js +1330 -0
- package/test/delete.test.js +344 -0
- package/test/diagnostics-channel/404.test.js +49 -0
- package/test/diagnostics-channel/async-delay-request.test.js +65 -0
- package/test/diagnostics-channel/async-request.test.js +64 -0
- package/test/diagnostics-channel/error-before-handler.test.js +35 -0
- package/test/diagnostics-channel/error-request.test.js +53 -0
- package/test/diagnostics-channel/error-status.test.js +123 -0
- package/test/diagnostics-channel/init.test.js +50 -0
- package/test/diagnostics-channel/sync-delay-request.test.js +49 -0
- package/test/diagnostics-channel/sync-request-reply.test.js +51 -0
- package/test/diagnostics-channel/sync-request.test.js +54 -0
- package/test/encapsulated-child-logger-factory.test.js +69 -0
- package/test/encapsulated-error-handler.test.js +237 -0
- package/test/esm/errorCodes.test.mjs +10 -0
- package/test/esm/esm.test.mjs +13 -0
- package/test/esm/index.test.js +8 -0
- package/test/esm/named-exports.mjs +14 -0
- package/test/esm/other.mjs +8 -0
- package/test/esm/plugin.mjs +8 -0
- package/test/fastify-instance.test.js +300 -0
- package/test/find-route.test.js +152 -0
- package/test/fluent-schema.test.js +209 -0
- package/test/genReqId.test.js +426 -0
- package/test/handler-context.test.js +45 -0
- package/test/handler-timeout.test.js +367 -0
- package/test/has-route.test.js +88 -0
- package/test/header-overflow.test.js +55 -0
- package/test/helper.js +496 -0
- package/test/hooks-async.test.js +1099 -0
- package/test/hooks.on-listen.test.js +1162 -0
- package/test/hooks.on-ready.test.js +421 -0
- package/test/hooks.test.js +3578 -0
- package/test/http-methods/copy.test.js +35 -0
- package/test/http-methods/custom-http-methods.test.js +114 -0
- package/test/http-methods/get.test.js +412 -0
- package/test/http-methods/head.test.js +263 -0
- package/test/http-methods/lock.test.js +108 -0
- package/test/http-methods/mkcalendar.test.js +143 -0
- package/test/http-methods/mkcol.test.js +35 -0
- package/test/http-methods/move.test.js +42 -0
- package/test/http-methods/propfind.test.js +136 -0
- package/test/http-methods/proppatch.test.js +105 -0
- package/test/http-methods/report.test.js +142 -0
- package/test/http-methods/search.test.js +233 -0
- package/test/http-methods/trace.test.js +21 -0
- package/test/http-methods/unlock.test.js +38 -0
- package/test/http2/closing.test.js +270 -0
- package/test/http2/constraint.test.js +109 -0
- package/test/http2/head.test.js +34 -0
- package/test/http2/plain.test.js +68 -0
- package/test/http2/secure-with-fallback.test.js +113 -0
- package/test/http2/secure.test.js +67 -0
- package/test/http2/unknown-http-method.test.js +34 -0
- package/test/https/custom-https-server.test.js +58 -0
- package/test/https/https.test.js +136 -0
- package/test/imports.test.js +17 -0
- package/test/inject.test.js +502 -0
- package/test/input-validation.js +335 -0
- package/test/internals/all.test.js +38 -0
- package/test/internals/content-type-parser.test.js +111 -0
- package/test/internals/context.test.js +31 -0
- package/test/internals/decorator.test.js +156 -0
- package/test/internals/errors.test.js +982 -0
- package/test/internals/handle-request.test.js +270 -0
- package/test/internals/hook-runner.test.js +449 -0
- package/test/internals/hooks.test.js +96 -0
- package/test/internals/initial-config.test.js +383 -0
- package/test/internals/logger.test.js +163 -0
- package/test/internals/plugin.test.js +170 -0
- package/test/internals/promise.test.js +63 -0
- package/test/internals/reply-serialize.test.js +714 -0
- package/test/internals/reply.test.js +1920 -0
- package/test/internals/req-id-gen-factory.test.js +133 -0
- package/test/internals/request-validate.test.js +1402 -0
- package/test/internals/request.test.js +506 -0
- package/test/internals/schema-controller-perf.test.js +40 -0
- package/test/internals/server.test.js +91 -0
- package/test/internals/validation.test.js +352 -0
- package/test/issue-4959.test.js +118 -0
- package/test/keep-alive-timeout.test.js +42 -0
- package/test/listen.1.test.js +154 -0
- package/test/listen.2.test.js +113 -0
- package/test/listen.3.test.js +83 -0
- package/test/listen.4.test.js +168 -0
- package/test/listen.5.test.js +122 -0
- package/test/logger/instantiation.test.js +341 -0
- package/test/logger/logger-test-utils.js +47 -0
- package/test/logger/logging.test.js +460 -0
- package/test/logger/options.test.js +579 -0
- package/test/logger/request.test.js +292 -0
- package/test/logger/response.test.js +183 -0
- package/test/logger/tap-parallel-not-ok +0 -0
- package/test/max-requests-per-socket.test.js +113 -0
- package/test/middleware.test.js +37 -0
- package/test/noop-set.test.js +19 -0
- package/test/nullable-validation.test.js +187 -0
- package/test/options.error-handler.test.js +5 -0
- package/test/options.test.js +5 -0
- package/test/output-validation.test.js +140 -0
- package/test/patch.error-handler.test.js +5 -0
- package/test/patch.test.js +5 -0
- package/test/plugin.1.test.js +230 -0
- package/test/plugin.2.test.js +314 -0
- package/test/plugin.3.test.js +287 -0
- package/test/plugin.4.test.js +504 -0
- package/test/plugin.helper.js +8 -0
- package/test/plugin.name.display.js +10 -0
- package/test/post-empty-body.test.js +38 -0
- package/test/pretty-print.test.js +366 -0
- package/test/promises.test.js +125 -0
- package/test/proto-poisoning.test.js +145 -0
- package/test/put.error-handler.test.js +5 -0
- package/test/put.test.js +5 -0
- package/test/register.test.js +184 -0
- package/test/reply-code.test.js +148 -0
- package/test/reply-early-hints.test.js +100 -0
- package/test/reply-error.test.js +815 -0
- package/test/reply-trailers.test.js +445 -0
- package/test/reply-web-stream-locked.test.js +37 -0
- package/test/request-error.test.js +624 -0
- package/test/request-header-host.test.js +339 -0
- package/test/request-id.test.js +118 -0
- package/test/request-timeout.test.js +53 -0
- package/test/route-hooks.test.js +635 -0
- package/test/route-prefix.test.js +904 -0
- package/test/route-shorthand.test.js +48 -0
- package/test/route.1.test.js +259 -0
- package/test/route.2.test.js +100 -0
- package/test/route.3.test.js +213 -0
- package/test/route.4.test.js +127 -0
- package/test/route.5.test.js +211 -0
- package/test/route.6.test.js +306 -0
- package/test/route.7.test.js +406 -0
- package/test/route.8.test.js +225 -0
- package/test/router-options.test.js +1108 -0
- package/test/same-shape.test.js +124 -0
- package/test/schema-examples.test.js +661 -0
- package/test/schema-feature.test.js +2198 -0
- package/test/schema-serialization.test.js +1171 -0
- package/test/schema-special-usage.test.js +1348 -0
- package/test/schema-validation.test.js +1572 -0
- package/test/scripts/validate-ecosystem-links.test.js +339 -0
- package/test/serialize-response.test.js +186 -0
- package/test/server.test.js +347 -0
- package/test/set-error-handler.test.js +69 -0
- package/test/skip-reply-send.test.js +317 -0
- package/test/stream-serializers.test.js +40 -0
- package/test/stream.1.test.js +94 -0
- package/test/stream.2.test.js +129 -0
- package/test/stream.3.test.js +198 -0
- package/test/stream.4.test.js +176 -0
- package/test/stream.5.test.js +188 -0
- package/test/sync-routes.test.js +32 -0
- package/test/throw.test.js +359 -0
- package/test/toolkit.js +63 -0
- package/test/trust-proxy.test.js +162 -0
- package/test/type-provider.test.js +22 -0
- package/test/types/content-type-parser.test-d.ts +72 -0
- package/test/types/decorate-request-reply.test-d.ts +18 -0
- package/test/types/dummy-plugin.ts +9 -0
- package/test/types/errors.test-d.ts +90 -0
- package/test/types/fastify.test-d.ts +352 -0
- package/test/types/hooks.test-d.ts +550 -0
- package/test/types/import.ts +2 -0
- package/test/types/instance.test-d.ts +588 -0
- package/test/types/logger.test-d.ts +277 -0
- package/test/types/plugin.test-d.ts +97 -0
- package/test/types/register.test-d.ts +237 -0
- package/test/types/reply.test-d.ts +254 -0
- package/test/types/request.test-d.ts +188 -0
- package/test/types/route.test-d.ts +553 -0
- package/test/types/schema.test-d.ts +135 -0
- package/test/types/serverFactory.test-d.ts +37 -0
- package/test/types/type-provider.test-d.ts +1213 -0
- package/test/types/using.test-d.ts +17 -0
- package/test/upgrade.test.js +52 -0
- package/test/url-rewriting.test.js +122 -0
- package/test/use-semicolon-delimiter.test.js +168 -0
- package/test/validation-error-handling.test.js +900 -0
- package/test/versioned-routes.test.js +603 -0
- package/test/web-api.test.js +616 -0
- package/test/wrap-thenable.test.js +30 -0
- package/types/content-type-parser.d.ts +75 -0
- package/types/context.d.ts +22 -0
- package/types/errors.d.ts +92 -0
- package/types/hooks.d.ts +875 -0
- package/types/instance.d.ts +609 -0
- package/types/logger.d.ts +107 -0
- package/types/plugin.d.ts +44 -0
- package/types/register.d.ts +42 -0
- package/types/reply.d.ts +81 -0
- package/types/request.d.ts +95 -0
- package/types/route.d.ts +199 -0
- package/types/schema.d.ts +61 -0
- package/types/server-factory.d.ts +19 -0
- package/types/type-provider.d.ts +130 -0
- 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.
|