v1.0.0-rc.6
Breaking:
- Fixed the ordering of the output of several methods, including
prevAll
,prevUntil
andparentsUntil
. The new order matches jQuery.
This release contains three breaking changes inherited from dependencies.
- Selectors (see css-select@4.0.0):
- Several pseudo selectors are now stricter, in line with the HTML spec.
- Some attributes are now case-insensitive based on the HTML spec.
- DOM:
- In XML mode, all elements will have
type: 'tag'
.
- In XML mode, all elements will have
New features:
- Add
.unwrap
(#1651 by @5saviahv) 2037d83 - Add
.wrapAll
(#1590 by @5saviahv) cd4a4d9 - Support
prop('innerHTML')
(#1578 by @fb55) c58258f - Expose the
scriptingEnabled
parse5 option (#1707 by @5saviahv) 7eb4cc4- By setting
scriptingEnabled
tofalse
, it is now possible to parse the contents of<noscript>
tags.
- By setting
Types:
- Improve
.load
type (#1584 by @f0x52) 6a90bda - Improve type for
.get
(#1759 by @karlhorky) d706976 - Add
.wrapAll
(#1740 by @5saviahv) b360762 - Allow
for of
loops (#1704 by @mcpiroman) 8fef5aa - Rename exported variable (#1682 by @dominik-korsa) 897b37f
- Fix
AttrFunction
arguments (#1669 by @maxma241) 5f2e9c3
Bug fixes:
- Fix handling of
undefined
as value in.attr()
(#1757 by @5saviahv) 98186e8 - Fix filter for
{prev,next}Until
(#1728 by @fb55) f2615d2 - Fix parentsUntil filtering (#1708 by @5saviahv) bf899d5
- Remove module caching dependency (#1691 by @5saviahv) a9d6a43
- Filter text nodes in
find
function (#1680 by @5saviahv) 9b28b49 - Fix
.add
modifying previous selections (#1656 by @5saviahv) 9f9b493 - Stop parent() from throwing an error in some cases (#1637 by @5saviahv) 43592d6
- Make it possible to
.find
siblings (#1583 by @fb55) 1062a6c - Fix
replaceWith
replacing element with itself (#1581 by @fb55) 88ae636 - Fix
attr
handling ofundefined
as value (#1582 by @fb55) 3b35ae4 - Support passing a single element to
load
(#1580 by @fb55) 0855be6 - Update attribute value when setting prop in
.prop
(#1579 by @fb55) db3fce7 - Add length instance property to all Cheerio instances (#1681 by @5saviahv) b3010d7
- Enforce LF (#1602 by @XhmikosR) 0bbad23
- .html() send context to parse5 (#1627 by @5saviahv) bf04330
Documentation updates:
- Switch website to clean-jsdoc-theme (#1648 by @XhmikosR) a336301
- Switch to shields.io for badges (#1611 by @XhmikosR) 290aa9f
- Minor typo fixes (#1606 by @XhmikosR) f5d6ac3
- Fix a few redirects (#1603 by @XhmikosR) 2ae9b14
- Use https when possible. (#1597 by @XhmikosR) c6679ae
- Add JSDoc docs, standardize (#1593 by @fb55) 8273e4c
- Document
after
,before
,slice
arguments, improve handling (#1721 by @5saviahv) 732d539 - Make link explicit (#1616 by @XhmikosR) d7c3817
- Fix readme link (#1618 by @XhmikosR) bdd6018
- Fix parameter types (#1615 by @fb55) 15e39cf
- Enable Markdown IDs in JSDoc (#1610 by @XhmikosR) f3e1a4c
- Add bugs and homepage properties to
package.json
(#1609 by @XhmikosR) ad3e30b - Explicitly set type for wrap(Inner) (#1668 by @5saviahv) 5b8dd60
Refactors:
- Use cheerio-select@1.0.0 (#1594 by @fb55) e8f5e98
- Fixes a deprecation warning.
- Simplify
quickExpr
(#1716 by @fb55) 4aa3d39 - Enable strict mode for all files (#1650 by @fb55) 208bce1
- Simplify
wrapAll
, add some tests (#1640 by @5saviahv) b6d3840 - Remove unneeded escapes (#1635 by @XhmikosR) bfa114e
- Move parsers to their own files (#1589 by @fb55) 63e4616
- Declare vars when used, streamline code (#1588 by @fb55) 69ae308
- Enable several eslint rules (#1617 by @XhmikosR) 21de2c5
- Enable
eqeqeq
eslint rule except for null (#1638 by @XhmikosR) 52f37a1 - Enable
block-scoped-var
eslint rule (#1631 by @XhmikosR) b072df8 - Enable
no-unused-expressions
eslunt rule (#1630 by @XhmikosR) fc2c7d5 - Remove eslint
--ignore-path
(#1612 by @XhmikosR) 17f0d08 - Merge .gitattributes (#1646 by @XhmikosR) 2fb25aa
- Remove Makefile, .prettierignore (#1614 by @fb55) 36c4c77
- Add a "bench" alias script (#1629 by @XhmikosR) bb6cb38
- Add jest & node eslint plugins (#1642 by @fb55) 075cc5d
- Remove the now unused xyz devDependency (#1628 by @XhmikosR) b93931a
- Remove the now unused entities package (#1613 by @XhmikosR) 18c0038
- Remove the now unused scripts (#1647 by @XhmikosR) a3f6846
CI:
- Switch to GitHub Actions CI (#1600 by @XhmikosR) b9453ea
- Update CI config (#1673 by @XhmikosR) 8ace785
- Fix benchmark skip check (#1634 by @XhmikosR) 703ec16
- Use
actions-gh-pages
(#1626 by @fb55) 9ee60cc - Update GitHub Actions too (#1605 by @XhmikosR) 05a4757
- Add
versioning-strategy: increase
for dependabot, format 71d2aaf
Test changes:
- Nesting level of some deeply nested tests decreased (#1734 by @5saviahv) 9743030
- Add tests for mixed elements and text (#1747 by @5saviahv) ca7cd9b
- test(cheerio): Fix typos in test names (#1748 by @atimidguy) fafae51
- Add test for #1092 (#1733 by @5saviahv) 1a86118
- test(tsc): Add expectType test (#1726 by @5saviahv) 6f35a39
.map
test was actually calling.each
(#1711 by @Pustur) 456fbe5- Prefer using
.toBeUndefined()
(#1659 by @XhmikosR) 5aa4272 - Prefer Jest's toBe true/false matcher. (#1639 by @XhmikosR) 4859684
- Add some tests (#1653 by @5saviahv) 1ebe05a
- Migrate to Jest (#1596 by @fb55) d60bac9
- Add CodeCQL Action (#1601 by @XhmikosR) 990e963
Commit Range:
v1.0.0-rc.5...v1.0.0-rc.6