此仓库需要有 rushjs 基础
安装依赖
npm install -g @microsoft/rush
pnpm install
npm run bootstrap
在 packages/template
下处理你的模板仓库,基本目录结构为:
-- packages
-- [template1Name]
-- template
-- realRepo
-- package.json
-- [template2Name]
-- template
-- realRepo
-- package.json
接着做出以下操作:
- 模板仓库的命名必须以
@vbs/
开头,否则会造成后续脚手架不正常工作,注意是模板仓库最外层目录 - 参考约定规范修改模板的
package.json
辅助ejs
模板正常渲染 - 为增强维护性,请为每个模板仓库编写
README
- 模板的
README
标题请编写为# <%= projectName %>
- 测试项目,在根目录下
package.json
编写增加启动dev script
,参考现有格式编写即可 - 编写根目录下的
rush.json
,参考其他模板编写方式即可 - 当同步多个仓库时,请手动执行
npm run bump
进行同步,!!! 这一步必须已经完成Code Review
更多细节请参考
packages/react-vitest-starter
-
项目模板存放目录:
packages/
-
命名规则:参考目录下的
react-vitest-starter
- 目录命名:
[packageName]-starter
- npmName 命名:
@vbs/[packageName]-starter
- 目录命名:
-
模板仓库需要按照以下目录结构为标准,主目录需要放入
templates
文件夹中,根目录下的package.json
指定当前发布的npm
包信息,接着每个templates
下的模板都需要统一配置部分package.json
,例如packages/react-vitest-starter/templates/package.json
,因为脚手架需要将这部分经过ejs
模板渲染动态生成 -
代码模板仓库发布之后应检查系统模板是否和 npm 上模板是否相同,不相同请手动进行同步,同步操作:
npm run bump
!注意: 如果你的项目中存在 ejs 模板渲染语句(例如 Vue2,Vue3 的 public文件夹,可以配置
ignore: [**/public/**]
),请务必在发布模板前,配置模板ignore
目录。否则模板在安装过程中会报错
{
"name": "<%= projectName %>",
"version":"<%= projectVersion %>",
"description": "<% projectDescription %>",
...
}
每个
package
下都需要配置build
命令,否则rush
无法正常工作,当然这并不会影响模板任何内容以及script
rush build
git add .
git commit -m "chore: publish"
rush change
rush publish --apply
# 正式发布npm
rush publish -p --include-all -n <替换成你的 npm TOKEN> && npm run bump
- 如果运行
npm run bootstrap
安装很慢,建议配置模板的pnpm-workspace.yaml
,否则将不会安装对应依赖。
名称 | 进度(🚧 ✅ 🆕❌ ) |
---|---|
Vue3 + Vitest + UnoCSS + Vite3 模板 | ✅ |
React + Vitest + UnoCSS + Vite3 模板 | ✅ |
Vue3 + Vitest + Electron 模板 | ✅ |
Vue3 + Vitest + Vite3 h5 模板 | ✅ |
Vue3 + Nuxt3 模板 | ✅ |
Taro3 + React 模板 | ✅ |
React + TS + Umi + AndP + ProComponents 中后台 | ✅ |
React + TS + Umi + AndP + ProComponents 简易版中后台 | ✅ |
React + TS 纯净(PC) | 🚧 |
Vue3 + TS + ElementPlus + 中后台 | ✅ |
Vue3 + TS 纯净 | 🚧 |
Vue3组件库工程化模板 | 🚧 |
React组件库工程化模板 | 🚧 |
H5 :React + AntM + Typescript | 🚧 |
支付宝小程序 + antm | 🚧 |
支付宝小程序组件库工程化模板 | 🚧 |
Node + TS + unbuild + Vitest 基础 Node模板 | ✅ |
Node + unbuild + Vitest + TS 基础 Cli 开发模板 | ✅ |
Node + Koa + TS + faker mock 插件 | 🚧 |
Vscode Plugin + TS | 🚧 |
Monorepo + CLI | 🚧 |
Monorepo React | 🚧 |
VitePress 文档模板 | 🚧 |