Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

config-expander

Package Overview
Dependencies
Maintainers
0
Versions
141
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

config-expander

Expands expressions in config files

  • 14.0.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
386
decreased by-37.13%
Maintainers
0
Weekly downloads
 
Created
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<Object> resolves to the expanded configuration

Context

Type: Object

Properties

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

Package last updated on 25 Sep 2024

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc