To fix the ‘SyntaxError: Cannot use import statement outside a module’ with Jest, we need to tell Jest to transpile ES6 modules before we can use them.
To do this, we write
{
//...
"jest": {
"preset": "react-native",
"transformIgnorePatterns": [
"node_modules/(?!(jest-)?react-native|react-(native|universal|navigation)-(.*)|@react-native-community/(.*)|@react-navigation/(.*)|bs-platform|(@[a-zA-Z]+/)?(bs|reason|rescript)-(.*)+)"
]
}
//...
}
in our Jest config.
We set transformIgnorePatterns
to an array with the pattern of the module names that we want to transform before we run our tests.
Then Jest will transform the modules into something it can use.