Skip to content

felicienfrancois/node-variable-replacer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

The simplest templating engine: only replace variables in files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published