0.6.1 • Published 2 years ago

@rxstack/configuration v0.6.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

The RxStack Configuration

The Configuration component allows you to load different configuration files depending on node environment.

Installation

npm install @rxstack/configuration --save

Documentation

The configuration.initialize() takes up to two options:

  1. Path to environment folder directory: configuration.initialize(process.env.AP_DIR + '/dist/src/configs').

  2. Files are named environment.ts or environment.testing.ts. You can change the name configuration.initialize(path_to_dir, 'config') then it will become config.ts

First you need to create environment.ts in the /src/environments folder. Let’s say we want to load different file in production environment then we need to create a new file /src/environments/environment.production.ts. The production environment will inherit all configurations from environment.ts. Under the hood it uses lodash _.mergeWith to overwrite configurations.

Example

In environments/environment.ts we want to use the local development environment:

export const environment = {
  "host": "localhost",
  "port": 3000,
  "mongodb": "mongodb://localhost:27017/myapp",
};

In environments/environment.production.ts we are going to use environment variables:

export const environment = {
  "host": "MONGO_HOST",
  "port": "MONGO_PORT",
  "mongodb": "MONGOHQ_URL",
};

Now it can be used in our app.ts like this:

import {configuration} from '@rxstack/configuration';
configuration.initialize('./environments');
import {environment} from './environments/environment';

// in development it will return localhost
environment.host

Variable types

@rxstack/configuration uses the following variable mechanisms:

  • If the value is a valid environment variable (e.v. NODE_ENV), use its value instead
  • If the value starts with ./ or ../ turn it into an absolute path relative to the application root path

Root path

You get get root path of your application: configuration.getRootPath()

License

Licensed under the MIT license.

0.6.1

2 years ago

0.6.0

3 years ago

0.5.0

4 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.3

5 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.29

6 years ago

0.0.28

6 years ago

0.0.27

6 years ago

0.0.26

6 years ago

0.0.25

6 years ago

0.0.21

6 years ago

0.0.14

6 years ago

0.0.12

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago