Я использую Детокс , Джет , Мокко и Реактивный нативный .
Япытаясь заставить мой тест mocha понять оператор импорта es6, так как весь наш реактивный код использует импорт.
Я смог это сделать, но время начала наших тестов было увеличено с 10 с до 2+ минут (что заставляет меня думать, что мы переносим всю папку node_modules).
Мы запускаем mocha со следующей конфигурацией:
--recursive
--timeout 120000
--reporter spec
--slow 1000
--retries 3
--exit
--require ./e2e/config.js
--require jet/platform/node
--require ./e2e/helpers
файл config.js имеет следующий код:
require('@babel/register')({
cache: true,
presets: [require('metro-react-native-babel-preset')],
plugins: [require('@babel/plugin-transform-runtime').default],
only: ['./e2e', './js'],
ignore: ['node_modules']
});
Я не уверен, зачем мне нужен плагин-трансформация-среда выполнения, но без него я получаю такие:
ReferenceError: regeneratorRuntime is not defined
at Context._callee2 (e2e/init.js:11:7)
init.js 11: 7async () => {} -> так что не удается его перенести.Но почему.У React-Native есть metro-react-native-babel-preset
, и я подумал, что этого будет достаточно для переноса нашего кода - в конце концов, этого достаточно при непосредственном запуске response-native.
Как узнать, сколько времени нужно?Я вижу, что сгенерированный Babel кэш в node_modules/.cache/@babel/register составляет около 700 КБ.Любые советы о том, где искать в реестре @babel?