node-variable-replacer
The simplest templating engine: replace variables in files
Templating language
Surround variables names by percents.
Supports nested variables
Works with any text file.
the value of var1 variable is: %var1%
the value of the key1 attr of var2 is %var2.key1%
Replace with values from either inline data or json file(s).
Usage
Command line
npm install -g variable-replacer
variable-replacer sourcepath1 [sourcepath2 sourcepath3] destpath --data=datasource.json [--data-myvarname=value]
Node JS
npm install variable-replacer
require('variable-replacer')({
source: 'source/path',
dest: 'dest/path',
dataSource: 'data.json',
inlineData: {
var1 : 'val1',
var2 : {
key1: 'val2'
}
}
})
Options
options.source (Mandatory)
Mandatory
Type: String or array of String
Note: glob pattern supported
Files to process (input files)
options.dest
Mandatory
Type: String
Destination file or directory, where output file will be written.
options.dataSource
Optional
Type: String or array of String
Path(s) of json file(s) containing source of data for variable replacement.
options.inlineData
Optional
Type: Object
Inline source of data for variable replacement
options.variablePattern
Optional
Type: String or RegExp
The Regular Expresssion used to match variables.
The first group must return the variable path.
Defaults to /%([\w._-]+)%/g
options.logLevel
Optional
Default: info
Type: "debug", "info", "warn", "error", "none"
Change logging level
Contributing
Pull requests are welcome
TODO
- Add support for inline input and output
- Add support for reusable replacer
- Improve error handling and logging