Skip to content

hardcorepoet/validatable-config-provider

Repository files navigation

Class-based validatable config provider for NodeJS

npm version

Usage

  • Create configuration structure in your config directory (see node-config)
  • Create class for your configuration section (database config, auth config etc.) and mark fields you want to validate with decorators (see class-validator)
  • Get your configuration using instance of ValidatableConfigProvider

Example

See base provider tests

import { IsNumber, IsString } from 'class-validator';
import { ValidatableConfigProviderBuilder } from 'validatable-config-provider';

export class DatabaseConfig {
  @IsString()
  host: string;

  @IsNumber()
  port: number;
}

const provider = ValidatableConfigProviderBuilder.getInstance();

const dbConfig = provider.getSection<DatabaseConfig>(DatabaseConfig, 'db');

console.log(dbConfig.port);

Module for NestJS is also bundled with this package

About

Class-based configuration provider with validation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published