@homeofthings/nestjs-config
v2.1.1
Published
HomeOfThings - NestJs config: a configuration service for NestJs based on 'node-config'
Downloads
100
Maintainers
Readme
HomeOfThings - Config for NestJs
a configuration module for NestJS providing a ConfigurationService
based on node-config
installation
npm install @homeofthings/nestjs-config
quick start
import module in AppModule
by providing options synchronously
@Module({
imports: [
ConfigModule.forRoot(ConfigModule, {}),
],
})
export class AppModule {}
import module in AppModule
by providing options asynchronously
@Module({
imports: [
ConfigModule.forRootAsync(ConfigModule, {
imports: [], // optional
useFactory: (): Promise<ConfigModuleOptions> =>
Promise.resolve({
// provide your options
}),
inject: [], // optional inject params for useFactory method
}),
],
})
export class AppModule {}
using for bootstrapping
const configService = ConfigModule.createConfigService({});
...
bootstrap();
NOTE: if you decide to combine this method with the imports into
AppModule
from above, only the options given to the first method will be taken into account
read configuration values
using one of the methods provided by the ConfigService
:
export declare class ConfigService {
readonly configDirectory: string;
readonly environment: string;
constructor(_opts: ConfigModuleOptions);
getConfig(key: string): object | undefined;
reloadConfig(): void;
getString(key: string, defaultValue: string): string;
getNumber(key: string, defaultValue: number): number;
getBoolean(key: string, defaultValue: boolean): boolean;
getObject(key: string, defaultValue: object): object;
// resolve path relative to config-directory
getPath(key: string, defaultValue: string): string;
getOptionalString(key: string): string | undefined;
getOptionalNumber(key: string): number | undefined;
getOptionalBoolean(key: string): boolean | undefined;
getOptionalObject(key: string): object | undefined;
// resolve path relative to config-directory
getOptionalPath(key: string): string | undefined;
}
reload configuration on SIGHUP
process.on('SIGHUP', () => ConfigService.getInstance().reloadConfig());