Skip to content

basalt / fastify/src / FastifyPluginOptions

Interface: FastifyPluginOptions ​

Defined in: fastify/src/adapter.ts:104

Properties ​

allowUnguardedMeta? ​

> optional allowUnguardedMeta?: boolean | string[]

Defined in: fastify/src/adapter.ts:115

Waives the boot-time check that every route declaring security meta (auth, can, teamRole) has a registered guard enforcing it. Pass true to waive everything (e.g. authentication handled at an outer edge/gateway), or an array of specific keys. Default: fail loud at boot. It never waives the route-meta validators plugins register (META_VALIDATORS_BUCKET, e.g. teamsPlugin refusing an unknown meta.teamRole) — those also run at boot and fail it.


fastify? ​

> optional fastify?: FastifyServerOptions

Defined in: fastify/src/adapter.ts:117

Options forwarded to the Fastify constructor (logger, trustProxy…).


notFound? ​

> optional notFound?: boolean

Defined in: fastify/src/adapter.ts:125

Serve the neutral JSON body (NOT_FOUND_RESPONSE from @basaltkit/http) for unmatched routes, identical across all adapters. Default: true. A setNotFoundHandler registered during a plugin's boot phase wins (the adapter's set is guarded); to register one after app:booted instead, pass notFound: false here — Fastify allows only one handler.


onError? ​

> optional onError?: HttpErrorReporter

Defined in: fastify/src/adapter.ts:139

Where failed requests are reported — 5xx with the stack, 4xx as a one-line warning. Pass your own to route them into a real logger, or () => {} to silence them entirely.

By default they go to Fastify's own logger, so records stay structured for apps that configured pino, and to the console for apps that did not (a server built with logger: false, Fastify's default, installs a no-op logger that would swallow them).

Note this is Fastify's logger, not @basaltkit/logger — the two are separate, and setting a level on loggerPlugin does not affect these.


routes? ​

> optional routes?: BasaltRoute[]

Defined in: fastify/src/adapter.ts:105

Released under the MIT License.