@avanio/variable-util
    Preparing search index...

    Module @avanio/variable-util-node

    @avanio/variable-util-node

    TypeScript npm version Maintainability Code Coverage variable-util to npmjs

    npm i @avanio/variable-util @avanio/variable-util-node --save
    
    setLogger(console); // or log4js or winston
    // Docker secret files
    const dockerEnv = new DockerSecretsConfigLoader({fileLowerCase: true}).getLoader;
    // settings json file (i.e. modified on pipeline or agent)
    const fileEnv = new FileConfigLoader({fileName: './settings.json', type: 'json'}).getLoader;
    const fileEnv = new FileConfigLoader(async () => ({fileName: './settings.json', type: 'json'})).getLoader;

    const urlParser = new UrlParser({urlSanitize: true}); // urlSanitize hides credentials from logs

    // lookup from: env => JSON file "settings.json" => Docker "/run/secrets/database_uri"
    const databaseUrl: URL = await getConfigVariable('DATABASE_URI', [env(), fileEnv(), dockerEnv()], urlParser, undefined, {showValue: true});

    // example override key: env => JSON file "settings.json" => Docker "/run/secrets/xxyyzz-database"
    const databaseUrl: URL = await getConfigVariable('DATABASE_URI', [env(), fileEnv(), dockerEnv('xxyyzz-database')], urlParser, undefined, {showValue: true});

    // lookup from: env => JSON file "settings.json" with key MONGODB => Docker "/run/secrets/database_uri"
    const databaseUrl: URL = await getConfigVariable('DATABASE_URI', [env(), fileEnv('MONGODB'), dockerEnv()], urlParser, undefined, {showValue: true});

    Loaders

    DockerSecretsConfigLoaderOptions

    Other

    AbstractFileRecordLoader
    DockerSecretsConfigLoader
    DotEnvLoader
    FileConfigLoader
    AbstractFileRecordLoaderOptions