config-expander v14.0.9
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
envObject environment variables from process.envosObject os modulebasedirstring filesystem configuration start point
expand
Expands expressions in a configuration object
Parameters
Returns Promise[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object) resolves to the expanded configuration
Context
Type: Object
Properties
Value
Type: Object
Properties
Apply
Type: Function
Parameters
ConfigFunction
Type: Object
Properties
argumentsArray[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)returnsstringapplyApply
functions
knwon functions
include
Include definition form a file.
Parameters
filestring file name to be included
Returns string content of the file
replace
Replace string.
Parameters
sourcestring input value
Returns string replaced content
toUpperCase
Convert string into upper case.
Parameters
sourcestring input value
Returns string uppercase result
toLowerCase
Convert string into lower case.
Parameters
sourcestring input value
Returns string lowercase result
split
Split source string on pattern boundaries.
Parameters
Returns Array[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/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
executablestring pathargumentsArray[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)optionsObject?
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
aanybany
Returns any merged b into a
install
With npm do:
npm install config-expanderlicense
BSD-2-Clause
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago