-
Notifications
You must be signed in to change notification settings - Fork 16
肥超 edited this page May 9, 2021
·
3 revisions
工具依赖: 较新版本的 yarn 与 lerna
- 安装依赖 yarn
- 启动 storybook 本地开发环境
yarn start:story
yarn test
- 组件 DOM 结构 snapshot 测试
- 函数的单元测试
开发阶段下,使用 tsconfig.json paths,配合 webpack TsconfigPathsPlugin 来实现源码的直接引用。
打包阶段下,基于 lerna/yarn 内部包的 link,按照拓扑顺序依次执行 build 脚本。
{
// 有测试的话,就加上;没有就不加了
"test": "jest",
// 版本号变更前 确保测试通过 & 构建通过
"preversion": "yarn test && yarn build",
// 发布前确保构建产物存在
"prepublishOnly": "yarn build",
// 移除 package 中的构建产物
"clean": "rimraf dist/",
// 生成所有的构建产物,所有构建产物统一放在 dist/ 目录下
"build": "yarn build:esm",
// 生成 esm 格式的构建产物,放在 dist/esm/ 目录下
"build:esm": "tsc --project tsconfig.production.json --outDir dist/esm/ --module ES2015",
// 生成 cjs 格式的构建产物,放在 dist/cjs/ 目录下
"build:cjs": "tsc --project tsconfig.production.json --outDir dist/cjs/ --module CommonJS"
}
# 创建一个新的版本
lerna version {version} --no-private --conventional-commits --no-push
# 发布一个新的版本
lerna publish from-git
GIT_USER=shinima yarn workspace doc deploy