Files
simple-mail-cleaner/backend/node_modules/fastify/docs/Reference/Warnings.md
2026-01-22 15:49:12 +01:00

7.1 KiB

Fastify

Table of contents

Warnings

Warnings In Fastify

Fastify utilizes Node.js's warning event API to notify users of deprecated features and known coding mistakes. Fastify's warnings are recognizable by the FSTWRN and FSTDEP prefixes on warning code. When encountering such a warning, it is highly recommended that the cause of the warning be determined through use of the --trace-warnings and --trace-deprecation flags. These will produce stack traces pointing out where the issue occurs in the application's code. Issues opened about warnings without including this information may be closed due to lack of information.

In addition to tracing, warnings can also be disabled. It is not recommended to disable warnings as a matter of course, but if necessary, they can be disabled by using any of the following methods:

  • setting the NODE_NO_WARNINGS environment variable to 1
  • passing the --no-warnings flag to the node process
  • setting 'no-warnings' in the NODE_OPTIONS environment variable

For more information on how to disable warnings, see node's documentation.

However, disabling warnings is not recommended as it may cause potential problems when upgrading Fastify versions. Only experienced users should consider disabling warnings.

Fastify Warning Codes

Code Description How to solve Discussion
FSTWRN001 The specified schema for a route is missing. This may indicate the schema is not well specified. Check the schema for the route. #4647
FSTWRN002 The %s plugin being registered mixes async and callback styles, which will result in an error in fastify@5. Do not mix async and callback style. #5139

Fastify Deprecation Codes

Deprecation codes are further supported by the Node.js CLI options:

Code Description How to solve Discussion
FSTDEP005 You are accessing the deprecated request.connection property. Use request.socket. #2594
FSTDEP006 You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Do not use Arrays/Objects as values when decorating Request/Reply. #2688
FSTDEP007 You are trying to set a HEAD route using exposeHeadRoute route flag when a sibling route is already set. Remove exposeHeadRoutes or explicitly set exposeHeadRoutes to false #2700
FSTDEP008 You are using route constraints via the route {version: "..."} option. Use {constraints: {version: "..."}} option. #2682
FSTDEP009 You are using a custom route versioning strategy via the server {versioning: "..."} option. Use {constraints: {version: "..."}} option. #2682
FSTDEP010 Modifying the reply.sent property is deprecated. Use the reply.hijack() method. #3140
FSTDEP011 Variadic listen method is deprecated. Use .listen(optionsObject). #3712
FSTDEP012 You are trying to access the deprecated request.context property. Use request.routeOptions.config or request.routeOptions.schema. #4216 #5084
FSTDEP013 Direct return of "trailers" function is deprecated. Use "callback" or "async-await" for return value. #4380
FSTDEP014 You are trying to set/access the default route. This property is deprecated. Use setNotFoundHandler if you want to custom a 404 handler or the wildcard (*) to match all routes. #4480
FSTDEP015 You are accessing the deprecated request.routeSchema property. Use request.routeOptions.schema. #4470
FSTDEP016 You are accessing the deprecated request.routeConfig property. Use request.routeOptions.config. #4470
FSTDEP017 You are accessing the deprecated request.routerPath property. Use request.routeOptions.url. #4470
FSTDEP018 You are accessing the deprecated request.routerMethod property. Use request.routeOptions.method. #4470
FSTDEP019 You are accessing the deprecated reply.context property. Use reply.routeOptions.config or reply.routeOptions.schema. #5032 #5084
FSTDEP020 You are using the deprecated reply.getReponseTime() method. Use the reply.elapsedTime property instead. #5263
FSTDEP021 The reply.redirect() method has a new signature: reply.redirect(url: string, code?: number). It will be enforced in fastify@v5'. #5483
FSTDEP022 You are using the deprecated json shorthand schema on route %s. Specify full object schema instead. It will be removed in fastify@v5 #5483