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