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.6
->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
[email protected]
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.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.