LoginSignup
44
7

More than 1 year has passed since last update.

消えたnpm xmasをもう一度

Last updated at Posted at 2022-12-24

HRBrain Advent Calendar 2022、25日目の記事です。

はじめに

こんにちは。株式会社HRBrainでエンジニアリングマネージャーをしている山口です。

ついにクリスマスですね。皆様いかがお過ごしでしょうか?

クリスマスチキンは骨があって食べにくいので、今年の我が家は唐揚げでいくことが決定しました。

本記事では、ターミナル上にクリスマスツリーを出力するプログラムを紹介します。

クリスマスチキンのイラスト

remove dead code

2020年07月29日22時09分01秒、npmからxmasコマンドを削除するコミットが作られました。

このコミットはnpm@7から反映されているため、npm@7以降のnpmではxmasコマンドを使えません。

なるほど。これは死活問題です。

「npm xmasってコマンドがあってさー知ってる?w」という雑談鉄板ネタが言えなくなってしまいました。

ないんだったら、自分で作ればいいのよ!

chat.openai.com_chat.png

まずChatGPTにお願いしてみましたが、これでも良いけれどコレジャナイ感……

というわけで移植しました。今回はDenoで動かすことを想定しています。

Deno依存の記述はないので、ts-nodetsxでも動くと思います。

インストール

$ deno install --name xmas app.ts

インストールの必要はないけれど、コマンドを設定したいのでやっておきます。

deno installではなくdeno compileだとバイナリファイルが出力されるので、好みで使い分けてもいいかもしれないですね。

使い方

$ xmas

単純明快で摩訶不思議。xmasと入力するだけで美しいツリーが完成します。簡単ですね。

npm xmasとの比較

以下にnpm xmasの実行結果と並べてみます。

npm deno
npm xmas.png deno xmas.png

オーナメントの種類・位置・色は毎回ランダムで変わるので、だいたい同じものを出力できました。

良さそうですね。これで今年も無事にクリスマスを迎えられそうです!

さいごに

HRBrainでは引き続き仲間を募集しております。最新の募集状況などは下記からご確認ください。

44
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
7