Я видел это раньше
От Документы Jest :
Иногда бывает (особенно в проектах React Native или TypeScript), что сторонние модулиопубликованы как неперемещенные.Поскольку все файлы внутри node_modules по умолчанию не преобразованы, Jest не поймет код в этих модулях, что приведет к синтаксическим ошибкам.Чтобы преодолеть это, вы можете использовать transformIgnorePatterns для внесения в белый список таких модулей.Хороший пример этого варианта использования вы найдете в React Native Guide.
В упомянутом ими руководстве React Native вы найдете следующий раздел пакета.json (это будет вложено в jest
объект):
"transformIgnorePatterns": [
"node_modules/(?!(react-native|my-project|react-native-button)/)"
]
Это RegExp с негативным взглядом, поэтому он говорит: внутри node_modules
все, что не является, за которым сразу следует react-native
, my-project
или react-native-button
, следует игнорировать (не преобразовывать).
Или для упрощения этого двойного отрицания, идет чтобы преобразовать эти три пакета в node_modules
, но не в другие.
В вашем случае это регулярное выражение может выглядеть примерно так:
"node_modules/(?!(react-native|@expo/react-native-action-sheet)/)"
Это позволит использовать react-native
и@expo/react-native-action-sheet
для транспаранта (я думаю ... вам, возможно, придется немного поиграть с этим. Могут быть некоторые побеги персонажа или некоторые другие пакеты, которые должны быть в белом списке).