chore(cli): skip starting dev server in exports #28552
Merged
+1,022
−1,156
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
With static rendering we changed the CLI to start a dev server so we could ping it for resources. This prevents us from running tests in parallel and dilutes error handling as we have to parse them back from server requests.
This PR forks part of the metro dev server
.bundle
request into Expo CLI so we can call it directly for SSR instead of going through the dev server. We then skip starting the dev server in order to prevent using any ports.We have to leave some of the legacy SSR code in place to support the error boundary (pending rework).
In the future we can consolidate more by removing all metro export interface code in favor of this code path, but we don't need to do that in this PR.
How
Test Plan
Test coverage for this is very high, hopefully tests run a bit faster now.
Checklist
npx expo prebuild
& EAS Build (eg: updated a module plugin).