kumilog.net

データ分析やプログラミングの話などを書いています。

自己紹介用のCLIアプリを作った

流行にのって?Nodeで名刺代わりになるCLIアプリを作ってみました。

はじめに

先日、Qiitaで以下の記事を見かけました。

qiita.com

こちらのSindre Sorhus氏のTweetが流行発信元のようで、nodeで実行すると、自己紹介用のCLIアプリが立ち上がるといったものです。

Qiitaの記事のakameco氏もこちらのアプリを参考に作られたようです。

面白そうなので、同じように作ってみました。

NodeでCLIアプリ開発

基本的には、先人たちの知恵を拝借して、開発しましたw

Nodeを触るのが久しぶりすぎて、npm initを思い出すところからでしたが。。こちらの記事が参考になりました。

npm initしてから、必要なパッケージをインストールします。inkは0.5だと上手くいかないようなので、0.4.1を入れます。

$ npm install -S import-jsx ink@0.4.1 ink-select-input meow opn term-img terminal-image

あとは、書くだけです。開発中は、

$ node src/cli.js

のようにすれば、実行できます。

作ったCLIアプリは、npmパッケージとして登録することで、以下のコマンドで実行できるようになります。

npx xkumiyu

f:id:xkumiyu:20180520210415p:plain:w400

github.com

npmパッケージとして登録

こちらの記事を参考にnpmパッケージとして登録しました。

ユーザ登録して

$ npm set init.author.name "xxx"
$ npm set init.author.email "xxx@xxx"
$ npm set init.author.url "http://xxx.xx.xx"

タグをつけて

$ git tag -a v0.1.0 -m "v0.1.0"

公開します!

$ npm publish ./

無事公開されると、だれでもダウンロードできるようになります。

f:id:xkumiyu:20180520211110p:plain xkumiyu - npm

$ npx xkumiyu

とするだけで動きますので、node環境がある方はぜひ実行してみてください*1。ない方は、インストールして実行してみてくださいwちなみに、実行時に必要なパッケージをインストールするので、10数秒かかります。

まとめ

Nodeをつかって自己紹介用のCLIアプリを作って、npmパッケージとして公開しました。初めてのnpmパッケージ公開でしたが、思ったより手軽にできましたので、皆さんも作ってみてはいかがでしょうか。

*1:v8.0以上で動きます