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

Update JSDOM to 13.1 #7538

Closed
zbraniecki opened this issue Dec 20, 2018 · 18 comments
Closed

Update JSDOM to 13.1 #7538

zbraniecki opened this issue Dec 20, 2018 · 18 comments

Comments

@zbraniecki
Copy link

jest-environment-jsdom is using a very old jsdom 11.5 released over a year ago. The latest jsdom - 13.1- brings a lot of new features and better compatibility.

It would be great to update to the latest jsdom and fix some of the open issues here, like:

@thymikee
Copy link
Collaborator

It also brings dropping Node 6, which we still support. Please use custom environment with latest JSDOM, like: https://github.com/theneva/jest-environment-jsdom-thirteen in the meantime.
See the docs on why and how to use it: https://jestjs.io/docs/en/troubleshooting#compatibility-issues

@thymikee
Copy link
Collaborator

I feel like we should document this better and make users more aware which version of JSDOM they use under the hood. If you have ideas on how to make that better, we'd love a PR with that!

@rickhanlonii
Copy link
Member

Should we ship with the latest jsdom and give people the option to use a jest-env-jsdom-node-6 environment for full node 6 support?

@SimenB
Copy link
Member

SimenB commented Dec 25, 2018

People would have to ignore engines warning, not sure it's worth the noise?

https://github.com/jsdom/jsdom/blob/2e0e12dd7ac4360017b12f36839aedc665653146/package.json#L107

@dreyks
Copy link

dreyks commented Dec 29, 2018

I support @rickhanlonii on this: it's more practical to support latest version out of the box and give an option to configure environment to support Node 6 if needed

@SimenB
Copy link
Member

SimenB commented Dec 29, 2018

The issue is that the install will fail (or start giving warnings) for people running a supported version of Node

@palmerj3
Copy link
Contributor

Could make sense to bump jsdom and drop node 6 in the next major release. What do you think?

@milesj
Copy link

milesj commented Dec 30, 2018

Node 6 is in maintenance LTS, not active LTS. https://github.com/nodejs/Release#release-schedule

I'd wager that's still not enough to drop it? Gotta wait till April 2019.

@SimenB
Copy link
Member

SimenB commented Dec 30, 2018

I'd wager that's still not enough to drop it?

Aye. And there's no rush here - people wanting a newer jsdom can just install it. I do agree we might wanna document it in a visible spot, but in no way worth ditching node 6 for IMO.

Looking forward to node 8 and not transpiling async though, will probably give us a nice little perf boost

@felixfbecker
Copy link

It's April 2019 now, Node 6 is end of life. Can we upgrade now please? I am missing so many things like element.insertAdjacentElement() or MutationObserver

@thymikee
Copy link
Collaborator

thymikee commented Apr 5, 2019

@felixfbecker there's nothing blocking you from using newer JSDOM, see: #7538 (comment)

@felixfbecker
Copy link

@thymikee there is, I can't use both https://github.com/simon360/jest-environment-jsdom-global and https://github.com/ianschmitz/jest-environment-jsdom-fourteen

@thymikee
Copy link
Collaborator

thymikee commented Apr 5, 2019

File a PR to https://github.com/simon360/jest-environment-jsdom-global then or create your own fork 🤷‍♂️

@felixfbecker
Copy link

@thymikee jest-environment-jsdom-global depends on the official jest-environment-jsdom.

Why this hostility to solve this issue in Jest that was expressed by multiple people? Is Jest gonna use this jsdom version forever? When will it upgrade, if not now that Node 6 is EOL? What's the point of having jsdom support bundled with Jest if users have to jump through hoops and use forked packages to use modern DOM features?

@thymikee
Copy link
Collaborator

thymikee commented Apr 5, 2019

Node 6 EOL is April 30th. As far as I know, it's April 5th today, so 25 days to go.

What's the point of having jsdom support bundled with Jest if users have to jump through hoops and use forked packages to use modern DOM features?

That's a good question. Personally I'd get rid of JSDOM environment from the core and install it as a dependency if one needs it. Maybe we'll get there one day.

@kleinfreund
Copy link

Now that Node 6 reached its end of life, how do we look with dropping it?

@jeysal
Copy link
Contributor

jeysal commented Jul 16, 2019

@kleinfreund in the next major, 25 :)

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants