Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expo support #3

Closed
thorsten-stripe opened this issue Jan 7, 2021 · 12 comments
Closed

Expo support #3

thorsten-stripe opened this issue Jan 7, 2021 · 12 comments
Assignees
Labels
enhancement New feature or request P1 Address these issues second

Comments

@thorsten-stripe
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Expo is one of the most popular frameworks for developing React native applications. I'd expect we'll get a lot of requests about this.

Describe the solution you'd like
Is it possible to suppor expo without needing to eject? If so, how much work would that be?

Describe alternatives you've considered
If this isn't easily possible, can we add a "usage with Expo" guide?

Additional context
Currently, when I try to use CardField within an expo project I get “Invariant Violation: requireNativeComponent: "CardField" was not found in the UIManager.” which is related to the webview usage I beleive.

@trag-stripe
Copy link
Contributor

+1 This request has come in several times this week for expo support

@trag-stripe trag-stripe added this to the v1 milestone Jan 12, 2021
@trag-stripe trag-stripe added the enhancement New feature or request label Jan 12, 2021
@bg-stripe bg-stripe added P0 Address these issues first P1 Address these issues second and removed P0 Address these issues first labels Jan 13, 2021
@thorsten-stripe
Copy link
Contributor Author

Update: we're in touch with Expo and are working together to get the SDK bundled with the Expo SDK v 42 in June. No action required on your side.

@thorsten-stripe
Copy link
Contributor Author

Here's a shared calendar with the Expo team: https://www.notion.so/expo/9b5adb3c9ff04eb6866da42922b83bce?v=98f05bc730534d3db12971741b7b164e cc @cruzach

@cruzach cruzach self-assigned this Mar 5, 2021
@cruzach
Copy link
Collaborator

cruzach commented Mar 5, 2021

Please feel free to provide any feedback on the above calendar, or put in major events for you all (preliminary release dates, events, etc.)

Once we've got it all integrated, would love to talk about next steps around documentation, marketing, and all that 😄

@alessiocancian
Copy link
Collaborator

alessiocancian commented Apr 12, 2021

As far as I know to support Expo you need to use javascript-only libraries, so the implementation should pass through the Javascript SDK...
Will this mean that react-native-web will be supported as well? (without Expo dependencies)

EDIT: I think it's not what I thought, Stripe will be (and actually already is) part of the Expo SDK and available only for iOS and Android.
So to use it on web (Expo or react-native-web) we will still need to write a different implementation using Stripe's Javascript SDK or with React Stripe.

@cruzach
Copy link
Collaborator

cruzach commented Apr 12, 2021

I think it's not what I thought, Stripe will be (and actually already is) part of the Expo SDK and available only for iOS and Android.
So to use it on web (Expo or react-native-web) we will still need to write a different implementation using Stripe's Javascript SDK or with React Stripe.

Stripe is included in the SDK on Android now, but the library (expo-payments-stripe) is going to be deprecated in favor of stripe-react-native). Then the native libraries for both iOS and Android will be included.

As for web- yes, you'll need to write a different implementation using the JS or React SDKs. Our aim is for most, if not all, libraries in our SDK to have a Web version, so adding web support to stripe-react-native would be phenomenal

@alessiocancian
Copy link
Collaborator

As for web- yes, you'll need to write a different implementation using the JS or React SDKs. Our aim is for most, if not all, libraries in our SDK to have a Web version, so adding web support to stripe-react-native would be phenomenal

So you mean you're already planning to add web support to stripe-react-native?
Or just that PRs adding web support are welcome?

@cruzach
Copy link
Collaborator

cruzach commented Apr 14, 2021

I'm not currently working on adding web support, and I'm not a maintainer of this library so I can't say that PRs adding it are welcome 😄

arekkubaczkowski added a commit that referenced this issue Apr 22, 2021
@aganov
Copy link
Collaborator

aganov commented May 14, 2021

Is it possible to remove @expo/config-plugins as a hard dependency? It installs a lot of unnecessary packages in non-expo apps...

@cruzach
Copy link
Collaborator

cruzach commented May 14, 2021

hey @aganov, without the config-plugins dependency, it'd be difficult to give first class support @stripe/stripe-react-native for both the managed and bare workflows. The package itself is pretty minimal (about 0.6% of the size of the stripe-react-native package), and this is the breakdown of that bundle. Are there particular dependencies of config-plugins that concern you and you don't want to have in your project?

If this is an absolute blocker for you right now, you could get rid of the transitive dependency in a post-install script

As for why it's included, you can read about what exactly config plugins do here

@westbrookj
Copy link

@thorsten-stripe I noticed on the calendar it showed a public beta for May 11th and a potential Expo Go patch release May 17th. I'm not seeing those on there anymore. Is there still a timeline laid out for when this project would be available for use in managed workflows either in a beta or official release?

@cruzach
Copy link
Collaborator

cruzach commented May 21, 2021

Expo managed workflow support has landed as of this morning 😄

You will need to use the most recent versions of Expo Go from the stores (or locally on simulators installed with expo install:client:[ios|android]).

You can refer to these docs to get more specifics on what's supported in Expo Go, and what you'll need to build with EAS Build for.

Closing this issue since Expo support has officially landed 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request P1 Address these issues second
Projects
None yet
Development

No branches or pull requests

7 participants