コードと設計、たまにそのほか。

最新の記事を、そのまま読む。
現在はダークモード

2023.03.01

開発時によく使うコマンド忘備録

よく使うコマンドまとめ 基本的にNode.jsの開発ではあまり多くのコマンドは必要なく、ビルド・テスト・ フロントならrun devやlinter等の少ないコマンドが理解できていれば問題ない。 開発を続ける中で調べて便利だなと思って使っているコマンドがいくつかあ…

  • node
  • npm

よく使うコマンドまとめ

基本的にNode.jsの開発ではあまり多くのコマンドは必要なく、ビルド・テスト・
フロントならrun devやlinter等の少ないコマンドが理解できていれば問題ない。

開発を続ける中で調べて便利だなと思って使っているコマンドがいくつかあるが、
この辺は入門書とかには絶対書いていないことと、個別で解説されていることはあるが
まとまっているものはあまり見ないためいくつか現在使っているものを書いてみる。

npm

  • npm ci
    npm insallと違いnpm上の対象バージョンで更新があってもpackage-lock.jsonの差分が生まれないこと、
    node_modulesを一度削除してから再インストールしてくれて変なキャッシュ原因のエラーが解消する可能性がある、
    コマンドが短いなどの利点がある。ciはclean installの略で、npm installはpackage.jsonを見て
    指定されたモジュールをダウンロードしているが、npm ciはpackage-lock.jsonを見るためこの違いがある。

  • npm run clean-up-branch
    基本的には以下をpackage.jsonに定義しておいてショートカット的に使用している。
    git checkout main && git branch --merged main | grep -v -e main | xargs -I{} git branch -d {}
    これを実行するとmainブランチに移動した後、main以外のmainにマージ済みであるローカルブランチを全削除が可能。
    git branch -lで古いブランチ一覧を見て選んで削除するのが面倒になったのでこれを書いた。

git

  • git stash
    現在触っているブランチの最新と自分が更新したファイル差分がある際に、変更差分をstashという一時保管箇所に
    退避しておくことができる。現状の差分がまだエラー解消できておらずコミットできないがブランチを切り替えたい場合や
    いきなり他の作業がしたくなった場合にstashしておくことですぐ現在の作業に戻れるのでタスクが飛ぶときは多用していた。

  • git stash pop
    stash自体は何回も実行することができ、1回目の実行で0番目stashが作成された後に再度別の差分を実行すると
    2回目に実行されたstashが0番目になり、1回目のstashは1番目になるような機構になっている。
    git stash apply 1等で番号指定してのstash復帰が可能だが、個人的にはあまりおすすめしない。
    理由としては削除しない限りstashに残り続けることと、差分が大きくなればなるほどstashエリアに置いたとき
    どこがどんな理由での変更だったかわかりづらくなったり、push等でstash元のブランチとの差分が発生した場合
    マージがめちゃくちゃ面倒になる。stash popでは一番新しいstashを戻してstashから削除するため、
    基本的にstashエリアに置くのは1個のstashのみとしてstash+stash popのみで管理すると混乱し辛い。

  • git branch -b newBranchName
    現在自分がいるブランチから新しいブランチを切る時に使用。
    本来はgit branchで新しいブランチを作成後、git checkoutで対象ブランチに移動する必要があるが
    このコマンドなら一気にできるのでmainとなるブランチ+αくらいしか切り替えない開発ならこれだけでも十分。

その他

  • ts-node --esm xxxx.ts
    ts-nodeがインストールされている前提で、import等を使用しているtsファイルをそのまま実行できるようになる。
    単体スクリプトでnode_modulesが使えるようになるため、1ファイルでも拡張性が高いものが作れる。
    ただts-node側でコンパイルしているのか開始時の速度は結構遅めなので注意。