Nutty Peanut Marshmallow

    nestjs-dotenv
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.1 • Public • Published

    NestJS .env config Module

    alt cover

    More NestJS libs on alariblog.ru

    npm version npm version npm version npm version

    NestJS .env package allows you easily use .env file to store your app configs.

    npm i nestjs-dotenv

    Then register module in your root app.module

    import { ConfigModule } from 'nestjs-dotenv';
     
    @Module({
        imports: [
            // ...
            ConfigModule.forRoot(),
        ],
    })
    export class AppModule {}

    It will load .env file from your project root. If you need to change it's path just pass it to forRoot method like this:

    ConfigModule.forRoot(myPath);

    To use ConfigService in any service or controller just inject it with @ConfigInjection decorator in the constructor:

    import { ConfigService } from 'nestjs-dotenv';
     
    constructor(
        private readonly configService: ConfigService
    ) {}

    Get env value

    To get a value from .env file just call get() method:

    this.configService.get('JIRA_TOKEN');
    • JIRA_TOKEN - name of your key in .env file:
    JIRA_TOKEN=0000000000000
    

    Method returns string.

    Get env value and convert it to specific type

    Instead of get() method use getWithType():

    this.configService.getWithType('JIRA_TOKEN', 'string');

    getWithType() get 3 parameters:

    • name of your key in .env file.
    • type of your data in .env file.
    • (optional) Enum to convert data to, if your type is 'enum'.

    Available types:

    // 'number'
    VALUE=1
     
    // 'string'
    VALUE=mystring
     
    // 'boolean'
    VALUE=true
     
    // 'array'
    VALUE=[1,2,3]
     
    // 'object'
    VALUE={"key""value"}
     
    /** 'enum'
     enum Color {
        White = 1
        Black = 2
    } **/
    VALUE=White

    Reloading file

    To reload env dynamically use reload() method:

    this.configService.reload();

    Install

    npm i nestjs-dotenv

    DownloadsWeekly Downloads

    534

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    9.81 kB

    Total Files

    14

    Last publish

    Collaborators

    • alaricode