Я переключаю SDK с управляемого рабочего процесса Expo на чистый рабочий процесс Expo, чтобы уменьшить количество ненужных библиотек, включенных в Expo. В настоящее время я использую некоторые библиотеки, такие как Secure-store, Constants и Web-браузер из Expo, вместо использования всего пакета Expo. У меня некоторые тесты изначально проводились в Jest, Jest-Expo и Expo. Я удалил expo из jest и попытался скомпилировать jest только с этими тремя библиотеками expo, указанными выше, вместе с @unimodules. Файлы тестов имеют операторы импорта, такие как:
import * as SecureStore from 'expo-secure-store';
import * as WebBrowser from 'expo-web-browser';
import Constants from 'expo-constants';
Тем не менее, при компиляции шутка, он продолжает давать мне
Шут встретил неожиданный жетон
Обычно это означает, что вы пытаетесь импортировать файл, который Jest не может проанализировать, например, это не простой JavaScript. > SyntaxError: неожиданный импорт токена в
импортировать константы из экспо-констант; > ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js: 471: 17)
Похоже, я мог разрешить неожиданный импорт для expo-secure-store, так как раньше получал эту ошибку. Я переключился с Babel6 на babel7, добавил babel.config.js, который выглядит так:
module.exports = {
presets: [
'@babel/preset-env'
],
env: {
test: {
presets: [['@babel/preset-env']]
}
},
plugins: [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-modules-commonjs"
]
};
И я переключаюсь с jest-preset: jest-expo на jest-preset: Reaction-native.
Я что-то не так делаю с рабочим процессом? Любая помощь приветствуется.