2025/06/04

CLIにスピナーを表示させたい

Typescript

自作したスクリプトを実行しているときの待ち時間に「処理中...」のようなものを表示させたくて調べてみました。

「cli-spinner」というモジュールがよさそうでしたのでこちらを試してみました。

インストール

まずは以下のコマンドでインストールします。

bunを使用していますがnpmやyarnでもOKです。

bun install cli-spinner

実装

スクリプトを実行させたらスピナーを表示させ、5秒後に完了するような簡単なスクリプトを作成してみます。

import { setTimeout } from 'node:timers/promises';

// cli-spinnerの読み込み
const Spinner = require('cli-spinner').Spinner;

// デフォルトのスピナーのアニメーション間隔を設定
Spinner.setDefaultSpinnerDelay(250);
// デフォルトのスピナーアニメーションを設定
Spinner.setDefaultSpinnerString('|/-\\')

const spinner = new Spinner('処理中.. %s');
spinner.start();

await setTimeout(5000);

spinner.stop(true);

console.log("処理完了!");

実行してみるとターミナル上で動作していることが分かると思います。

bun run cli-spinner-sample.ts

最後に

株式会社Robbitsでは一緒に働く仲間を募集しています!
ご興味のある方は是非一度ホームページをご覧ください!

ホームページを見てみる