[Snyk] Upgrade cheerio from 1.0.0-rc.2 to 1.0.0#40
Open
YoshiWalsh wants to merge 1 commit into
Open
Conversation
Snyk has created this PR to upgrade cheerio from 1.0.0-rc.2 to 1.0.0. See this package in npm: cheerio See this project in Snyk: https://app.snyk.io/org/joshuawalsh/project/f429e8ca-f9cd-4ebf-a425-40a0d88abc3c?utm_source=github&utm_medium=referral&page=upgrade-pr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Snyk has created this PR to upgrade cheerio from 1.0.0-rc.2 to 1.0.0.
ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
The recommended version is 11 versions ahead of your current version.
The recommended version was released on 2 months ago.
Issues fixed by the recommended upgrade:
SNYK-JS-PARSEURL-2935947
SNYK-JS-PARSEURL-2936249
SNYK-JS-ANSIREGEX-1583908
SNYK-JS-ANSIREGEX-1583908
SNYK-JS-ANSIREGEX-1583908
SNYK-JS-IP-6240864
SNYK-JS-Y18N-1021887
SNYK-JS-NCONF-2395478
SNYK-JS-NETMASK-1089716
SNYK-JS-NETMASK-6056519
SNYK-JS-NTHCHECK-1586032
SNYK-JS-PACRESOLVER-1564857
SNYK-JS-PARSEPATH-2936439
SNYK-JS-BL-608877
SNYK-JS-INI-1048974
SNYK-JS-SEMVER-3247795
SNYK-JS-SEMVER-3247795
SNYK-JS-SEMVER-3247795
SNYK-JS-LODASH-1040724
SNYK-JS-LODASH-567746
SNYK-JS-LODASH-608086
SNYK-JS-LODASH-6139239
SNYK-JS-LODASHSET-1320032
SNYK-JS-SNYK-3111871
SNYK-JS-SNYKDOCKERPLUGIN-3039679
SNYK-JS-IP-7148531
SNYK-JS-JSZIP-1251497
SNYK-JS-JSZIP-3188562
SNYK-JS-XML2JS-5414874
SNYK-JS-SNYKGOPLUGIN-3037316
SNYK-JS-SNYKGRADLEPLUGIN-3038624
SNYK-JS-SNYKMVNPLUGIN-3038623
SNYK-JS-SNYKPYTHONPLUGIN-3039677
SNYK-JS-SNYKSBTPLUGIN-3038626
SNYK-JS-SNYKSNYKCOCOAPODSPLUGIN-3038625
SNYK-JS-XML2JS-5414874
SNYK-JS-MINIMIST-559764
SNYK-JS-PARSEURL-2935944
SNYK-JS-CSSWHAT-3035488
SNYK-JS-DOTPROP-543489
SNYK-JS-GOT-2932019
SNYK-JS-HOSTEDGITINFO-1088355
SNYK-JS-INFLIGHT-6095116
SNYK-JS-PARSEURL-2942134
SNYK-JS-PARSEURL-3023021
SNYK-JS-PARSEURL-3024398
SNYK-JS-SNYK-3037342
SNYK-JS-SNYK-3038622
SNYK-JS-LODASH-1018905
SNYK-JS-MINIMATCH-3050818
npm:debug:20170905
npm:debug:20170905
SNYK-JS-WORDWRAP-3149973
SNYK-JS-MINIMIST-2429795
Release notes
Package name: cheerio
Cheerio 1.0 is here! 🎉
Announcement Blog Post
Breaking Changes
The minimum NodeJS version is now 18.17 or higher #3959
Import paths were simplified. For example, use
cheerio/sliminstead ofcheerio/lib/slim. #3970The deprecated default Cheerio instance and static methods were removed. #3974
Before, it was possible to write code like this:
html(cheerio('<test></test>')); // ~ '<test></test>' -- NO LONGER WORKS
Make sure to always load documents first:
cheerio.load('<test></test>').html();
Node types previously re-exported by Cheerio must now be imported directly
from (
domhandler)(https://github.com/fb55/domhandler). #3969htmlparser2 options now reside exclusively under the
xmlkey (#2916):New Features
Fixes
cheerio/utilsby @ blixt in #2601data, and simplify by @ fb55 in #2818closestbe able to start from text nodes by @ Qualtagh in #2811Other
Full Changelog: v1.0.0-rc.12...v1.0.0
Bugfix release. Fixed issues:
propundefined handling with jQuery by @ fb55 in #2557cheerio/lib/utilsby @ blixt in #2601New Contributors
Full Changelog: v1.0.0-rc.11...v1.0.0-rc.12
cheerio@1.0.0-rc.11is 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: Anexractmethod (#2523) and NodeJS specific loader methods (#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
scriptandstylecontents are added again in.text()#2509.text()to.prop('innerText')Features
cheerio-select#2511pseudosoption..prop()method:textContentandinnerTextprops #2214baseURIoption, which will lead tohrefandsrcprops to be resolved as URLs. #2510slimexport, which will always use htmlparser2 #1960Fixes
textturn passed values to strings #2047undefinedin the return type ofgetby @ glen-84 in #2392undefinedreturn value #2505Refactor
domutilsmodule directly #1928isHTML#1935load#1951closest#2057Development Experience
Docs
New Contributors
Full Changelog: v1.0.0-rc.10...v1.0.0-rc.11
Fixes:
.html(node)now moves passed nodes (#1923, fixes #940) 258b26bfilterwork on all collections (#1870, fixes #1867) fb8d31eDocumentation:
require5dfbd35Refactors:
traversing(#1909) 58e090aistotraversing, optimize (#1908) 1c6fa3edomEach(#1892) feda230loadexport a function (#1869) c370f4ev1.0.0-rc.9...v1.0.0-rc.10
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 therequireto use thedefaultexport.+ const cheerio = require("cheerio").default;
cheerio('div', dom)
Please note that this way of using Cheerio is deprecated and might be removed in a future version. Please consider updating your code to:
const $ = cheerio.load(dom)
$('div')
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.Nodeis the base class for DOM elements and includes eg. comment and text nodes.$('.foo'), it will produce aCheerio<Element>, as onlyElements can be part of the result set.Elementis 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.attris 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.6...v1.0.0-rc.9
Second botched release. Please use
v1.0.0-rc.9instead.Published without a
libdirectory — please ignore.Breaking:
prevAll,prevUntilandparentsUntil. 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) cd4a4d9prop('innerHTML')(#1578 by @ fb55) c58258fscriptingEnabledparse5 option (#1707 by @ 5saviahv) 7eb4cc4scriptingEnabledtofalse, it is now possible to parse the contents of<noscript>tags.Types:
.loadtype (#1584 by @ f0x52) 6a90bda.get(#1759 by @ karlhorky) d706976.wrapAll(#1740 by @ 5saviahv) b360762for ofloops (