Neat Paraskavedekatriaphobia's Meaning
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

generify

3.0.1 • Public • Published

generify  Build Status

A reusable project generator that copies file recursively, while replacing keywords from passed data.

Example

'use strict'
 
const generify = require('generify')
const source = './template'
const dest = '/tmp/generify-test'
const data = { hello: 'hello world' }
 
// without notification
generify(source, dest, data, function (err) {
  if (err) {
    console.log(err)
  } else {
    console.log('ok!')
  }
})
 
// with notification
generify(source, dest, data, onData, done)
 
function onData (file) {
  console.log('writing file')
}
 
function done (err) {
  if (err) {
    console.log(err)
  } else {
    console.log('ok!')
  }
}

This will replace all the __hello__ patterns found in all files with the 'hello world' string.

__ handling

If a file begins with __ that will be automatically converted into a .. This is useful for generating .gitignore files.

If the supplied data has a key copyAsNamed, with an array of names, then the filenames in that list will not be processed through this rule. Each file name in the list should not include a path, e.g. ['__do-not-replace-underscores.js'].

Executable

generify also offers an executable that can be called with:

Usage: generify template destination [json file]

Where the json file contains the data to be replaced.

Acknowledgements

This project was kindly sponsored by nearForm.

License

MIT

install

npm i generify

Downloadsweekly downloads

706

version

3.0.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar