CLI轻量加载转圈
灵感:热门轻量库 nanospinner(Tiny terminal spinner)。
> 小四原创:长任务 → start → success/error。
> 与「自定义加载转圈」(spin.js 前端) 互补:本 Skill 只服务 Node CLI。
何时使用
- CLI 安装/下载/生成等待提示
- 不想引入 ora 体积
- 需要 success/error 收尾文案
硬约束
- 依赖:
nanospinner。 - 仅终端;前端 DOM 转圈用别的 Skill。
- 实现要点注释标 小四原创。
- 不做多任务进度条仪表盘。
推荐实现
import { createSpinner } from 'nanospinner'
// 小四原创:CLI 轻量加载转圈
export async function withSpinner<T>(
text: string,
task: () => Promise<T>,
): Promise<T> {
const spinner = createSpinner(text).start()
try {
const value = await task()
spinner.success({ text: `${text} · done` })
return value
} catch (e) {
spinner.error({ text: `${text} · failed` })
throw e
}
}
Agent 步骤
npm i nanospinner。- 长异步用
withSpinner包裹。 - 自测:TTY 下能看到转圈;失败走 error。
不要做
- 在非 TTY/日志文件里狂刷转圈帧。
- 与前端 spin.js 混用同一套说明。
附加
- README.md · reference.md · templates/usage.md