#vue #front-end #workspace #pnpm #build #create-vue-monorepo #fe-cli

bin+lib create-vue-monorepo-rs

一个用于快速构建由 pnpm 管理的 Vue 工作区项目的工具

9 个版本

0.0.10 2023年12月14日
0.0.9 2023年11月4日
0.0.7 2023年7月9日
0.0.6 2023年6月13日
0.0.3 2023年4月25日

#1 in #pnpm

每月下载量 41 次

MIT 许可证

500KB
650 代码行数

create-vue-monorepo-rs

一个用于快速构建由 pnpm 管理的 Vue 工作区项目的工具。

使用 Rust 重构了 create-vue-monorepo CLI 库。原始库是使用 ESM 构建的。

技术栈 版本
rust 1.71.0
dialoguer 0.11.0
tempfile 3.5.0
thiserror 1.0.40
console 0.15.5
termcolor 1.2.0
regex 1.7.3
serde 1.0.159
serde_json 1.0.95
serde_derive 1.0.159
git2 0.18.1

使用

目前仅支持使用 cargo install 方式安装

  • 下载安装
cargo install create-vue-monorepo-rs
  • 使用
# 输入create-vue-monorepo-rs,按回车键即可
create-vue-monorepo-rs

演示

开发指南

  • 下载并安装依赖
git clone https://github.com/laqudee/create-vue-monorepo-rs.git

cd create-vue-monorepo-rs

cargo install

cargo run
  • 构建正式包
cargo build --release
  • 发布到 crates.io
cargo publish

构建过程

  1. 首先将模板 template 放到根目录下,分为 basecodeconfig 这三个子目录,根据选择的配置不同,进行渲染。
  2. 使用 dialoguer 库,生成命令行配置选择
  3. 根据选择的配置,执行 render() 函数进行渲染
  4. 使用 git2 库初始化 git
  5. 渲染完成,输出提示信息
  6. 退出程序

待解决的问题

  1. 使用 Rust 操作文件及目录
  2. 文件渲染
  3. 命令打包的方式及提供几种构建方式
    • 目前支持使用 cargo install create-vue-monorepo-rs 方式安装使用
  4. git2 库没有生效
  5. 生成的 package.json 内容按照字母顺序排序了,不符合正常的 package.json 顺序
  6. 是否转为 npm 命令

使用 Rust 编写的 CLI 工具库

已发布的 Crate 包

原版使用 JavaScript 编写的 CLI 工具库

  • create-vue-monorepo,仿照 create-vue 写了一个生成一个 pnpm monorepo 的工作仓库的简单 CLI

  • create-vue-business,仿照 create-vue 写了一个生成一个 pnpm monorepo 的工作仓内部 packages 目录下业务项目的 CLI

已发布的 NPM 包

依赖

~14–25MB
~454K SLoC