-
Notifications
You must be signed in to change notification settings - Fork 326
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
chore(expo-passkeys): Remove expo-modules-core
from dependencies in favor of Expo's bundled version
#5402
base: main
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: c441704 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
expo-modules-core
to support Expo SDK 52expo-modules-core
to support Expo SDK 52
expo-modules-core
to support Expo SDK 52expo-modules-core
from dependencies in favor of Expo's bundled version
!snapshot |
Hey @wobsoriano - the snapshot version command generated the following package versions:
Tip: Use the snippet copy button below to quickly install the required packages. npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact
npm i @clerk/[email protected] --save-exact |
@@ -1,4 +1,4 @@ | |||
import { requireNativeModule } from 'expo-modules-core'; | |||
import { requireNativeModule } from 'expo'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would make the package compatible only with SDK 52, and we don't want that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm working under the assumption that this change actually makes it work with work with any Expo SDK version since our expo peerDeps is agnostic (*
) and we only reference SDK 52 in devDeps.
Also, this approach mimics the structure of a freshly scaffolded Expo module via npx create-expo-module

What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just got a great response from the Expo team on Discord! They confirmed we should import from "expo"
instead of "expo-modules-core"
since:
expo-modules-core
is meant to be internal to Expo's infrastructureexpo
package controls the correct version ofexpo-modules-core
- We should set it up with:
- peerDependencies: expo: "^50 || ^51 || ^52" (for version ranges we want to support)
- devDependencies: expo: "" (for testing)
We're on the right track! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious, why there is still documentation that uses expo-modules-core
directly.
- https://docs.expo.dev/modules/module-api/#function
- https://docs.expo.dev/modules/existing-library/#add-expo-packages-to-dependencies here they recommend
*
for peer dep.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Expo team confirmed it's an outdated doc 👍🏼
"@clerk/types": "workspace:^" | ||
}, | ||
"devDependencies": { | ||
"expo": "~52.0.0" | ||
}, | ||
"peerDependencies": { | ||
"expo": "*", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Open for discussion regarding min version. requireNativeModule
was only available since Expo SDK 49.
I think SDK 50 is good ^50 || ^51 || ^52
Description
Checklist
pnpm test
runs as expected.pnpm build
runs as expected.Type of change