Open8
nuxt3 + fastify +ESM環境構築のメモ

fastifyの方の環境構築を先にしていく(nuxt3はコマンド一発で良い)
cd server
npm install --save typescript ts-node
yarn add --dev @types/node
./node_modules/.bin/tsc --init
yarn add fastify
yarn add fastify-cli
yarn add ulid
yarn add better-sqlite3
yarn add @types/better-sqlite3
yarn add twitter-api-sdk

公式のドキュメント

ルーターの使い方

バリデーション関連
どうやらJSON Schemaというのを使うらしい
これを正しく書かないとリクエストのパラメーターやレスポンスフィールドが消えてしまう

SQLite3周り
今回はそこまで巨大なプログラムを組まないので、SQLiteでbetter-sqlite3を利用する
better-sqlite3関連の記事
SQLiteの使える型
SQLiteのdumpの取り方

その他今後利用しそうなライブラリ
fastifyも他のフレームワーク同様エコシステムがある https://www.fastify.io/ecosystem/
適当に使いそうなライブラリを並べておく
- 認証にJWTを使いそう
- クッキーも使いそう
- ロギングはこれを使う