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

[eas-cli] update expo packages to SDK 52 versions #2706

Merged

Conversation

szdziedzic
Copy link
Member

@szdziedzic szdziedzic commented Nov 19, 2024

Why

Update @expo packages to SDK 52 versions

How

Update @expo packages to SDK 52 versions

Fixes #2696

It seems like the privacy field was removed from the expo config in the SDK 52 update: https://expo.dev/changelog/2024/11-12-sdk-52.

I used AppPrivay.Unlisted for the createApp mutation input for which this is still required. It was an option selected for an app when exp.privacy was undefined.

It also seems that findWorkspaceRoot function in @expo/package-manager was changed to resolveWorkspaceRoot.

Test Plan

Tests, test commands manually

Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@szdziedzic szdziedzic marked this pull request as ready for review November 19, 2024 17:28
Copy link

github-actions bot commented Nov 19, 2024

Subscribed to pull request

File Patterns Mentions
**/* @khamilowicz, @sjchmiela
packages/eas-cli/src/update/** @EvanBacon, @byCedric, @wschurman

Generated by CodeMention

Copy link
Member

@wschurman wschurman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the codepath where this is not using the versioned config getter for SDK 52? Might be worth focusing on making all versioned packages in eas-cli unused for SDK >= 52/53 like we did for getting the app config.

Upgrading these is always risky (we hit an issue last time we tried to upgrade them IIRC)

Copy link

github-actions bot commented Nov 19, 2024

Size Change: -264 kB (-0.5%)

Total Size: 52.6 MB

Filename Size Change
./packages/eas-cli/dist/eas-linux-x64.tar.gz 52.6 MB -264 kB (-0.5%)

compressed-size-action

Copy link

codecov bot commented Nov 19, 2024

Codecov Report

Attention: Patch coverage is 60.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 52.75%. Comparing base (48ebd9b) to head (0fb0e9c).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...tUtils/findProjectDirAndVerifyProjectSetupAsync.ts 0.00% 1 Missing ⚠️
packages/eas-cli/src/vcs/clients/git.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2706      +/-   ##
==========================================
+ Coverage   52.74%   52.75%   +0.01%     
==========================================
  Files         580      580              
  Lines       22283    22272      -11     
  Branches     4358     4353       -5     
==========================================
- Hits        11751    11747       -4     
+ Misses      10496    10489       -7     
  Partials       36       36              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

Copy link
Member Author

@szdziedzic szdziedzic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the codepath where this is not using the versioned config getter for SDK 52? Might be worth focusing on making all versioned packages in eas-cli unused for SDK >= 52/53 like we did for getting the app config. Upgrading these is always risky (we hit an issue last time we tried to upgrade them IIRC)

Discussed it in DMs with @wschurman and it seems like the best option for now is to go forward with this PR as-is for now then do the decoupling for the SDK 53 release. Decoupling seems like a right long-term call allowing us to avoid many of these upgrade-related issues in the future.

Copy link
Member Author

@szdziedzic szdziedzic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like this removed privacy thing is not a breaking change because ...This field was previously used when the Expo website had optional public-facing pages for projects, which we no longer provide.

Is it true @wschurman?

@szdziedzic szdziedzic requested a review from wschurman November 19, 2024 18:31
Copy link
Member

wschurman commented Nov 20, 2024

Copy link
Member

@wschurman wschurman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's rebase on that www PR once approved and landed unless getting this out is urgent in which case leaving AppPrivay.Unlisted is fine for now (the field is a no-op anyways, doesn't do anything).

@@ -149,7 +150,7 @@ async function ensureEASUpdatesIsConfiguredInExpoConfigAsync({
return {
projectChanged: true,
// TODO(cedric): fix return type of `modifyConfigAsync` to avoid `null` for type === success repsonses
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, this modifyConfigAsync is probably a good thing to version next. We versioned syncUpdatesConfigurationAsync by creating a CLI for it in expo-updates.

Copy link
Member Author

Thanks!

@szdziedzic szdziedzic force-pushed the 11-19-_eas-cli_update_expo_packages_to_sdk_52_versions branch from 0db357b to 89aec94 Compare November 25, 2024 11:25
Copy link

✅ Thank you for adding the changelog entry!

@szdziedzic szdziedzic merged commit 66daead into main Nov 25, 2024
11 checks passed
@szdziedzic szdziedzic deleted the 11-19-_eas-cli_update_expo_packages_to_sdk_52_versions branch November 25, 2024 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

EAS build: Failed to resolve plugin for module
3 participants