poz
v0.0.4
Published
Programmable scaffolding generator
Downloads
7
Readme
Overview
All along, I always hope to have a intelligent tool which can do some GENERRATE work for me. It should be friendly, so it should be as simple as possible to use. It should be flexible enough, so it should be given the ability to program and extend. At the same time, it should also have some self-management capabilities, so I do not have to consider the complexity of mulitple templates. With these considerations in mind, I made POZ.
POZ is a programmable scaffolding generator, you just need to write a POZ package which can help you quickly implement a scaffolding that reuses project templates like vue-cli.
POZ support package at:
- Github repo POZ package
- NPM package POZ package
- local folder POZ package
POZ Package
A simple POZ package might have the following structure:
|____poz.js
|____README.md
|____template
|____file-01
|____file-02
You have to provide at least the poz.js
file and template
folder, where the template
folder are used to store your project's template files, and the poz.js
will be the entry file you configure and program, a simple poz.js
as follows:
module.exports = function (context, poz) {
return {
prompts() {
return {
name: {
message: "What's your name?",
validate: v => v ? true : 'name cannot be empty'
},
lang: {
message: 'Which language do you usually write?',
type: 'list',
choices: ['js', 'go', 'py'],
default: 'js'
}
}
},
dest() {
return {
target: context.name,
rename: {
'{lang}': context.lang,
}
}
}
}
}
If your template folder is as follows:
my-first-poz
|____poz.js
|____README.md
|____template
|____index.{lang} # contents: 'My name is {{ name }}'
Then run poz ulivz/my-first-poz
:
You can get this demo package at here. Check all the documents, please move DOCS.
Install
Install poz:
# Either globally
yarn global add poz
# Or locally (preferred)
yarn add poz --dev
or, If you use npm
:
npm i poz -g
npm i poz --save-dev
Contributing
- 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
Prior art
poz
wouldn't exist if it wasn't for excellent prior art, poz
is inspired by these projects:
Author
poz © ULIVZ, Released under the MIT License.
Authored and maintained by ULIVZ with help from contributors (list).