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

Added package.json#exports to all packages #3727

Merged
merged 1 commit into from
Dec 28, 2022
Merged

Added package.json#exports to all packages #3727

merged 1 commit into from
Dec 28, 2022

Conversation

Andarist
Copy link
Member

fixes #3350

@changeset-bot
Copy link

changeset-bot bot commented Dec 27, 2022

🦋 Changeset detected

Latest commit: 76471fd

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

This PR includes changesets to release 4 packages
Name Type
xstate Minor
@xstate/fsm Minor
@xstate/react Major
@xstate/vue Major

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

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 76471fd:

Sandbox Source
XState Example Template Configuration
XState React Template Configuration

@ghost
Copy link

ghost commented Dec 27, 2022

👇 Click on the image for a new way to code review
  • Make big changes easier — review code in small groups of related files

  • Know where to start — see the whole change at a glance

  • Take a code tour — explore the change with an interactive tour

  • Make comments and review — all fully sync’ed with github

    Try it now!

Review these changes using an interactive CodeSee Map

Legend

CodeSee Map Legend

@@ -13,6 +13,10 @@
],
"globals": {
"react": "React"
},
"exports": true,
"___experimentalFlags_WILL_CHANGE_IN_PATCH": {
Copy link
Member

Choose a reason for hiding this comment

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

What's this for?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's an opt-in flag that makes it possible to use the exports: true setting. package.json#exports can be convoluted and can be easily screwed up. We've done our best with Emma to implement something that works OK (while not allowing some things that people expected from us since they were more tricky and can't be safely enabled by all of the existing projects) but we couldn't be 100% sure that it would work with all of the available bundlers, node, etc.

So we've shipped this under an opt-in flag so it's more apparent that something could potentially break for the package consumers. I think that we did a pretty good job here though - considering that Emotion is using this for several months already and we didn't get any issue reports about stuff being broken (lately I found a bug in Vite's resolver but that's definitely their bug and not ours).

@Andarist Andarist merged commit 5fb3c68 into next Dec 28, 2022
@Andarist Andarist deleted the pkg-json-exports branch December 28, 2022 11:07
@github-actions github-actions bot mentioned this pull request Feb 21, 2024
@github-actions github-actions bot mentioned this pull request May 29, 2024
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.

2 participants