玩出新花样 - 命令行项目

310 阅读1分钟

项目

@muniz/cli 脚手架

简介

GitHub:github.com/1160007652/…

微信:

该项目是使用react 开发的一款命令行工具,目前处于开发状态当中,欢迎各位爱折腾的小伙伴Fork.

技术体系

Lerna + yarn + ink + react + router(staticRouter) + meow + babel

功能

  • 实现帮助文档功能
  • 实现显示版本功能
  • 实现插件不存在友情提示功能
  • 实现动态注入插件包
  • 实现在插件中获取命令行 args 参数
  • 增加ink-ui 库, 目前增加了如下组件库(TextInput、Button、ButtonGroup、Input), 目前这些组件库是刚需,其余组件库如(Select、Radio、CheckBox、Table、Tab ...)后续会逐步完善
  • 实现第一个插件模版 @muniz/muniz-plugin-create
  • 实现 use-hook-form 校验 TextInput 组件输入数据
  • 实现 Button 组件相关功能(禁用、执行、防抖)
  • 实现 TextInput 组件相关功能(光标、onChange、onBlur、type、defaultValue、value)等功能
  • 实现 TextInput 密码输入功能, 输入时 UI界面上以 * 的形式呈现,且支持复制、粘贴文本

待重构功能、实现功能

  • 「重构」- 通过 React 的 prop-types 参数 生成 帮助文档的 Options, 需要采用 ast 去开发

  • 「实现」- 按照项目路径去动态注入插件命令,需要由主脚手架去动态判断执行(编译期间生成,还说动态变异执行,有待考虑)

  • 「实现」- 插件升级机制

  • 「实现」- 使用帮助文档、插件开发文档、整体设计思路文档尚未开始书写

成果

帮助文档

版本号

执行 add 插件命令

执行 create 插件命令

执行不存在的插件命令