-
-
Notifications
You must be signed in to change notification settings - Fork 0
6.1 config factory
wiki[bot] edited this page Aug 23, 2026
·
1 revision
A NestJS module that registers configuration providers, typically used with the @CacheReturnValue decorator.
import { ConfigFactoryModule } from '@triplef/config-factory/config-factory';interface ConfigFactoryOptions {
global?: boolean;
providers?: Array<Provider>;
}| Option | Type | Default | Description |
|---|---|---|---|
global |
boolean |
false |
If true, makes all providers available throughout the application without explicit import |
providers |
Array<Provider> |
[] |
Array of NestJS providers (typically services with @Injectable()) to register |
import { Module } from '@nestjs/common';
import { ConfigFactoryModule } from '@triplef/config-factory/config-factory';
import { AppConfigService } from './app-config.service';
@Module({
imports: [
ConfigFactoryModule.forRoot({
providers: [AppConfigService],
}),
],
})
export class AppModule {}For application-wide config services, use global: true:
import { Module } from '@nestjs/common';
import { ConfigFactoryModule } from '@triplef/config-factory/config-factory';
import { AppConfigService } from './app-config.service';
import { DatabaseConfigService } from './database-config.service';
import { CacheConfigService } from './cache-config.service';
@Module({
imports: [
ConfigFactoryModule.forRoot({
global: true,
providers: [
AppConfigService,
DatabaseConfigService,
CacheConfigService,
],
}),
],
})
export class AppModule {}With global: true, any service can inject these config services without importing the module:
@Injectable()
export class UserService {
constructor(
private readonly appConfig: AppConfigService,
private readonly dbConfig: DatabaseConfigService,
) {}
}If no providers are provided, a console warning is issued:
ConfigFactoryModule.forRoot({})
// Warns: "[ConfigFactoryModule] No providers registered."- 6.2. Cache Return Value - Decorator for caching config values