Process and CLI utilities including command execution, async operations, and CLI spinners
npm install @via-cli/process-toolsbash
npm install @via-cli/process-tools
或
pnpm add @via-cli/process-tools
或
yarn add @via-cli/process-tools
`
使用
`typescript
import {
exec,
execAsync,
sleep,
spinnerStart
} from '@via-cli/process-tools';
`
API 文档
$3
#### exec(command: string, args?: string[], options?: ExecOptions)
执行命令并返回子进程。
`typescript
const child = exec('node', ['--version']);
child.on('exit', (code) => {
console.log(Process exited with code: ${code});
});
`
#### execAsync(command: string, args?: string[], options?: ExecOptions): Promise
异步执行命令并等待完成。
`typescript
try {
const exitCode = await execAsync('node', ['--version']);
console.log(Command completed with exit code: ${exitCode});
} catch (error) {
console.error('Command failed:', error);
}
`
$3
#### sleep(timeout?: number): Promise
延迟执行,默认 1000 毫秒。
`typescript
async function example() {
console.log('Start');
await sleep(1000); // 等待1秒
console.log('After 1 second');
}
`
$3
#### spinnerStart(message: string, spinnerString?: string): SpinnerInstance
启动命令行旋转动画。
`typescript
const spinner = spinnerStart('Loading...');
// 执行一些异步操作
setTimeout(() => {
spinner.stop();
}, 3000);
`
开发
`bash
安装依赖
pnpm install
构建
pnpm build
开发模式(监听变化)
pnpm dev
运行测试
pnpm test
监听测试
pnpm test:watch
生成测试覆盖率报告
pnpm test:coverage
清理构建文件
pnpm clean
``