Next.jsでjestを早くする
理由
The React 17 JSX transform seems more complicated and React-specific then the standard JSX transform, so I'm not sure it's something I'm going to include in esbuild's core.
それはそうmiyamonz.icon
そして@swc/jestなら設定例はこれが参考になる
記事にも触れられてる通り、必要に応じてswcの設定を追加する
自分の環境だとこれだけではだめで、↓のjestの設定も混ぜたら動いた
環境は現時点での以下で用意したプロジェクト
$ npx create-next-app --ts
next 11.1.2
code:js
moduleNameMapper: {
// Handle CSS imports (with CSS modules)
'^.+\\.module\\.(css|sass|scss)$': 'identity-obj-proxy',
// Handle CSS imports (without CSS modules)
'^.+\\.(css|sass|scss)$': '<rootDir>/__mocks__/styleMock.js',
// Handle image imports
'^.+\\.(jpg|jpeg|png|gif|webp|svg)$': <rootDir>/__mocks__/fileMock.js,
// Handle module aliases
'^@/components/(.*)$': '<rootDir>/components/$1',
},
ここのmoduleNameMapperが必要だった
これはcss importしないなら消せる
__mocks__も使う
ただしcreate-next-appしたばかりの状態だと、本当に必要なのはwith css modulesのだけ
必要なとこだけ適宜入れると良い
ただしここらへんは、swc/jestの話ではなくで、next.jsとjestの話であるはず
そうこうしてたらNext.js自体がswc使い始めた
Next11.1から
これがちゃんと入ったらこれを見る形で設定書き直すといいかも