joetjen.net
EN DE
← Alle Bibliotheken
JavaScript

node-cooper-nestjs

Ein NestJS-Modul, das die CASC-Konfiguration einer Anwendung einmal beim Start lädt und an den ConfigService von @nestjs/config übergibt; jeder Block der obersten Ebene ist einzeln injizierbar.

Absicht

ConfigService bleibt der Weg, Konfiguration zu lesen, und ebenso für jedes Fremdmodul, das darüber konfiguriert wird. CASC ersetzt, woher die Werte kommen — das Laden von .env-Dateien und Konfigurations-Factories —, nicht die API, die der Rest der Anwendung schon benutzt.

Beispiel
@Module({
  imports: [CooperConfigModule.forRoot()],   // loads config/config.casc, once; global
})
export class AppModule {}

@Injectable()
export class Mailer {
  constructor(
    private readonly config: ConfigService,                    // @nestjs/config, as always
    @InjectCooper('mail') private readonly mail: MailConfig,  // one block
  ) {}
}
Installation
npm install @joetjen/cooper-nestjs @nestjs/config
NestJSConfiguration