Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: 0 B Total Size: 2.54 MB ℹ️ View Unchanged
|
|
The test timeouts give me some pause to whether the newer versions perform worse. I had seen some reports of this in jsdom/jsdom#3985 . I wonder if a smaller version bump would help give us what we need without risking the performance regression and allowing JSDOM. I notice v26.0.0 specifically calls out the "improved CSS parsing capabilities", so that could be a safer jump. |
|
As mentioned in #73308 (comment), v26 should be sufficient for our needs now. Let's put this on hold until some of the performance regressions and/or unsupported features in JSDOM get sorted out, or we have a need for the latest version. |
|
I looked into the JSDOM/CSS performance issues and posted this comment as a result: jsdom/jsdom#3985 (comment) |
What?
Updates JSDOM from v25 to v27 (25.0.1 to 27.2.0).
Why?
How?
Besides updating the dependencies themselves, a few tests needed to be changed due to changes in behavior of JSDOM.
These fall into two buckets:
nwsapito@asamuzakjp/dom-selectorFor the first, a detailed explanation is available at #73308 (comment) :
For the second, I was able to confirm in a minimal reproduced example that
@asamuzakjp/dom-selector's support of query selectors including HTML-encoded characters is not equivalent to how it would expect to behave in a real browser:It's not clear to me if this is a "bug", or if it's just a really bad idea to have HTML-encoded characters in an attribute like this and expect to be able to query it via
querySelector. Technically it's not invalid per HTML5.From what I could tell with the affected usage in
<Navigator>, navigator paths would usually be specified by a developer and should (hopefully?) not be so complex to require this level of handling. Although again noting that the underlying implementation is not revised here and it would continue to behave correctly in a real browser.Testing Instructions
Verify that unit tests continue to pass.