Open4
メモ書き

エイリアスを設定する方法
二つ設定することでうまく動く
- tsconfig.json
tsconfig.json
{
"compilerOptions": {
"paths": {
"@/*": ["src/*"]
},
}
}
これでnext.js側は大丈夫。vitest側は以下で設定する
vitest.config.ts
export default defineConfig({
test: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
});

Vitestを回していたら、突然FirebaseAuthErrorがでてきた!
きちんとメソッドをモックしていたはずなのに、突然具体的なエラーがでてきてしまった。
原因はディレクトリを整理したものの、モックの対象ファイルの指定が変更されていなかったから。
今後はすぐに気づけるように以下をつけておくことにした。
test.ts
import { describe, expect, it, vi } from "vitest";
import {originalmethod } from "someLiblary";
it("きちんとモックされていることを確認する", () => {
expect(vi.isMockFunction(originalmethod)).toBe(true);
});

検証ライブラリ
色々調べた結果、Valibotを使うことにした。(メンテナンスが直近1ヵ月の間なされていて、スター数が多かったため)
既定値を作る方法
v.optional(v.string(),"既定値")
オプショナルの第二引数に既定値を書いてやるとデフォルトを設定できる。
強制的に上書きする
updatedAt: v.pipe(
v.optional(v.any()),
v.transform(() => "上書きの値"),
),
pipeを使って、transformを起動して上書き。updatedAtなど、なにが入ってても必ずサーバー時刻を設定したいものとか。

GitHub Actionsの actions/setup-node@v4はパッケージをキャッシュしない。
これを読む:
作成者以外のコメントは許可されていません