leek-box-cli 0.2.0 → 0.3.1

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/README.md CHANGED
@@ -4,7 +4,15 @@
4
4
 
5
5
  # leek-box-cli(韭菜盒子)
6
6
 
7
- > 基于 [Ink](https://github.com/vadimdemedes/ink) 的交互式终端自选股票看板.
7
+ > 基于 [Ink](https://github.com/vadimdemedes/ink) 的交互式终端自选股票看板, 支持 Linux, macOS 和 Windows.
8
+
9
+ [![npm version](https://img.shields.io/npm/v/leek-box-cli)](https://www.npmjs.com/package/leek-box-cli)
10
+ [![Downloads per Month](https://img.shields.io/npm/dm/leek-box-cli)](https://npm-stat.com/charts.html?package=leek-box-cli)
11
+ [![Downloads per Year](https://img.shields.io/npm/dy/leek-box-cli)](https://npm-stat.com/charts.html?package=leek-box-cli)
12
+ [![GitHub stars](https://img.shields.io/github/stars/zhixiangyao/leek-box-cli)](https://github.com/zhixiangyao/leek-box-cli)
13
+ [![Node.js](https://img.shields.io/node/v/leek-box-cli)](https://nodejs.org/)
14
+ [![pnpm](https://img.shields.io/github/package-json/packageManager/zhixiangyao/leek-box-cli)](https://pnpm.io/)
15
+ [![License: MIT](https://img.shields.io/github/license/zhixiangyao/leek-box-cli)](https://github.com/zhixiangyao/leek-box-cli)
8
16
 
9
17
  ## 截图
10
18
 
@@ -91,7 +99,7 @@
91
99
  ## 环境要求
92
100
 
93
101
  - [Node.js](https://nodejs.org/) >= 22.19.0 (或 >= 24)
94
- - [pnpm](https://pnpm.io/) >= 11.0.0
102
+ - [pnpm](https://pnpm.io/) >= 12.2.1
95
103
 
96
104
  行情通过 Node.js 原生 `fetch` 获取, 无 curl 等外部运行工具依赖.
97
105
 
@@ -152,6 +160,7 @@ leek-box-cli # 自选股票看板
152
160
  leek-box-cli stock-list # 同上
153
161
  leek-box-cli stock-add # 添加自选股
154
162
  leek-box-cli stock-remove # 删除自选股
163
+ leek-box-cli settings # 设置主题与请求参数
155
164
  leek-box-cli -v # 查看版本
156
165
  leek-box-cli -h # 查看帮助
157
166
  ```
@@ -192,17 +201,42 @@ Windows 兼容说明: 读取配置时会自动去除记事本等编辑器写入
192
201
 
193
202
  ## 开发脚本
194
203
 
195
- | 命令 | 说明 |
196
- | ----------------- | ----------------------------- |
197
- | `pnpm dev` | 使用 tsx 运行源码 |
198
- | `pnpm build` | 使用 Vite 构建 `dist/cli.mjs` |
199
- | `pnpm preview` | 运行构建产物 |
200
- | `pnpm test` | 使用 Vitest 运行测试 |
201
- | `pnpm typecheck` | TypeScript 类型检查 |
202
- | `pnpm lint` | Lint 并自动修复 |
203
- | `pnpm lint:check` | 仅检查 Lint |
204
- | `pnpm fmt` | 格式化代码 |
205
- | `pnpm fmt:check` | 检查格式 |
204
+ | 命令 | 说明 |
205
+ | ----------------- | ------------------------------ |
206
+ | `pnpm dev` | 使用 tsx 运行源码 |
207
+ | `pnpm build` | 使用 Vite 构建 `dist/main.mjs` |
208
+ | `pnpm preview` | 运行构建产物 |
209
+ | `pnpm mock` | 写入示例自选股, --reset 覆盖 |
210
+ | `pnpm test` | 使用 Vitest 运行测试 |
211
+ | `pnpm typecheck` | TypeScript 类型检查 |
212
+ | `pnpm lint` | Lint 并自动修复 |
213
+ | `pnpm lint:check` | 仅检查 Lint |
214
+ | `pnpm fmt` | 格式化代码 |
215
+ | `pnpm fmt:check` | 检查格式 |
216
+ | `pnpm release` | 交互式发布 (递增版本 + tag) |
217
+
218
+ ## 发布
219
+
220
+ 发布通过 `pnpm release` 完成, 这是基于 Ink 的交互式命令, 负责递增版本, 创建 release commit 和 tag:
221
+
222
+ ```bash
223
+ pnpm release
224
+ ```
225
+
226
+ 执行流程:
227
+
228
+ 1. 校验 `package.json` 无未提交改动, 并读取当前版本.
229
+ 2. 选择发布类型: `patch` (0.0.x), `minor` (0.x.0) 或 `major` (x.0.0); 使用 `↑`/`↓` + `enter`, 或直接按 `1`/`2`/`3`.
230
+ 3. 自动更新 `package.json` 的 `version`, 创建提交 `chore(release): vX.Y.Z` 和标签 `vX.Y.Z` (仅本地).
231
+ 4. 选择是否推送到远端: 默认为 `否, 仅保留本地`, 防止误推送; 选择 `是` 会把当前分支和标签一并推送到 `origin`.
232
+
233
+ 若此处未推送, 之后可手动推送:
234
+
235
+ ```bash
236
+ git push && git push origin vX.Y.Z
237
+ ```
238
+
239
+ 推送 `v*` 标签会触发 GitHub Actions (`.github/workflows/release.yml`): 校验标签与 `package.json` 版本一致, 依次执行 `fmt:check`, `lint:check`, `typecheck`, `test` 和 `build`, 创建 GitHub Release, 并在仓库配置了 `NPM_TOKEN` 时发布到 npm.
206
240
 
207
241
  ## 技术栈
208
242