Socket
Socket
Sign inDemoInstall

config-expander

Package Overview
Dependencies
2
Maintainers
1
Versions
134
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    config-expander

Expands expressions in config files


Version published
Weekly downloads
772
decreased by-7.21%
Maintainers
1
Install size
78.1 kB
Created
Weekly downloads
 

Readme

Source

npm License Typed with TypeScript bundlejs downloads GitHub Issues Build Status Styled with prettier Commitizen friendly Known Vulnerabilities Coverage Status

config-expander

Expands expressions in config files

example

file.js

import { expand } from "config-expander";

// expanding hole expressions at the value position (result key is a number)
expand({ key: "${value + 1}" }, { constants: { value: 77 } }).then(r =>
  console.log(JSON.stringify(r))
);

// calculate port numbers
expand({ constants: { base: 10000 }, http: { port: "${base + 1}" } }).then(r =>
  console.log(JSON.stringify(r))
);

// load config from file
expand("${include('tests/fixtures/other.json')}").then(r =>
  console.log(JSON.stringify(r))
);

Output

{ "key" : 78 }
{ "constants": { "base": 10000 }, "http": { "port": 10001 }}
{ "key": "value from other" }

Examples

read config file (json)

const configuration await expand("${include('" + '/path/to/the/config.json' + "')}")

load key file

{
  "ca": "${document(os.home + '/ca.pem')}"
}

calculate port numbers

{
  "http-port": "${base + 0}",
  "https-port": "${base + 1}"
}

conditions

{
  "copy-cmd": "${os.platform == 'win32' ? 'copy' : 'cp'}"
}

API

Table of Contents

defaultConstants

Predefined constants

Type: Object

Properties

  • env Object environment variables from process.env
  • os Object os module
  • basedir string filesystem configuration start point

expand

Expands expressions in a configuration object

Parameters

  • config Object config source

  • options Object the options

    • options.constants Object additional constants
    • options.default Object default configuration
    • options.functions Object additional functions

Returns Promise resolves to the expanded configuration

Value

Type: Object

Properties

Apply

Type: Function

Parameters

ConfigFunction

Type: Object

Properties

functions

knwon functions

include

Include definition form a file.

Parameters
  • file string file name to be included

Returns string content of the file

replace

Replace string.

Parameters

Returns string replaced content

toUpperCase

Convert string into upper case.

Parameters

Returns string uppercase result

toLowerCase

Convert string into lower case.

Parameters

Returns string lowercase result

split

Split source string on pattern boundaries.

Parameters

Returns Array<string> separated source

encrypt

Encrypt a plaintext value.

Parameters

Returns string encrypted value

decrypt

Decrypt a former encrypted string.

Parameters

Returns string plaintext

spawn

Call executable.

Parameters

Returns string stdout

merge

merge from b into a When a and b are arrays of values only the none duplaces are appendend to a

Parameters

  • a any
  • b any

Returns any merged b into a

install

With npm do:

npm install config-expander

license

BSD-2-Clause

Keywords

FAQs

Last updated on 19 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc