一个基于 lerna 的 monorepo 脚手架,也是一个基于 ejs 的 template 管理器
- lerna 的命令众多参数复杂,不利于初学者.
- lerna 无法在 CI 中精准的控制发布依赖.
- Yarn2 的 monorepo 方案在 CI 中要依赖 remote-npm 更加麻烦.
1.安装 CLI 到全局
npm install @calibur/skr-cli -g2.初始化 CLI 依赖
skr init你可以通过
skr init --url=<远程配置文件地址>来使用你自己的模板列表
3.查看模板列表
skr template --list4.创建项目
skr create <project-name> --template=<template-name>查看所有指令
skr -h查看单个指令详情
skr create -h初始化脚手架依赖(yarn 和 lerna),可以通过 --url=<配置文件地址> 来修改默认的配置文件列表;可以通过--pkg=<packageName>来指定要安装依赖的包。
用于升级脚手架,未来将会集成在其它命令中。
创建项目,你可以选择自己创建一个模板,如果执行create的当前目录是 lerna monorepo 的根目录,则会自动把项目添加到 workspace。
本地模板的CURD操作
构建某个 package 的所有依赖,可通过--clean 来删除 node_modules(类似lerna clean),但是boot会根据所选项目依赖的拓扑结构去构建本地依赖,减少了麻烦。
执行某个 package 的script,如:skr run dev --name=<project-name>,这样就不需要跳转到具体的项目目录去执行脚本了。
类似于lerna add,简化了命令无需输入 scope,取而代之的是命令行选项来选择。
类似于lerna version,但只会发布你所选的项目,并根据选项依赖的拓扑结构执行每个依赖的publish命令。
私有发布时,最好的方式是删除lerna.json和package.json里的workspaces,这样项目就是一个multirepo,所有依赖都会走远程npm。
-
skr init --url支持 extends 语法 - 调整各个命令的名称和参数,减少和
leran的差异。 - 支持
create时传入自定义的confirm
License (MIT) 📚