The backbone of a scaffolding tool.
- Zero-dependency, very light-weight (940KB) compared to Yeoman (12MB)
- Ultra-simple, this module exists because writing Yeoman generator is hard and time-consuming
yarn add kopy
const kopy = require('kopy')
const config = {
prompts() {
return [
{
type: 'input',
name: 'name',
message: 'what is your name'
}
]
},
actions() {
return [
{
type: 'copy',
files: '**',
cwd: '/path/to/templates',
// When specified, transform the files with `ejs`
data: this.answers
}
]
},
completed() {
console.log('Done!')
}
}
const generator = kopy(config)
generator
.run({
outDir: './out'
})
.catch(kopy.handleError)
Testing:
const kopy = require('kopy')
test('it works', async () => {
const generator = kopy(config)
await generator.emulate()
expect(generator.answers).toEqual({ name: '' })
})
Read more docs on our website.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
kopy © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
Website · GitHub @EGOIST · Twitter @_egoistlily