An open API service indexing awesome lists of open source software.

https://github.com/ethanz-code/ethan-utils

网络请求,状态管理,支付网关等等企业项目开发过程中常用工具包
https://github.com/ethanz-code/ethan-utils

Last synced: about 1 month ago
JSON representation

网络请求,状态管理,支付网关等等企业项目开发过程中常用工具包

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)。