joetjen.net
EN DE
← Alle Bibliotheken
JavaScript

node-cooper-fastify

Ein Fastify-Plugin, das die CASC-Konfiguration einer Anwendung einmal beim Start lädt, sie unter fastify.config ablegt und dem Server seine eigenen Optionen aus demselben Dokument gibt.

Absicht

Fastify hat kein eigenes Konfigurationssystem; dieses Plugin ersetzt deshalb @fastify/env und dotenv, statt neben ihnen zu stehen. Laden und Lesen übernimmt cooper-config, fastify.config und die Bibliothek selbst lesen also dieselbe Konfiguration. Ein Dokument, das nicht lädt, heißt: Der Server startet gar nicht erst.

Beispiel
import Fastify from 'fastify';
import cooper, { serverOptions, listenOptions } from '@joetjen/cooper-fastify';

const app = Fastify(await serverOptions());   // loads config/config.casc, once
await app.register(cooper);                   // fastify.config

app.get('/db', async (request) => ({ host: request.server.config.get('db.host') }));
await app.listen(listenOptions());
Installation
npm install @joetjen/cooper-fastify
FastifyConfiguration