https://github.com/ethanz-code/ethan-utils
网络请求,状态管理,支付网关等等企业项目开发过程中常用工具包
https://github.com/ethanz-code/ethan-utils
Last synced: about 1 month ago
JSON representation
网络请求,状态管理,支付网关等等企业项目开发过程中常用工具包
- Host: GitHub
- URL: https://github.com/ethanz-code/ethan-utils
- Owner: ethanz-code
- License: mit
- Created: 2025-06-25T11:02:04.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-01-23T03:19:38.000Z (2 months ago)
- Last Synced: 2026-02-08T01:59:57.854Z (about 2 months ago)
- Language: TypeScript
- Homepage:
- Size: 209 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ethan-utils
`ethan-utils` 是一个基于 pnpm 的 monorepo 工具库集合,旨在为前端/Node.js 项目提供高效、易用的工具包。所有子包均托管于 npm,可在 [ethan-utils npm 包列表](https://www.npmjs.com/settings/ethan-utils/packages) 查看。
## 仓库结构与子包说明
本仓库包含多个独立的工具包,涵盖状态管理、请求库、命令行工具等,便于统一管理和复用。具体包信息请访问上述链接。
**模板包说明:**
仓库内提供了一个基础模板包 [`template-pkg`](./template-pkg),适用于快速创建新工具包。模板包内包含 TypeScript 配置、基础构建脚本(Rolldown)、最小化包结构,适合直接复制后进行二次开发。
## 使用方式
各子包均可独立安装和使用,具体用法请参考各自子包下的 README.md。
**如何基于模板包创建新包:**
1. 复制 `template-pkg` 文件夹并重命名为你的新包名(如 `my-utils`)。
2. 修改 `package.json`、`README.md`、`index.ts` 等文件内容,替换为你的包信息和实现。
3. 构建之前包中用到的外部依赖需要在 `rolldown` 配置文件的 `external` 项写明,传入字符串即可。
4. `generate-types` 和 `build` 脚本分别用于生成类型文件,Maps,打包代码。
5. 按照项目规范开发并构建发布。
**测试说明:**
- 本仓库已集成 [vitest](https://vitest.dev/) 作为单元测试工具,推荐在实现模块功能后为其编写测试用例。
- 常用测试相关 script:
- `pnpm test`:运行所有测试用例。
- `pnpm test-pkg-axios`:仅测试 packages/axios 包。
- `pnpm coverage`:生成测试覆盖率报告。
## 依赖与开发
- 包管理工具:pnpm
- 代码规范:ESLint、Prettier、Commitlint
- 构建工具:Rolldown、tsc
- 测试工具:Vitest
- 其他依赖详见 package.json
## 贡献
欢迎 issue 和 PR,详细贡献指南请见 [CONTRIBUTING.md](./CONTRIBUTING.md)。