Skip to content

ijs/project-next-cli

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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