project-template

1.1.1 • Public • Published

project-template

npm version

Generate a project based on a directory of template files and corresponding template values.

Requirements

  • Node JS v6+

Install

yarn add project-template

Example

yarn run example

See example/index.js

Usage

const projectTemplate = require('project-template');
 
projectTemplate({
  templatePath: '/path/to/templates',
  buildPath: '/path/to/build',
  params: {
    'path/to/file.txt': {
      firstParam: 'First param value',
      secondParam: 'Second param value',
    },
    'path/to/different/file.txt': {
      anotherParam: 'Another param value',
    },
  },
})
.then(files => console.log('Done', files))
.catch(err => console.error('Error', err));

Things to keep in mind

  • Template files are expected to use ect syntax
  • Directory structure of files in templatePath is maintained in buildPath
  • All files in templatePath with fileExtension must be included in params
  • Files in templatePath without fileExtension are just copied over to buildPath
  • You cannot have two files with the same file path where one has fileExtension and the other doesn't

API

projectTemplate(options) -> Promise<Array<String>>

options

Key Type Required Default Notes
templatePath String Yes Directory path containing template files
buildPath String Yes Directory path to write generated files to
params Object No {} Keys are relative paths of template files (with fileExtension stripped). Values are objects of template variables
ignoreFiles Array<String> No [] File paths to ignore (exclude the fileExtension for template files). Useful for ect partials
fileExtension String No ect File extension of template files

Result

The promise is resolved with an array of file paths of generated files, relative to the buildPath directory.

Package Sidebar

Install

npm i project-template

Weekly Downloads

9

Version

1.1.1

License

MIT

Last publish

Collaborators

  • aiham