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();

Package Sidebar

Install

npm i nestjs-dotenv

Weekly Downloads

156

Version

1.2.1

License

MIT

Unpacked Size

9.81 kB

Total Files

14

Last publish

Collaborators

  • alaricode