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

Add exports field to react-refresh's package.json #23087

Merged
merged 3 commits into from
Jan 11, 2022

Conversation

otakustay
Copy link
Contributor

Summary

We were migrating our build tools to pure ESM format, and found we cannot import react-refresh/babel from a pure ESM module, it indicates to add an extension:

Cannot find module '/Users/otakustay/Develop/reskript/packages/config-babel/node_modules/react-refresh/babel' imported from /Users/otakustay/Develop/reskript/packages/config-babel/dist/index.js

In order to make pure ESM able to import react-refresh/babel, we need to add an exports field into package.json mapping ./babel to ./babel.js.

How did you test this change?

I have manually modified local node_modules/react-refresh/package.json and tested our build.

@facebook-github-bot
Copy link

Hi @otakustay!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

@otakustay
Copy link
Contributor Author

otakustay commented Jan 10, 2022

Although I exported both . and ./babel, but it is a potential breaking change if developers already use require('react-refresh/babel.js') (explicit .js extension) or require('react-refresh/cjs/...') (deep into cjs folder), thus we may need a minor version 0.12.0

@facebook-github-bot
Copy link

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

@sizebot
Copy link

sizebot commented Jan 11, 2022

Comparing: fe905f1...f0ad608

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.min.js = 129.52 kB 129.52 kB = 41.53 kB 41.53 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 134.65 kB 134.65 kB = 43.01 kB 43.01 kB
facebook-www/ReactDOM-prod.classic.js = 427.76 kB 427.76 kB = 78.53 kB 78.53 kB
facebook-www/ReactDOM-prod.modern.js = 417.45 kB 417.45 kB = 77.06 kB 77.06 kB
facebook-www/ReactDOMForked-prod.classic.js = 427.76 kB 427.76 kB = 78.53 kB 78.53 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against f0ad608

@gaearon gaearon merged commit 2f26eb8 into facebook:main Jan 11, 2022
@gaearon
Copy link
Collaborator

gaearon commented Jan 11, 2022

looks good, thanks

facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Jan 19, 2022
Summary:
This sync includes the following changes:
- **[51947a14b](facebook/react@51947a14b )**: Refactored how React/DevTools log Timeline performance data ([#23102](facebook/react#23102)) //<Brian Vaughn>//
- **[c09596cc6](facebook/react@c09596cc6 )**: Add RN_FB bundles for react-is ([#23101](facebook/react#23101)) //<Moti Zilberman>//
- **[9a7e6bf0d](facebook/react@9a7e6bf0d )**: Add --no-show-signature to "git show" commands ([#23038](facebook/react#23038)) //<Stefan Sundin>//
- **[2f26eb85d](facebook/react@2f26eb85d )**: Add exports field to react-refresh's package.json ([#23087](facebook/react#23087)) //<Gray Zhang>//
- **[811634762](facebook/react@811634762 )**: add enableTransitionTracing feature flag ([#23079](facebook/react#23079)) //<Luna Ruan>//

Changelog:
[General][Changed] - React Native sync for revisions fe905f1...51947a1

jest_e2e[run_all_tests]

Reviewed By: rickhanlonii, kacieb

Differential Revision: D33634332

fbshipit-source-id: a83b663a122a2cb79225ca33a007fe1774728c03
@gaearon gaearon mentioned this pull request Mar 29, 2022
zhengjitf pushed a commit to zhengjitf/react that referenced this pull request Apr 15, 2022
* Add exports field to react-refresh's package.json

* Update package.json

* Add runtime to exports
nevilm-lt pushed a commit to nevilm-lt/react that referenced this pull request Apr 22, 2022
* Add exports field to react-refresh's package.json

* Update package.json

* Add runtime to exports
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.

4 participants