工具类仓库
包含了一些常用的工具,如 @dm/utils 等。
仓库使用说明
-
pnpm 依赖管理
根目录依赖安装使用 pnpm add -w
指定 package 依赖安装使用 pnpm add xx --filter [package包名(package.json.name)]
-
workspace 支持
基于 pnpm workspace 管理,项目依赖安装强制使用 pnpm
workspace 工作空间目录为 packages/,所有子包放置在 packages 下
-
包版本日志管理
pnpm 没有提供 workspace 中包版本管理的功能,因此借助 changesets 管理包的版本和 changelog
-
lint / 代码风格
1、基于 prettier eslint , 在根目录.vscode settings.json 默认开启 vscode formatOnSave
2、husky 支持,提交 commit 时执行 lint-staged
-
typescript
子包模块中 ts 配置建议继承根目录中 tsconfig.base.json
包发布
基于 changeset, 在指定作用域的 package/* 完成开发,未 commit 之前,执行 changeset 时会自动罗列出发生变更的包,选择后再选择发布更新的版本同时在 Summary 中汇总输入当前版本的变更内容,再执行发布。
发包主要可以分为两种场景
1、发布正式 release 版本
正常信心满满的这种发布,只要发布,任何人 npm install 时,未锁定版本的,就会默认安装最新版本。
step1:
如果当前处于 prerelease 模式,先执行 pnpm run premode:exit 退出该模式
step2:
执行 pnpm run release
2、发布 prerelease beta 版本
对发布的内容需要多方验证后再发布 release 场景,先会打一个beta tag,发布的时候会以 1.0.2-beta.1 版本形式发布,不会直接安装到 beta 版内容.
step1:
执行 pnpm run premode 进入 prerelease 模式
step2:
执行 pnpm run release