2.1.3 • Published 3 years ago

@metarhia/config v2.1.3

Weekly downloads
145
License
MIT
Repository
github
Last release
3 years ago

Metarhia Configuration Loader

ci status snyk npm version npm downloads/month npm downloads license

Installation

  • npm install @metarhia/config --save
  • const { Config } = require('@metarhia/config');

Usage

Load configuration with asynchronous constructor:

const { Config } = require('@metarhia/config');
const config = await new Config('./configDirectory');
console.log(config);
// Output example:
// {
//   logger: {
//     enabled: true,
//     keepDays: 100,
//     writeInterval: 3000,
//     writeBuffer: 65536,
//     toStdout: [ 'system', 'fatal', 'error' ]
//   },
//   server: {
//     transport: 'http',
//     address: '127.0.0.1',
//     ports: 80
//   }
// }

or factory:

const { readConfig } = require('@metarhia/config');
const config = await readConfig('./configDirectory');

Specify certain configuration sections to load:

const { Config } = require('@metarhia/config');
const options = { names: ['application', 'gateway'] };
const config = await new Config('./configDirectory', options);

Loag configuration in specified mode:

const { Config } = require('@metarhia/config');
const options = { mode: 'test' };
const config = await new Config('./configDirectory', options);

Specify sections and mode:

const { Config } = require('@metarhia/config');
const options = { mode: 'test', names: ['application', 'gateway'] };
const config = await new Config('./configDirectory', options);

Use custom context (sandbox) to execute configuration js file in it:

const vm = require('vm');
const common = require('@metarhia/common');
const { Config } = require('@metarhia/config');
const sandbox = { Duration: common.duration };
vm.createContext(sandbox);
const options = { sandbox };
const config = await new Config('./configDirectory', options);
2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

2.0.0-alpha.4

3 years ago

2.0.0-alpha.3

4 years ago

2.0.0-alpha.2

4 years ago

2.0.0-alpha.1

4 years ago

2.0.0-alpha.0

4 years ago

1.2.0

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago