Skip to content

deot/dev

Repository files navigation

build status

deot/dev

用于第三方仓库统一环境

所有的相关的开发环境,统一更新,升级时如果有多仓库,仅更新此仓库即可,无需同时更新太多依赖性,以追求最新且稳定的开发环境

需要依赖当前的tsconfig.json, .eslintrc.cjs等,这些配置项可以用extends导出 如果执行dev, test, build需要扩展,可以配置*.config.ts来进行扩展 具体可以参考以下demo

目前基于@deot/dev的库

Monorepo

包名 版本 说明
cli npm 开发指令集devbuildtestlinkadd
test npm 测试工具
shared npm 公共方法
dever npm 开发服务集成
adder npm 添加依赖/包集成
linker npm 软链接集成
builder npm 打包集成(ts/js/scss/css)
tester npm 测试集成
releaser npm 发布集成
eslint npm ESLint配置项
stylelint npm Stylelint配置项
commitlint npm 用于验证git提交, --edit
deps npm 额外依赖提取
updater npm 更新依赖包版本
vue npm Vue相关集成
react npm React相关集成
index npm 当前所有包的合集

Contributing

这是一个 monorepo 仓库 ,使用 pnpm 管理

安装环境

$ npm run init 

$ 
$ pnpm install

添加依赖或添加新的包

$ npm run add

关联

$ npm run link

测试

$ npm run test

# 或者 直接添加参数
$ npm run test -- --package-name '*' --watch

开发

$ npm run dev

# 或者 直接添加参数
$ npm run dev -- --package-name '*'

打包

$ npm run build

# 或者 直接添加参数
$ npm run build -- --package-name '*'

代码检查

$ npm run lint

发布/自动生成 ChangeLog

$ npm run release
可选参数
参数 备注
--no-dry-run 默认dry run不输出任何文件
--no-tag 默认输出tag
--no-publish 默认发布到npm
--no-commit 默认提交到git commit
--no-push 默认执行git push
--force-update-package 即时没找到commit也会强制更新, 如@xxx/xxx,@xxx/xxx**,不输入会弹出确认框`
--skip-update-package 跳过要更新的包,如@xxx/xxx,@xxx/xxx**,不输入会弹出确认框
--custom-version 指定更新版本号,如x.x.x,不输入会弹出输入框
--patch,--major,--minor 自动更新版本号的格式
--keep-last-tag 清理tags,仅保留最后一个版本的tag
Commit收录的格式
  • break change
  • feat
  • fix
  • style
  • perf
  • types
  • refactor
  • chore

自动增加PRissue的地址, commit内含Breaking Change!:会自动把版本改为major

refactor(index): remove deprecated \n BREAKING CHANGE: any

fix(index): ci tag (#2)

fix(shared): error (close #1)
Commit多仓库更新
style(index,shared): warning
style(*): warning
Commit无影响的格式
fix: invaild commit

关联

CONTRIBUTING

LICENSE (MIT)