diff --git a/.changeset/fix-pnpm-podfile-realpath.md b/.changeset/fix-pnpm-podfile-realpath.md new file mode 100644 index 0000000..8c600ed --- /dev/null +++ b/.changeset/fix-pnpm-podfile-realpath.md @@ -0,0 +1,5 @@ +--- +'@voltra/expo-plugin': patch +--- + +Fix `pod install` failing with "multiple dependencies with different sources for VoltraWidget" when using pnpm or bun (symlinked node_modules). The plugin now resolves the VoltraWidget path to its real path so CocoaPods sees a single source. diff --git a/packages/expo-plugin/src/ios-widget/podfile.ts b/packages/expo-plugin/src/ios-widget/podfile.ts index 09956cc..8f5ab1c 100644 --- a/packages/expo-plugin/src/ios-widget/podfile.ts +++ b/packages/expo-plugin/src/ios-widget/podfile.ts @@ -16,7 +16,7 @@ target '${targetName}' do library_name = 'voltra' voltra_module = JSON.parse(\`npx expo-modules-autolinking search -p apple --json --project-root #{project_root}\`) podspec_dir_path = File.join(voltra_module[library_name]['path'], 'ios') - + podspec_dir_path = File.realpath(podspec_dir_path) if File.exist?(podspec_dir_path) podspec_dir_path = Pathname.new(podspec_dir_path).relative_path_from(Pathname.new(__dir__)).to_path pod 'VoltraWidget', :path => podspec_dir_path