Open13
Nxに入門する
次世代ビルドシステム
ファーストクラスのmonorepoサポート
pakcage-based monorepoもintegrated monorepoも以下のコマンドで作成することができる
npx create-nx-workspace@latest [reponame] --preset=[presetname]
- taskは通常のnpm scripts、もしくは
project.json
のtargetsで定義することができる - taskの実行
-
npx nx [task] [package]
- 1つのpackageに対して指定したtaskを実行する
-
npx nx run-many -t [task]
- 全てのpackageに対して指定したtaskを実行する
-
nx [task]
と nx run-many -t [task]
のコマンドが非対称的で気持ち悪い
nx run -t [task]
と nx run-many -t [task]
であってほしい
と思ったら nx run
コマンドは別であるのか
なんかちょっと毛色が違うっぽい
もしかして nx [task]
って nx run [target]
の略記(yarn
と yarn run
みたいな感じ)か…?
Nx + PNPM + Vite + NestJS + React + Storybookのmonorepo環境構築してみる
リポジトリーの作成
これで Nx + PNPM + Viteの環境ができる
pnpm dlx create-nx-workspace@latest nx-monorepo-sandbox --packageManager=pnpm --bundler=vite
あとは普通に packages 以下にコードを配置すればOK
Reactの初期化
pnpm create vite [package] --tempalte react-ts
以下のコマンドを叩いたらViteを検知してBuilderに設定してくれた
pnpm dlx storybook@latest init
NestJSの初期化
pnpm add -g @nestjs/cli
nest new [package] --strict --skip-git
サンプルプロジェクトあった