Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.0.0-rc.3
->1.0.0
Release Notes
cheeriojs/cheerio (cheerio)
v1.0.0
Compare Source
Cheerio 1.0 is here! 🎉
Announcement Blog Post
Breaking Changes
The minimum NodeJS version is now 18.17 or higher https://github.com/cheeriojs/cheerio/pull/3959
Import paths were simplified. For example, use
cheerio/slim
instead ofcheerio/lib/slim
. https://github.com/cheeriojs/cheerio/pull/3970The deprecated default Cheerio instance and static methods were removed. https://github.com/cheeriojs/cheerio/pull/3974
Before, it was possible to write code like this:
Make sure to always load documents first:
Node types previously re-exported by Cheerio must now be imported directly
from (
domhandler
)(https://github.com/fb55/domhandler). https://github.com/cheeriojs/cheerio/pull/3969htmlparser2 options now reside exclusively under the
xml
key (https://github.com/cheeriojs/cheerio/pull/2916):New Features
Fixes
cheerio/utils
by @blixt in https://github.com/cheeriojs/cheerio/pull/2601data
, and simplify by @fb55 in https://github.com/cheeriojs/cheerio/pull/2818closest
be able to start from text nodes by @Qualtagh in https://github.com/cheeriojs/cheerio/pull/2811Other
Full Changelog: cheeriojs/cheerio@v1.0.0-rc.12...v1.0.0
v1.0.0-rc.12
Compare Source
Bugfix release. Fixed issues:
prop
undefined handling with jQuery by @fb55 in https://github.com/cheeriojs/cheerio/pull/2557cheerio/lib/utils
by @blixt in https://github.com/cheeriojs/cheerio/pull/2601New Contributors
Full Changelog: cheeriojs/cheerio@v1.0.0-rc.11...v1.0.0-rc.12
v1.0.0-rc.11
Compare Source
cheerio@1.0.0-rc.11
is hopefully the last RC before the 1.0.0 release of Cheerio. There are two APIs that will be added for the next major release: Anexract
method (https://github.com/cheeriojs/cheerio/issues/2523) and NodeJS specific loader methods (https://github.com/cheeriojs/cheerio/issues/2051). These are still in flux and I'd appreciate feedback on the proposals.A big thank you to everyone that contributed to this release! This includes code contributors, as well as the amazing financial support on GitHub Sponsors!
Under the hood, a lot of work for this release went into updating parse5, cheerio's default HTML parser. Have a look at parse5's release notes to see what has changed there.
Breaking
script
andstyle
contents are added again in.text()
https://github.com/cheeriojs/cheerio/pull/2509.text()
to.prop('innerText')
Features
cheerio-select
https://github.com/cheeriojs/cheerio/pull/2511pseudos
option..prop()
method:textContent
andinnerText
props https://github.com/cheeriojs/cheerio/pull/2214baseURI
option, which will lead tohref
andsrc
props to be resolved as URLs. https://github.com/cheeriojs/cheerio/pull/2510slim
export, which will always use htmlparser2 https://github.com/cheeriojs/cheerio/pull/1960Fixes
text
turn passed values to strings https://github.com/cheeriojs/cheerio/pull/2047undefined
in the return type ofget
by @glen-84 in https://github.com/cheeriojs/cheerio/pull/2392undefined
return value https://github.com/cheeriojs/cheerio/pull/2505Refactor
domutils
module directly https://github.com/cheeriojs/cheerio/pull/1928isHTML
https://github.com/cheeriojs/cheerio/pull/1935load
https://github.com/cheeriojs/cheerio/pull/1951closest
https://github.com/cheeriojs/cheerio/pull/2057Development Experience
Docs
New Contributors
Full Changelog: cheeriojs/cheerio@v1.0.0-rc.10...v1.0.0-rc.11
v1.0.0-rc.10
Compare Source
Fixes:
.html(node)
now moves passed nodes (#1923, fixes #940)258b26b
b393e4a
8f55dd8
filter
work on all collections (#1870, fixes #1867)fb8d31e
5cd2b9c
Documentation:
880fd2c
e0c7cbb
require
5dfbd35
Refactors:
traversing
(#1909)58e090a
is
totraversing
, optimize (#1908)1c6fa3e
domEach
(#1892)feda230
load
export a function (#1869)c370f4e
v1.0.0-rc.9
Compare Source
Port to TypeScript
Cheerio has been ported entirely to TypeScript (in #1816)! This eliminates a lot of edge-cases within Cheerio and will allow you to use Cheerio with confidence. This release also features a new documentation website based on TypeDoc, allowing you to quickly navigate all available methods: https://cheerio.js.org
Breaking change: If you were using the function exported by Cheerio directly instead of first
load()
ing a document, you will now have to update therequire
to use thedefault
export.Please note that this way of using Cheerio is deprecated and might be removed in a future version. Please consider updating your code to:
Note: Cheerio uses template literal types to determine return types. These are available starting with TypeScript 4.1, so you might have to bump your TypeScript version.
For TypeScript types, Cheerio now implements the
ArrayLike<T>
interface. That means that Cheerio instances can contain objects of arbitrary types, but not all methods can be called on them.The TypeScript compiler will figure out what structures you are operating on:
$('<div>')
, it will product aCheerio<Node>
type.Node
is the base class for DOM elements and includes eg. comment and text nodes.$('.foo')
, it will produce aCheerio<Element>
, as onlyElement
s can be part of the result set.Element
is the class representing tags.$('...').map()
to map to arbitrary values, and will get a compiler error when trying to call method that are not supported.$('.foo').map((i, el) => $(el).text()).attr('test')
will no longer be possible, as.attr
is not allowed to be called on aCheerio<string>
.This release does not contain other changes to functionality. Feedback is greatly appreciated; if you encounter a problem, please file an issue!
v1.0.0-rc.8
Compare Source
Second botched release. Please use
v1.0.0-rc.9
instead.v1.0.0-rc.7
Compare Source
Published without a
lib
directory — please ignore.v1.0.0-rc.6
Compare Source
Breaking:
prevAll
,prevUntil
andparentsUntil
. The new order matches jQuery.This release contains three breaking changes inherited from dependencies.
type: 'tag'
.New features:
.unwrap
(#1651 by @5saviahv)2037d83
.wrapAll
(#1590 by @5saviahv)cd4a4d9
prop('innerHTML')
(#1578 by @fb55)c58258f
scriptingEnabled
parse5 option (#1707 by @5saviahv)7eb4cc4
scriptingEnabled
tofalse
, it is now possible to parse the contents of<noscript>
tags.Types:
.load
type (#1584 by @f0x52)6a90bda
.get
(#1759 by @karlhorky)d706976
.wrapAll
(#1740 by @5saviahv)b360762
for of
loops (#1704 by @mcpiroman)8fef5aa
897b37f
AttrFunction
arguments (#1669 by @maxma241)5f2e9c3
Bug fixes:
undefined
as value in.attr()
(#1757 by @5saviahv)98186e8
{prev,next}Until
(#1728 by @fb55)f2615d2
bf899d5
a9d6a43
find
function (#1680 by @5saviahv)9b28b49
.add
modifying previous selections (#1656 by @5saviahv)9f9b493
43592d6
.find
siblings (#1583 by @fb55)1062a6c
replaceWith
replacing element with itself (#1581 by @fb55)88ae636
attr
handling ofundefined
as value (#1582 by @fb55)3b35ae4
load
(#1580 by @fb55)0855be6
.prop
(#1579 by @fb55)db3fce7
b3010d7
0bbad23
bf04330
Documentation updates:
a336301
290aa9f
f5d6ac3
2ae9b14
c6679ae
8273e4c
after
,before
,slice
arguments, improve handling (#1721 by @5saviahv)732d539
d7c3817
bdd6018
15e39cf
f3e1a4c
package.json
(#1609 by @XhmikosR)ad3e30b
5b8dd60
Refactors:
e8f5e98
quickExpr
(#1716 by @fb55)4aa3d39
208bce1
wrapAll
, add some tests (#1640 by @5saviahv)b6d3840
bfa114e
63e4616
69ae308
21de2c5
eqeqeq
eslint rule except for null (#1638 by @XhmikosR)52f37a1
block-scoped-var
eslint rule (#1631 by @XhmikosR)b072df8
no-unused-expressions
eslunt rule (#1630 by @XhmikosR)fc2c7d5
--ignore-path
(#1612 by @XhmikosR)17f0d08
2fb25aa
36c4c77
bb6cb38
075cc5d
b93931a
18c0038
a3f6846
CI:
b9453ea
8ace785
703ec16
actions-gh-pages
(#1626 by @fb55)9ee60cc
05a4757
versioning-strategy: increase
for dependabot, format71d2aaf
Test changes:
9743030
ca7cd9b
fafae51
1a86118
6f35a39
.map
test was actually calling.each
(#1711 by @Pustur)456fbe5
.toBeUndefined()
(#1659 by @XhmikosR)5aa4272
4859684
1ebe05a
d60bac9
990e963
Commit Range:
v1.0.0-rc.5
Compare Source
Hotfix release
cheerio-select-tmp
until naming issue is resolved3751929
v1.0.0-rc.4
Compare Source
Welcome to
cheerio@1.0.0-rc.4
! This is the last pre-release before a full1.0.0
release — please make sure to test this release and report any issues you might find.This release was made possible by our supporters on Open Collective. If you want to support this project going forward, have a look at sponsorship options!
Breaking:
parse5
, cheerio temporarily has a minimum Node version of Node 6. See #1585 for details.root
reference. The root node is now referenced by theparent
property.04091a4
by @fb55)New Features:
for...of
iterator viaSymbol.iterator
(#1197 by @papandreou)wrapInner
(9ffc557
by @fb55, based on work by @tomjw64 and @warrengm)removeAttr
accept a list of attributes to remove (#1561 by @fb55)prop(‘outerHTML’)
implementation (#945 by @bill-bishop)Bug Fixes:
.prev()
afterreplaceWith()
(#1254 by @Gei0r).xml
calls on HTML documents (#1572 by @fb55)cheerio.load()
(#1087 by @zeke)locationInfo
option to parse5 (#1155 by @trevorhreed)Other notable changes:
domhandler
nodes directly (#1564 by @fb55)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.