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

temporarily only use one build in export map #12437

Merged
merged 2 commits into from
Dec 2, 2024
Merged

Conversation

ryanflorence
Copy link
Member

with the export map before this commit, there’s a react router context mismatch in react-router-dev because the node process from react-router dev isn’t started with —conditions development, so it required the production build of react-router (because it’s used internally in react-router-dev.

Then for the server render, “react-router” is already in the cache so if any node_modules have a peer dep on it, it gets the production build too.

After that, app code runs and asks for “react-router” but this import is processed through vite with the “development” condition, so the app gets a different version of react router

Now if a node_module want’s to useLocation inside of the app, it’s got a different copy of that hook and no router context

This is a temporary patch until we can work out how to get react-router dev to get the development build in node without requiring apps to set the conditions

with the export map before this commit, there’s a react router context mismatch in react-router-dev because the node process from `react-router dev` isn’t started with `—conditions development`, so it required the production build of `react-router` (because it’s used internally in `react-router-dev`.

Then for the server render, “react-router” is already in the cache so if any node_modules have a peer dep on it, it gets the production build too.

After that, app code runs and asks for “react-router” but this import is processed through vite with the “development” condition, so the app gets a different version of react router

Now if a node_module want’s to useLocation inside of the app, it’s got a different copy of that hook and no router context

This is a temporary patch until we can work out how to get `react-router dev` to get the development build in node without requiring apps to set the conditions
Copy link

changeset-bot bot commented Dec 2, 2024

🦋 Changeset detected

Latest commit: 77f6f08

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
react-router Patch
@react-router/architect Patch
@react-router/cloudflare Patch
@react-router/dev Patch
react-router-dom Patch
@react-router/express Patch
@react-router/node Patch
@react-router/serve Patch
@react-router/fs-routes Patch
@react-router/remix-routes-option-adapter Patch
create-react-router Patch

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

@jacob-ebey jacob-ebey merged commit 5ce8667 into dev Dec 2, 2024
5 checks passed
@jacob-ebey jacob-ebey deleted the ryan/export-map branch December 2, 2024 18:23
Copy link
Contributor

github-actions bot commented Dec 2, 2024

🤖 Hello there,

We just published version 7.0.2-pre.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Copy link
Contributor

github-actions bot commented Dec 3, 2024

🤖 Hello there,

We just published version 7.0.2 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants