Nutella with Pepperoni and Mushrooms
    Wondering what’s next for npm?Check out our public roadmap! »

    @metarhia/config
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.1 • Public • Published

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

    Install

    npm i @metarhia/config

    DownloadsWeekly Downloads

    91

    Version

    2.1.1

    License

    MIT

    Unpacked Size

    8.92 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar