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

Native ESM Support #7

Closed
lukeed opened this issue Jul 7, 2020 · 16 comments · Fixed by #68
Closed

Native ESM Support #7

lukeed opened this issue Jul 7, 2020 · 16 comments · Fixed by #68
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@lukeed
Copy link
Owner

lukeed commented Jul 7, 2020

I have this 98% completed in local branch.

Allows you to run uvu with native ESM purely, making my current usage of -r esm completely optional.
This also has to maintain functionality within browsers, which will come for free.

@lukeed lukeed added the enhancement New feature or request label Jul 7, 2020
@lukeed lukeed self-assigned this Jul 9, 2020
@lukeed lukeed modified the milestones: 0.2.0, 0.3.0 Jul 9, 2020
@lukeed
Copy link
Owner Author

lukeed commented Jul 10, 2020

Will still be completed in the next day or two. Ran out of OSS time for the day~

@Hotell
Copy link

Hotell commented Jul 11, 2020

Luke is our hero !

@calebeby
Copy link

calebeby commented Aug 4, 2020

Hey Luke! I'd love to see this feature shipped! Is there anything I can help with?

@lukeed
Copy link
Owner Author

lukeed commented Aug 4, 2020

You can check it out on uvu@next right now.

I am/was not actively advertising it because it throws syntax errors in Node 8.x and Node 10.x – I'm being stubborn and want to hold onto support for those versions. I feel like there must be a way

@FredKSchott
Copy link

FredKSchott commented Aug 5, 2020

Node v8 is out of LTS no longer receiving updates, and enough major packages have dropped support that I rarely see anyone still using it (although they do exist).

Node v10 is trickier... not out of LTS until 2021. Would it be possible to provide Node v8 & v10 support via a separate entrypoint (uvu/cjs or uvu/node10) that gets built at publish time (ESM->CJS via rollup, for example?)

@lukeed
Copy link
Owner Author

lukeed commented Aug 5, 2020

Right. Node 8.x (and 10) are support goals simply because I have older packages that I'd like to test with uvu, so that they have a single CI workflow that covers all Node versions. I don't necessarily plan to have all modules raise their engines floor simply because Node bumped. With enough dependents, that causes more harm than good to the ecosystem -- especially if the code isn't changing.

lukeed added a commit that referenced this issue Aug 13, 2020
- supports native ESM (#7)
@lukeed
Copy link
Owner Author

lukeed commented Aug 13, 2020

Last night dequal@2.0.0 went out, which added native ESM support (among other things). Now the remaining blocker for pure ESM resolutions is kpdecker/jsdiff#293

I still have to figure out my Node 8.x and 10.x workarounds -- haven't had time to dig back into that yet but I remain hopeful.

@talentlessguy
Copy link

@lukeed looks like that PR got merged :D

@lukeed
Copy link
Owner Author

lukeed commented Aug 23, 2020

Yup! But it hasn't been published

@talentlessguy
Copy link

@lukeed oh, waiting then :)

@talentlessguy
Copy link

@lukeed it's finally released!!!

I mean jsdiff with the fix

kpdecker/jsdiff@d358a57

@FredKSchott
Copy link

Woo!

@talentlessguy
Copy link

Is Native ESM still not supported by uvu because it still has an old (4.0.2) version of jsdiff?

or it should work already?

@TrySound
Copy link

uvu@next works fine

@lukeed
Copy link
Owner Author

lukeed commented Nov 24, 2020

Now available in v0.5.0 (stable) :)

@FredKSchott
Copy link

woo!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants