TypeScriptやJavaScriptを自分のパソコンで動かすには、Node.jsが要る。まず入っているか確認しよう。

node --version

v から始まる数字が表示されました。これで準備できているんですか?

そう。command not found と出たら、まだ入っていない。公式サイトのLTS版をインストーラーで入れるのが一番簡単だ。LTSは長期サポート版のことで、安定して使える方だよ。

バージョンを使い分ける話も見かけました。

プロジェクトごとに必要なバージョンが違う、と実際に困ってから、nvmやVolta、miseのような管理ツールを入れれば十分だ。最初から全部そろえなくていい。

次はpnpm。プロジェクトが使うライブラリと、開発用のコマンドをまとめて管理してくれる道具だ。

npm install -g pnpm
pnpm --version

npm はどこから来たんですか?

Node.jsに最初から付いてくるパッケージマネージャーだ。npmのままでも開発はできる。Enginemixでは、速度とディスクの使い方を理由にpnpmを選んでいる。

プロジェクトに入ったら、まずこの3つを覚えよう。

pnpm install
pnpm add -D typescript
pnpm dev

install で必要なものをそろえて、add で新しく足すんですね。-D は何ですか?

開発中だけ使うもの、という印だ。型チェックやテストの道具は、公開したあとのアプリ本体には要らない。だから分けて記録しておく。

そして pnpm devdev は、pnpmが決めた命令ではない。プロジェクトの package.json に書かれている名前だ。

{
  "packageManager": "pnpm@11.3.0",
  "scripts": {
    "dev": "next dev",
    "build": "next build"
  }
}

ということは、プロジェクトによって dev の中身は違うんですね。

そう。知らないコマンドをそのまま実行する前に、scripts の定義を見る癖をつけよう。何が起きるか読めるようになる。

packageManager の行にも意味がある。このプロジェクトはpnpmのこのバージョンで動かす、という記録だ。

ライブラリのバージョンも、どこかに記録されているんですか?

pnpm install を実行すると pnpm-lock.yaml ができる。実際に入れたライブラリのバージョンが、そこに全部書かれている。このファイルを共有すれば、別の人も同じ組み合わせを再現できる。

環境を公開する価値はそこにあるんだ。次は、書いたコードを記録する道具を見よう。