Внедрение пользовательской библиотеки компонентов React-Native

#react-native

#react-native

Вопрос:

Я создал небольшую пользовательскую библиотеку компонентов React-Native, которая называется просто: united-native-components. Я хочу внедрить эту библиотеку в мое более крупное приложение React-Native под названием UnitedApp (да, я не очень креативен в своем именовании). Однако, когда я захожу для запуска приложения React-Native UnitedApp (npm под управлением ios или npm под управлением Android), я сталкиваюсь с:

 Loading dependency graph...(node:843) UnhandledPromiseRejectionWarning: 
Error: jest-haste-map: Haste module naming collision:
  Duplicate module name: react-animated
  Paths: 
/Users/boris.badenov/Development/UnitedApp/node_modules/united-native-components/node_modules/react-native/Libraries/Animated/release/package.json collides with 
/Users/boris.badenov/Development/UnitedApp/node_modules/react-native/Libraries/Animated/release/package.json

This error is caused by `hasteImpl` returning the same name for different files.
... additional stack material printed out
  

Это не согласовано, у меня произошел сбой из-за столкновения с пакетом react-native и, что удивительно, с образцом в react-native / Libraries

Мой вопрос в том, не упускаю ли я какое-то значение в компоненте package.json, которое позволяет мне встраивать его так же, как и любой другой пакет NPM, и не возникает ли проблема с конфликтом пакетов?

Это кажется очень распространенным подходом, когда у вас есть пакеты компонентов React-Native, которые встраиваются в более крупное приложение точно так же, как фреймворки в приложении iOS или файлы *.jar для приложения Android.

Комментарии:

1. Кажется, у вас в вашем проекте есть два файла package.json. Насколько я знаю, у вас может быть только один. Удалите package.json внутри united-native-components и вместо этого добавьте его зависимости в ваш основной файл package.json.

2. Хм, я думаю, у нас может быть столько, сколько мы захотим. Содержимое может создать некоторые проблемы.

3. Нет, библиотека компонентов разработана независимо, и я не могу удалить файл package.json. Кроме того, все другие фреймворки react-native, которые я использую и устанавливаю через npm, содержат файлы package.json в составе пакета для загрузки. Итак, я не верю, что у вас может быть только один файл package.json.