-
Notifications
You must be signed in to change notification settings - Fork 21
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
Incorrect "exports" in package.json #38
Comments
Nice, that makes sense! Yes, I'd happily accept PRs for this. It would be good to extend the test setup to cover this import case as part of that, to guarantee that this is working correctly in both this new setup and the old approaches. Judging by my previous comment in #30 there might be some possible issues here, since the wasm-pack In practice, if it fully works with modern node with this setup, and it doesn't break any of the tests etc running against older node, that's fine with me. This is almost certainly an interesting topic to bring up with the upstream wasm packaging tools though, since this will be a widespread thing in all "using Rust via WASM in Node" deployments, and if there is a single output format to rule them all then I'm sure everybody would love to explicitly migrate towards that. |
That sounds great.
Yeah, this is always tricky. I wish there was better tooling around module compatibility testing. We have an entire test setup designated just for that in MSW. It's actually great, just not reusable.
This should still be okay as long as |
First of all, thank you for a great package!
What
This library currently points to
index.web.js
for theimport
condition. That is incorrect. What ends up happening is that Node.js ESM (which resolves theimport
condition) tries to load the browser build of this package, resulting in a failure.Proposal
Instead, provide environment-based export conditions to correctly distribute this package:
Note that you can nest import/require/default/etc. export conditions inside an environment condition. We've been using that to a great effect in MSW for years now (ref).
Bundling
The
node.import
condition must points to an ESM build of this package for Node.js. If the said build target doesn't exist, let's add it.Additional context
I am willing to open a pull request for this.
The text was updated successfully, but these errors were encountered: