Open4
Blitz.js v2 お試し

Blitz.js がピボットし、 v2 としてリニューアルされた。
先日 alpha 版がリリースされたので試してみる。

ドキュメントを探してみたが、おそらく無い・・・。
CLI は提供されていると想定して、インストール、プロジェクト作成をしてみる。
(alpha 版をインストールする)
> npm install -g blitz@alpha
(プロジェクトを作成する)
> blitz new
次のエラーが発生した。
> blitz new
√ What would you like to name your project? ... blitz-alpha-sandbox
TypeError: res.name.trim(...).replaceAll is not a function
at determineProjectName (C:\Users\rabitarochan\AppData\Local\Scoop\persist\nodejs-lts\bin\node_modules\blitz\dist\chunks\new.cjs:78:35)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async newApp (C:\Users\rabitarochan\AppData\Local\Scoop\persist\nodejs-lts\bin\node_modules\blitz\dist\chunks\new.cjs:195:3)
メソッドが無さそうなのはおかしいと思い、node.js のバージョンを確認してみると、v14 系と少し古かった。
scoop を使って更新する。
(nodejs-lts を最新版に更新する)
> scoop update
> scoop update nodejs-lts
プロジェクト作成ができるようになったので、node.js の必要バージョンは v16 以降のようだ。

引き続き、プロジェクト作成を実行する。
(プロジェクトを作成する)
> blitz new
次のとおり、いくつかの選択肢が表示された。
What would you like to name your project?
- プロジェクト名を指定する
- 指定した名前のフォルダーが作成される。
Pick which language you'd like to use for your new blitz project
-
TypeScript
もしくはJavaScript
が選択できる。 - 今回は
TypeScript
を選択した。
Pick which template you'd like to use for your new blitz project
-
full
/minimal
が選択できる。 - 今回は
full
を選択した。 - TODO: 差分をあとで調査する。
Install dependencies?
-
npm
/yarn
//pnpm
skip
から選択できる。 -
pnpm
は取り消し線がついていた。 - 今回は
npm
を選択した。
Pick which form you'd like to use for your new blitz project
-
React Final Form
/React Hook Form
/Formik
から選択できる。 - 今回は
React Hook Form
を選択した。 - ここの選択肢が変わっていないので、もしかしてまだ alpha 対応していない?と思ってきた・・・。
結果、次のエラーが発生したので、プロジェクト生成はまだ対応していない or できないことがわかった。
> blitz new
√ What would you like to name your project? ... blitz-alpha-sandbox
√ Pick which language you'd like to use for your new blitz project » TypeScript
√ Pick which template you'd like to use for your new blitz project » full
√ Install dependencies? » npm
√ Pick which form you'd like to use for your new blitz project » React Hook Form
Hang tight while we set up your new Blitz app!
[Error: ENOENT: no such file or directory, stat 'C:\Users\rabitarochan\AppData\Local\Scoop\persist\nodejs-lts\bin\node_modules\blitz\node_modules\@blitzjs\generator\templates\app'] {
errno: -4058,
code: 'ENOENT',
syscall: 'stat',
path: 'C:\\Users\\rabitarochan\\AppData\\Local\\Scoop\\persist\\nodejs-lts\\bin\\node_modules\\blitz\\node_modules\\@blitzjs\\generator\\templates\\app'
}

上記のエラーは、もしかして Windows だけ?と思って、WSL (Ubuntu) で試してみたけど同じエラーが発生した。
$ blitz new
✔ What would you like to name your project? … blitz-app
✔ Pick which language you'd like to use for your new blitz project › TypeScript
✔ Pick which template you'd like to use for your new blitz project › full
✔ Install dependencies? › npm
✔ Pick which form you'd like to use for your new blitz project › React Final Form
Hang tight while we set up your new Blitz app!
[Error: ENOENT: no such file or directory, stat '/home/linuxbrew/.linuxbrew/lib/node_modules/blitz/node_modules/@blitzjs/generator/templates/app'] {
errno: -2,
code: 'ENOENT',
syscall: 'stat',
path: '/home/linuxbrew/.linuxbrew/lib/node_modules/blitz/node_modules/@blitzjs/generator/templates/app'
}
ちなみに、WSL から npm install がタイムアウトする事象が発生した。
次のページを参考に resolv.conf
を設定したら動くようになった。