🏆

SWCコンパイラでJestのテストを爆速化する方法

2023/05/30に公開

対象読者

  • TypeScriptで開発している。
  • テスト時間を短縮したい。
  • GitHub ActionsなどのCIの実行時間を短くすることでコスト削減したい。

方法

swcをインストールする

npm i -D @swc/core @swc/jest

jestのconfigに設定を追記する

jest.config.js
const swcConfig = {
  sourceMaps: true,
  module: {
    type: 'commonjs',
  },
  jsc: {
    parser: {
      syntax: 'typescript',
    },
  },
}

module.exports = {
  roots: ['<rootDir>/src'],
  testMatch: [
    '**/__tests__/**/*.+(ts|tsx|js)',
    '**/?(*.)+(spec|test).+(ts|tsx|js)',
  ],
  transform: {
    '^.+\\.(ts|tsx)$': ['@swc/jest', swcConfig],
  },
}

テストを実行する

npm run test

めっちゃ早くなった。

参考

swc公式doc

以上。

Discussion