Compile a Git repo full of Handlebars templates
const {scaffold} = require('egad');
scaffold('https://github.com/<your>/<repo>', '/path/to/destination/dir', {
  some: 'data',
  forYour: 'templates'
}, {
  // default options
  overwrite: true,
  offline: false,
  remote: 'origin',
  branch: 'master'
})
  .then(filepaths => {
    console.log(`Wrote files: ${filepaths}`);
  })The entire repository at the given URL will be inspected for Handlebars templates, and those templates will be rendered at the corresponding path under your destination directory. Files not containing Handlebars templates will simply be copied.
If destination is omitted, it will default to the current working directory.
- Repos are stored in the user's XDG cache dir, or whatever XDG cache dir is available, or a temp dir as a last resort.
- If offlineisfalse, the repo will be either cloned or updated (if a working copy already exists).
- If offlineistrueand the repo does not already exist, then you get an rejectedPromise.
- Use environment variable DEBUG=egadto see debug output
- Requires a gitexecutable
- Requires Node.js v6 or greater
- Does not copy binary files
- No "errback"-style interface
- How about writing some tests?
© 2017 Christopher Hiller. Licensed Apache-2.0.