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