2
私は複数のモジュールを持つプロジェクトを持っています(Lernaを使用しています)。テストを実行するためにJestを使用したいと思います。私は(レルナ経由NPMリンクされたモジュール)共有モジュールを使用するコードをテストするときしかし、バベルが正しく適用されていないようだと、私は次のエラーを取得する:JSTはnpmリンクされたモジュールからインポートを翻訳できません
SyntaxError: Unexpected token import
私のプロジェクトの構造はこのようなものです:
- my-project
|- shared
|- native
|- web
web
とnative
はshared
モジュールが必要です。私がshared
ディレクトリに入り、Jestでローカルテストを実行すると、すべて正常に動作します。 web
ディレクトリでJestテストを実行すると、shared
から何かを含めるとすぐに上記のエラーが発生します。ここで
エラーが発生する超簡単なテストです:
import { util } from 'shared';
it('returns false if not prod',() => {
expect(util.isProd()).toBe(false);
});
私.babelrc
は、次のようになります。
{
"presets": [
"env",
"flow",
"react"
],
"plugins": [
"flow-react-proptypes",
"transform-object-rest-spread",
"transform-class-properties"
]
}
私は含めて、私は見つけることができるすべてのものを試してみました:
es2015
がプリセットされ、有効になっているものを含む、異なるBabelの設定。上述したように、テスト環境- 用手動バベル、冗談
- ため
transform
オプションを設定する、冗談は、このように、冗談とbabel-jest
も同様にそこにインストールされている、shared
モジュールで実行することができます。