0.3.0 • Published 2 years ago

@carverry/core v0.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@carverry/core img

这个包承接了carverry的命令行、UI和本地应用直接的通信服务、核心插件等相关业务;

项目结构

  • cli:脚手架相关功能;
  • plugins:核心插件,主要处理IO相关的功能;
  • server:包含一个迷你json数据库文件、基于websocket的通信服务和一个纯http服务(给@carverry/app提供相应信息的获取和交互);
  • template:模板文件,用于初始化;
  • typingsTS类型定义;
  • utils:项目通用工具函数;

技术栈

  • ts-nodenode的一个TS运行时,即可以在node环境下直接运行TS
  • farrow:基于TS的轻量化服务框架,语法简单;
  • ws:提供websocket相关服务;
  • commander:定制命令行参数;
  • inquirer:可交互式命令行;
  • ora:命令行loading状态;
  • chalk:彩色,格式化命令行输出;

基于ts-node的纯ESM写法

整个项目基于ESM写法,所以有些地方需要注意一下;

限制

  • 不能直接使用__dirname变量
  • --experimental-loader选项(指定node loader)仍是一个实验选项,在未来版本可能会有改变;