CodeVetter · Repo Unpack · System map
fastify/fastify
The runtime centers on a factory exported as a CommonJS package, with separate TypeScript declarations. Fastify assembles transport, routing, request/reply behavior, and plugin boot rather than supplying a fixed application. Mutable facilities are scoped through plugin inheritance and symbol-keyed state. Database integrations belong to application plugins, while repository workflows exercise packaging and compatibility.
- package.json declares fastify.js as main, commonjs as module type, fastify.d.ts as declarations, and version 6.0.0-alpha.4.
- fastify() calls processOptions, buildRouting, build404, wrapRouting, createServer, and buildSchemaController to assemble an instance.
- The root owns symbol-keyed lifecycle state, child instances, hooks, parser configuration, and scoped Request/Reply constructors.
- Avvio is configured with autostart false and use exposed as register; Fastify installs its encapsulation override and replaces ready.
- getServerInstance selects a custom serverFactory, HTTP/2 secure or plain server, or HTTP/1 HTTPS/HTTP server.
- Default schema compiler factories are loaded from @fastify/ajv-compiler and @fastify/fast-json-stringify-compiler.
- The database guide explicitly describes Fastify as database agnostic and demonstrates separately registered database plugins.
- Repository commands separate lint, borp unit tests, TSTyche type tests, generated-code integrity, and prepublication checks.