可能是一款更通用的脚手架, 基于github API v3实现
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
src
.babelrc
.editorconfig
.eslintignore
.eslintrc
.gitignore
.npmignore
.npmrc
LICENSE
README.md
_config.yml
commitlint.config.js
package.json
project-next-cli.gif
yarn.lock

README.md

project next cli

可能更通用的脚手架,基于 Github API v3 实现. 基于团队的 chef-cli 增强。

背景和实现细节

下载

yarn globally add project-next-cli
npm i -g project-next-cli

支持

  • 提供脚手架管理: 下载,初始化,版本选择等功能
  • 基于所有的github项目组
  • 增强:改变输入方式为选择,改进体验
  • 增强:支持swig模板编译
  • 提供interfaces接口,开发者可自定义生成的项目的选项,提供生成成功后的钩子,点击查看实例

关于interfaces

远程仓库增加interfaces接口目录,其中放置 ask.js, hook.js, 方便扩展,若没有则使用内置的ask

  1. ask.js

可以是数组, 可以是一个返回数组的方法;遵循 Inquirer prompt参数

  1. hook.js

目前只提供生成成功后方法也就是after,提供给开发者作扩展用。after函数,可以是async function, 返回Promise实例的函数,普通函数。

How to use

project install
project init
project update
project search
project uninstall <installed template>
project config set <k> <v>
project config remove <k>
project config get <k>
project config help

文件说明

src目录下每个文件对应一个功能,project.js是入口文件,index.js是统一入口,其他*.js文件为对应的命令文件。 utils 为基础库目录, helper 为 模板引擎编译帮助文件目录

├── LICENSE
├── README.md
├── bin
│   └── project
├── package.json
├── project-next-cli.gif
├── src
│   ├── clear.js
│   ├── config.js
│   ├── helper
│   ├── index.js
│   ├── init.js
│   ├── install.js
│   ├── list.js
│   ├── project.js
│   ├── search.js
│   ├── uninstall.js
│   ├── update.js
│   └── utils
└── yarn.lock

Thanks

TODO

  • 支持模板引擎
  • 支持外部interface,可以自定义问答输入,自定义完成后后续操作
  • 测试用例

LICENSE

MIT