poz

0.0.4 • Public • Published


NPM version NPM downloads donate

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. 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).

v2js.com · GitHub @ULIVZ

Readme

Keywords

none

Package Sidebar

Install

npm i poz

Weekly Downloads

0

Version

0.0.4

License

MIT

Unpacked Size

46.9 kB

Total Files

5

Last publish

Collaborators

  • toxichl