该项目基于 ocr 源码实现工程化打包样例。主要涉及以下技术点:
- gulp 流水线
- rollup ts打包
- eslint 代码格式维护
- typescript
- api-extractor API提取;生成d.ts文件
- jest(暂定,可以引入其他e2e) 测试
- conventional-changelog-cli 生成changelog
- husky 代码上传维护
- yalc 本地打包测试
- pnpm 支持monorepo
- 使用 rollup 一次性打包生成 commonjs 和 es 规范的代码;同时具有可扩展性;目前由于依赖的cv库有些问题;就没有配置umd打包。
- 打包时基于 api-extractor 实现 d.ts 文件生成,实现支持 ts 引入生成我们的包
- 基于 jest 支持测试并显示测试相关覆盖率等
- 基于 ts 和 eslint 维护代码风格,保证代码更好开发
- 基于 conventional-changelog-cli 实现自定义关键词生成对应生成changelog
- 基于 husky 实现代码上传前代码格式验证以及commit格式校验
- 基于 yalc 实现本地打包开发测试
- publish 前可以自动进行代码风格校验和修复,代码测试,代码打包,changelog生成
- pnpm支持monorepo
package管理全部使用pnpm;同时需要全局安装yalc。yalc参考资料