dynapm 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/CLAUDE.md +72 -0
- package/CONTRIBUTING.md +340 -0
- package/DEV.md +19 -15
- package/LICENSE +14 -14
- package/README.md +603 -42
- package/README_zh.md +592 -43
- package/dist/src/config/loader.d.ts +7 -0
- package/dist/src/config/types.d.ts +66 -0
- package/dist/src/core/command-executor.d.ts +38 -0
- package/dist/src/core/gateway.d.ts +55 -0
- package/dist/src/core/health-checker.d.ts +34 -0
- package/dist/src/core/service-manager.d.ts +28 -0
- package/dist/src/index.js +3293 -109
- package/package.json +14 -8
- package/dist/src/config.d.ts +0 -1
- package/dist/src/manage/configDef.d.ts +0 -20
- package/dist/src/manage/manageType.d.ts +0 -1
- package/dist/src/manage/pm2.d.ts +0 -19
- package/dist/src/manage/runCheck.d.ts +0 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
|
|
3
|
+
所有重要的项目变更都将记录在此文件中。
|
|
4
|
+
|
|
5
|
+
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
6
|
+
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
7
|
+
|
|
8
|
+
## [1.0.5] - 2025-02-10
|
|
9
|
+
|
|
10
|
+
### ✨ 新增
|
|
11
|
+
- 添加 CHANGELOG.md 版本更新日志
|
|
12
|
+
- GitHub Release 自动从 CHANGELOG 提取发布说明
|
|
13
|
+
- 优化 CI 发布流程,移除测试步骤
|
|
14
|
+
|
|
15
|
+
### 📚 文档
|
|
16
|
+
- 在 README 中添加完整的发布流程说明
|
|
17
|
+
- 新增版本号规范说明
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## [1.0.4] - 2025-02-10
|
|
22
|
+
|
|
23
|
+
### 🔧 修复
|
|
24
|
+
- 修复服务启动超时后状态卡死问题
|
|
25
|
+
- 添加 WebSocket 背压恢复机制,防止连接永久阻塞
|
|
26
|
+
- 修复服务停止时未更新状态的问题
|
|
27
|
+
- 实现启动锁失败后自动重试机制
|
|
28
|
+
- 清理请求头 CRLF 字符,防止 HTTP 响应分割攻击
|
|
29
|
+
|
|
30
|
+
### 🎯 改进
|
|
31
|
+
- 移除所有 `any` 类型,提升类型安全性
|
|
32
|
+
- 提取魔法数字为 `GatewayConstants` 常量
|
|
33
|
+
- 修复 `cork()` 返回值处理逻辑
|
|
34
|
+
- 优化 `mkdirSync` 调用,移除不必要的 try-catch
|
|
35
|
+
|
|
36
|
+
### ✨ 新增
|
|
37
|
+
- 添加 GitHub Actions 自动发布到 npm 流程
|
|
38
|
+
- 配置 npm OIDC 可信发布(无需 2FA)
|
|
39
|
+
- 添加完整的发布说明文档
|
|
40
|
+
|
|
41
|
+
### 📚 文档
|
|
42
|
+
- 新增 `docs/NPM_OIDC_SETUP.md` 配置指南
|
|
43
|
+
- 在 README 中添加发布新版本章节
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## [1.0.3] - 2025-02-07
|
|
48
|
+
|
|
49
|
+
### ✨ 新增
|
|
50
|
+
- 添加活动连接计数功能
|
|
51
|
+
- 实现 SSE (Server-Sent Events) 流式代理支持
|
|
52
|
+
- 实现 WebSocket 双向通信代理支持
|
|
53
|
+
- 添加长连接阻止服务自动停止机制
|
|
54
|
+
|
|
55
|
+
### 🔧 改进
|
|
56
|
+
- 优化服务启动和停止流程
|
|
57
|
+
- 改进健康检查机制
|
|
58
|
+
- 优化日志记录格式
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## [1.0.2] - 2025-02-06
|
|
63
|
+
|
|
64
|
+
### 🔧 修复
|
|
65
|
+
- 修复流式代理的 backpressure 处理
|
|
66
|
+
- 优化 TCP 端口检查性能
|
|
67
|
+
|
|
68
|
+
### 🎯 改进
|
|
69
|
+
- 使用 uWebSockets.js 替换 Express(性能提升 10 倍以上)
|
|
70
|
+
- 实现真正的流式转发,零缓冲
|
|
71
|
+
- 添加 Pino 结构化异步日志
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## [1.0.1] - 2025-02-05
|
|
76
|
+
|
|
77
|
+
### 🔧 修复
|
|
78
|
+
- 修复服务启动超时检测
|
|
79
|
+
- 优化闲置检查逻辑
|
|
80
|
+
|
|
81
|
+
### 🎯 改进
|
|
82
|
+
- 改进错误处理和日志输出
|
|
83
|
+
- 优化配置加载机制
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## [1.0.0] - 2025-02-04
|
|
88
|
+
|
|
89
|
+
### ✨ 首次发布
|
|
90
|
+
- 实现按需启动功能
|
|
91
|
+
- 实现流式反向代理
|
|
92
|
+
- 实现闲置自动回收
|
|
93
|
+
- 支持多种健康检查方式(TCP、HTTP、命令)
|
|
94
|
+
- 支持通用 bash 命令管理服务(PM2、Docker、systemd 等)
|
|
95
|
+
- 添加完整的自动化测试套件
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 版本号说明
|
|
100
|
+
|
|
101
|
+
- **Major** (主版本): 破坏性变更
|
|
102
|
+
- **Minor** (次版本): 新功能,向后兼容
|
|
103
|
+
- **Patch** (修订版): Bug 修复
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 链接
|
|
108
|
+
|
|
109
|
+
- [GitHub Releases](https://github.com/2234839/DynaPM/releases)
|
|
110
|
+
- [npm 包版本](https://www.npmjs.com/package/dynapm)
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# DynaPM - Claude Code 项目配置
|
|
2
|
+
|
|
3
|
+
DynaPM 是一个智能网关,通过按需启动和闲置自动停止的方式,帮助用户在资源受限的服务器上管理数百个低频访问的服务。
|
|
4
|
+
|
|
5
|
+
**核心特性:**
|
|
6
|
+
- ⚡ 极速冷启动(开销仅 25ms)
|
|
7
|
+
- 🚀 流式代理(1-2ms 延迟)
|
|
8
|
+
- 🌐 支持 SSE 和 WebSocket
|
|
9
|
+
- 🎛️ 通用服务管理(可替代PM2、Docker、systemd 等)
|
|
10
|
+
- 🔄 闲置自动回收
|
|
11
|
+
|
|
12
|
+
## 技术栈
|
|
13
|
+
|
|
14
|
+
- **运行时**: Node.js 22+
|
|
15
|
+
- **Web 框架**: uWebSockets.js(性能比 Fastify 快 10 倍以上)
|
|
16
|
+
- **日志**: Pino(异步结构化日志)
|
|
17
|
+
- **配置**: c12(支持 TypeScript)
|
|
18
|
+
- **构建**: rslib
|
|
19
|
+
- **包管理**: pnpm
|
|
20
|
+
- **测试**: tsx + 自定义测试套件
|
|
21
|
+
|
|
22
|
+
## 项目结构
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
DynaPM/
|
|
26
|
+
├── src/
|
|
27
|
+
│ ├── core/
|
|
28
|
+
│ │ ├── gateway.ts # 核心网关实现(HTTP/WebSocket代理)
|
|
29
|
+
│ │ ├── service-manager.ts # 服务启动/停止管理
|
|
30
|
+
│ │ ├── health-checker.ts # 健康检查(TCP/HTTP/命令)
|
|
31
|
+
│ │ └── command-executor.ts # Bash 命令执行器
|
|
32
|
+
│ ├── config/
|
|
33
|
+
│ │ ├── types.ts # TypeScript 类型定义
|
|
34
|
+
│ │ └── loader.ts # 配置加载器
|
|
35
|
+
│ └── index.ts # 主入口
|
|
36
|
+
├── test/
|
|
37
|
+
│ ├── test-all.ts # 完整测试套件(12个测试)
|
|
38
|
+
│ ├── server-*.ts # 测试服务器
|
|
39
|
+
│ └── benchmark.js # 性能测试
|
|
40
|
+
├── docs/
|
|
41
|
+
│ └── NPM_OIDC_SETUP.md # npm OIDC 发布配置指南
|
|
42
|
+
├── .github/workflows/
|
|
43
|
+
│ └── release.yml # 自动发布到 npm
|
|
44
|
+
├── CHANGELOG.md # 版本更新日志
|
|
45
|
+
├── README.md # 英文文档
|
|
46
|
+
├── README_zh.md # 中文文档
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 开发指南
|
|
51
|
+
|
|
52
|
+
### 快速开始
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 安装依赖
|
|
56
|
+
pnpm install
|
|
57
|
+
|
|
58
|
+
# 运行测试
|
|
59
|
+
pnpm test
|
|
60
|
+
|
|
61
|
+
# 构建项目
|
|
62
|
+
pnpm build
|
|
63
|
+
|
|
64
|
+
# 性能测试
|
|
65
|
+
pnpm benchmark
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 发布新版本
|
|
69
|
+
|
|
70
|
+
**⚠️ 重要:发布前必须更新 CHANGELOG.md!**
|
|
71
|
+
GitHub Actions 自动发布到 npm
|
|
72
|
+
详见:[CONTRIBUTING.md](./CONTRIBUTING.md)
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
# 贡献指南
|
|
2
|
+
|
|
3
|
+
感谢你有兴趣为 DynaPM 做出贡献!请阅读以下指南了解开发流程。
|
|
4
|
+
|
|
5
|
+
## 📋 开发流程
|
|
6
|
+
|
|
7
|
+
### 1. Fork 并克隆项目
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Fork 项目到你的 GitHub 账号
|
|
11
|
+
# 然后克隆你的 fork
|
|
12
|
+
git clone https://github.com/YOUR_USERNAME/DynaPM.git
|
|
13
|
+
cd DynaPM
|
|
14
|
+
|
|
15
|
+
# 添加上游仓库
|
|
16
|
+
git remote add upstream https://github.com/2234839/DynaPM.git
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 2. 创建特性分支
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
git checkout -b feature/your-feature-name
|
|
23
|
+
# 或
|
|
24
|
+
git checkout -b fix/your-bug-fix
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 3. 开发和测试
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 安装依赖
|
|
31
|
+
pnpm install
|
|
32
|
+
|
|
33
|
+
# 运行测试
|
|
34
|
+
pnpm test
|
|
35
|
+
|
|
36
|
+
# 构建项目
|
|
37
|
+
pnpm build
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 4. 提交更改
|
|
41
|
+
|
|
42
|
+
遵循以下提交信息格式:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
<type>: <description>
|
|
46
|
+
|
|
47
|
+
[optional body]
|
|
48
|
+
|
|
49
|
+
[optional footer]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**类型(type):**
|
|
53
|
+
- `feat`: 新功能
|
|
54
|
+
- `fix`: Bug 修复
|
|
55
|
+
- `docs`: 文档更新
|
|
56
|
+
- `style`: 代码格式(不影响功能)
|
|
57
|
+
- `refactor`: 重构
|
|
58
|
+
- `perf`: 性能优化
|
|
59
|
+
- `test`: 测试相关
|
|
60
|
+
- `chore`: 构建/工具相关
|
|
61
|
+
|
|
62
|
+
**示例:**
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
git commit -m "feat: 添加服务状态缓存功能
|
|
66
|
+
|
|
67
|
+
- 使用内存缓存避免频繁执行 bash 命令
|
|
68
|
+
- 优化服务状态检查性能
|
|
69
|
+
|
|
70
|
+
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 5. 推送到你的 Fork
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
git push origin feature/your-feature-name
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 6. 创建 Pull Request
|
|
80
|
+
|
|
81
|
+
访问 GitHub 创建 PR:
|
|
82
|
+
```
|
|
83
|
+
https://github.com/2234839/DynaPM/compare/main...YOUR_USERNAME:feature/your-feature-name
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 📦 发布版本流程
|
|
89
|
+
|
|
90
|
+
**⚠️ 重要:发布版本前必须更新 CHANGELOG.md!**
|
|
91
|
+
|
|
92
|
+
### 发布步骤
|
|
93
|
+
|
|
94
|
+
#### 1. 更新 CHANGELOG.md
|
|
95
|
+
|
|
96
|
+
在 `CHANGELOG.md` 文件**顶部**添加新版本条目:
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
## [1.0.6] - 2025-02-XX
|
|
100
|
+
|
|
101
|
+
### ✨ 新增
|
|
102
|
+
- 新功能描述
|
|
103
|
+
|
|
104
|
+
### 🔧 修复
|
|
105
|
+
- Bug 修复描述
|
|
106
|
+
|
|
107
|
+
### 🎯 改进
|
|
108
|
+
- 改进内容描述
|
|
109
|
+
|
|
110
|
+
### 📚 文档
|
|
111
|
+
- 文档更新内容
|
|
112
|
+
|
|
113
|
+
### ⚠️ 破坏性变更
|
|
114
|
+
- 如有不兼容变更,在此说明
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## [1.0.5] - 2025-02-10
|
|
119
|
+
...(之前的内容)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
#### 2. 提交 CHANGELOG
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
git add CHANGELOG.md
|
|
126
|
+
git commit -m "chore: 添加 v1.0.6 版本更新日志"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### 3. 更新版本号
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# patch 版本(修复 bug):1.0.5 -> 1.0.6
|
|
133
|
+
npm version patch
|
|
134
|
+
|
|
135
|
+
# minor 版本(新功能):1.0.5 -> 1.1.0
|
|
136
|
+
npm version minor
|
|
137
|
+
|
|
138
|
+
# major 版本(破坏性变更):1.0.5 -> 2.0.0
|
|
139
|
+
npm version major
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### 4. 推送标签触发自动发布
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# 推送主分支和标签
|
|
146
|
+
git push origin main --tags
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### 5. 自动发布流程
|
|
150
|
+
|
|
151
|
+
推送标签后,GitHub Actions 会自动:
|
|
152
|
+
|
|
153
|
+
1. ✅ **构建项目** - 编译 TypeScript
|
|
154
|
+
2. ✅ **验证打包** - 检查输出文件
|
|
155
|
+
3. ✅ **发布到 npm** - 使用 OIDC 无需令牌
|
|
156
|
+
4. ✅ **创建 GitHub Release** - 自动从 CHANGELOG 提取说明
|
|
157
|
+
|
|
158
|
+
#### 6. 验证发布
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# 查看最新版本
|
|
162
|
+
npm view dynapm version
|
|
163
|
+
|
|
164
|
+
# 查看 Release 说明
|
|
165
|
+
# 访问:https://github.com/2234839/DynaPM/releases
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 🎯 代码规范
|
|
171
|
+
|
|
172
|
+
### TypeScript 规范
|
|
173
|
+
|
|
174
|
+
- **禁止使用 `as` 改变类型**(尤其是 `as any`)
|
|
175
|
+
- 使用 JSDoc 注释:
|
|
176
|
+
```typescript
|
|
177
|
+
/** 服务配置 */
|
|
178
|
+
interface ServiceConfig {
|
|
179
|
+
/** 服务名称 */
|
|
180
|
+
name: string;
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
- 使用 `for of` 替代 `for i++`
|
|
184
|
+
|
|
185
|
+
### 错误处理
|
|
186
|
+
|
|
187
|
+
- 开发阶段使用 `let it crash` 原则
|
|
188
|
+
- 不要过度使用 `try-catch`,除非功能设计需要
|
|
189
|
+
- 只在系统边界(用户输入、外部 API)进行验证
|
|
190
|
+
|
|
191
|
+
### 注释规范
|
|
192
|
+
|
|
193
|
+
- 使用 `/** */` 形式的 JSDoc 注释
|
|
194
|
+
- 注释放在变量/函数/属性的上方
|
|
195
|
+
- 示例:
|
|
196
|
+
```typescript
|
|
197
|
+
/** 检查服务是否运行中 */
|
|
198
|
+
async isRunning(service: ServiceConfig): Promise<boolean> {
|
|
199
|
+
// ...
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 🧪 测试指南
|
|
206
|
+
|
|
207
|
+
### 运行测试
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# 运行完整测试套件
|
|
211
|
+
pnpm test
|
|
212
|
+
|
|
213
|
+
# 监听模式(开发时)
|
|
214
|
+
pnpm test:watch
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### 测试覆盖
|
|
218
|
+
|
|
219
|
+
当前测试覆盖 12 个核心功能:
|
|
220
|
+
1. 按需启动
|
|
221
|
+
2. 热启动(服务已运行)
|
|
222
|
+
3. 自动停止
|
|
223
|
+
4. 404 错误处理
|
|
224
|
+
5. 多服务并发
|
|
225
|
+
6. 不同健康检查
|
|
226
|
+
7. 路径代理
|
|
227
|
+
8. 连续请求更新闲置时间
|
|
228
|
+
9. POST 请求
|
|
229
|
+
10. SSE 流式传输
|
|
230
|
+
11. WebSocket 连接
|
|
231
|
+
12. 长连接代理
|
|
232
|
+
|
|
233
|
+
### 性能测试
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# 运行性能测试
|
|
237
|
+
pnpm benchmark
|
|
238
|
+
|
|
239
|
+
# 多服务性能测试
|
|
240
|
+
pnpm benchmark:multi
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 📝 CHANGELOG 格式规范
|
|
246
|
+
|
|
247
|
+
### 版本标题格式
|
|
248
|
+
|
|
249
|
+
```markdown
|
|
250
|
+
## [1.0.6] - 2025-02-10
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 变更类型
|
|
254
|
+
|
|
255
|
+
使用以下分类(按顺序):
|
|
256
|
+
|
|
257
|
+
- **✨ 新增** (Added): 新功能
|
|
258
|
+
- **🔧 修复** (Fixed): Bug 修复
|
|
259
|
+
- **🎯 改进** (Changed): 现有功能的改进
|
|
260
|
+
- **📚 文档** (Docs): 文档更新
|
|
261
|
+
- **⚠️ 破坏性变更** (Breaking): 不兼容的变更
|
|
262
|
+
- **⚡ 性能** (Performance): 性能优化
|
|
263
|
+
- **🔒 安全** (Security): 安全修复
|
|
264
|
+
|
|
265
|
+
### 格式要求
|
|
266
|
+
|
|
267
|
+
- 每个变更前使用对应的 emoji 图标
|
|
268
|
+
- 使用列表格式(`-` 开头)
|
|
269
|
+
- 保持简洁明了,重点突出
|
|
270
|
+
|
|
271
|
+
### 示例
|
|
272
|
+
|
|
273
|
+
```markdown
|
|
274
|
+
## [1.0.6] - 2025-02-10
|
|
275
|
+
|
|
276
|
+
### ✨ 新增
|
|
277
|
+
- 添加服务状态缓存功能
|
|
278
|
+
- 支持自定义健康检查间隔
|
|
279
|
+
|
|
280
|
+
### 🔧 修复
|
|
281
|
+
- 修复 WebSocket 背压恢复机制
|
|
282
|
+
- 修复服务启动超时后的状态卡死
|
|
283
|
+
|
|
284
|
+
### 🎯 改进
|
|
285
|
+
- 优化 TCP 端口检查性能
|
|
286
|
+
- 改进日志输出格式
|
|
287
|
+
|
|
288
|
+
### ⚠️ 破坏性变更
|
|
289
|
+
- 移除 `--no-daemon` 选项(请使用 systemd 或 PM2)
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## [1.0.5] - 2025-02-10
|
|
294
|
+
...
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 🐛 Bug 报告
|
|
300
|
+
|
|
301
|
+
报告 Bug 时请提供:
|
|
302
|
+
|
|
303
|
+
1. **环境信息**
|
|
304
|
+
- Node.js 版本:`node -v`
|
|
305
|
+
- DynaPM 版本:`dynapm --version`(或 `npm info dynapm version`)
|
|
306
|
+
- 操作系统
|
|
307
|
+
|
|
308
|
+
2. **重现步骤**
|
|
309
|
+
- 配置文件
|
|
310
|
+
- 执行的命令
|
|
311
|
+
- 预期行为 vs 实际行为
|
|
312
|
+
|
|
313
|
+
3. **日志**
|
|
314
|
+
- `logs/dynapm.log` 中的相关错误信息
|
|
315
|
+
|
|
316
|
+
在 [GitHub Issues](https://github.com/2234839/DynaPM/issues) 提交问题。
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 💡 功能建议
|
|
321
|
+
|
|
322
|
+
功能建议请包含:
|
|
323
|
+
|
|
324
|
+
1. **使用场景** - 这个功能解决什么问题?
|
|
325
|
+
2. **实现建议** - 你认为应该如何实现?
|
|
326
|
+
3. **替代方案** - 是否有其他方式达到同样目的?
|
|
327
|
+
|
|
328
|
+
在 [GitHub Discussions](https://github.com/2234839/DynaPM/discussions) 讨论想法。
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## 📧 联系方式
|
|
333
|
+
|
|
334
|
+
- 👤 **作者**: 崮生
|
|
335
|
+
- 🐛 **Bug 报告**: [GitHub Issues](https://github.com/2234839/DynaPM/issues)
|
|
336
|
+
- 💡 **功能建议**: [GitHub Discussions](https://github.com/2234839/DynaPM/discussions)
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
**感谢你的贡献!** 🎉
|
package/DEV.md
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
```
|
|
1
|
+
# 开发文档
|
|
2
|
+
2
|
|
3
|
+
## 在本地测试程序安装到全局的效果
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm link -g
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## 发布到 npm
|
|
10
|
+
登录一次即可
|
|
11
|
+
```sh
|
|
12
|
+
npm login --registry=https://registry.npmjs.org
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
pnpm publish2npm
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 开发指南
|
package/LICENSE
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
ISC License
|
|
2
|
-
|
|
3
|
-
Copyright (c) [2025], [崮生,shenzilong.cn]
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
copyright notice and this permission notice appear in all copies.
|
|
8
|
-
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) [2025], [崮生,shenzilong.cn]
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
15
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|