typescript-to-cliでCLIツールを気軽に書く

お疲れ様です、町田葵です。リファレンスへアクセスする手間をなくすためにCLIから検索をかけることができないかなと思って探してたところCLIツール作成初心者の自分でも扱えそうないい感じのnpmパッケージがあったので紹介します。
typescript-to-cli
READMEには以下のように書かれています。
typescript-to-cli leverages the typescript type system to generate a CLI based on the exported function signature of your module.
Google翻訳にかけると
typescript-to-cliは、typescript型システムを利用して、モジュールのエクスポートされた関数シグネチャに基づいてCLIを生成します。
また、Usageなども簡潔に書かれておりすぐに書き始められそうです。
実際に書いてみる
一番良く触るであろう検索窓のGoogleでキーワード検索するCLIを書いてみます。
ワークスペースの作成とパッケージのインストールを行います。
mkdir ts-cli && cd ts-cli
npm init
npm install opn
touch search-with-google.ts
search-with-google.ts
を書き換えます。
import * as opn from 'opn';
/**
* search with google
*
* @param keyword 検索したい語句
*/
export default function searchWithGoogle(keyword: string) {
opn(`https://www.google.com/search?q=${keyword}`)
}
あとはtypescript-to-cli
にやってもらいます。
npx typescript-to-cli search-with-google.ts
成功するとtsファイルと同名のjsファイルが生成され、CLIとして使用できるようになります。
--help
でオプションも表示してくれます。以下の画像のようにコマンドを叩くと検索結果をChromeで開くことができました!
まとめ
CLIツールを書きたいと思っていたときにたまたま見つけたライブラリでしたがとても使い勝手がよかったです。これでリファレンスへのアクセスも改善できそうです。
Posted by MachidaMamoru