Skip to content
Branch: master
Commits on Jun 10, 2019
  1. Create FUNDING.yml

    fb55 committed Jun 10, 2019
Commits on May 5, 2019
  1. Remove 8x performance claim

    matthewmueller committed May 5, 2019
    This was true many years ago, but JSDOM is a lot faster now. See [this issue](#700) for more details.
Commits on Apr 21, 2019
  1. Update dependencies & fix vulnerability (#1281)

    dzcpy authored and fb55 committed Apr 21, 2019
    * update dependencies
    * update dependencies
    * Update package.json
    * Update package.json
    * Fix weird xml mode issue
    * Fix package-lock.json and update vulnerable modules
    * Remove Node 0.12 from Travis test environments
    * Fix JSDOM API issue
    * Fix JSDOM new API
    * Delete package-lock.json
Commits on Apr 20, 2019
  1. (docs) fixed some small errors

    0xflotus authored and fb55 committed Feb 13, 2019
Commits on Mar 28, 2019
Commits on Jan 30, 2019
  1. Fix error for cheerio.css

    luanmuniz authored and fb55 committed Jan 30, 2019
    cheerio.css on empty elements set throws, jQuery returns undefined.
    This PR Checks for the element before checking the styles.
    Include tests
    Signed-off-by: Luan <>
Commits on Oct 8, 2018
  1. Revert "v1.0.0 (#1145)" (#1231)

    jugglinmike authored and fb55 committed Oct 8, 2018
    This reverts commit ca6963c.
    The `v1.0.0` branch was a long-running feature branch containing a large
    amount of disparate commits from many authors. It was squashed into a
    single commit prior to being merged to the project's `master` branch.
    For the purposes of attribution, reference, and history analysis, the
    composite commits should be preserved, and the branch should be
    incorporated into `master` via a dedicated merge commit.
Commits on Oct 3, 2018
  1. Update

    fb55 committed Oct 3, 2018
    Document the current state of master
  2. v1.0.0 (#1145)

    fb55 committed Oct 3, 2018
    * Use parse5 as a default parser (closes #863)
    * Use documents via $.load
    * Add test for #997
    * Change options format
    * Update unit test
    Update test phrasing according to recent changes in parsing logic.
    * 1.0.0-rc.1
    * Improve release process
    Limit responsibility of "pre-publish" script to simply validate the
    project's `` file (by verifying an entry for the current
    release). Define a separate script for history generation. Separating
    the workflow in this way allows for manual modification of the release
    * Correct errors in
    * Document advanced usage with htmlparser2
    * Update (and include migration guide)
    * Remove documentation for `xmlMode` option
    Simply expose an option named `xml` that enables XML parsing via
    htmlparser2 with the ability to specify additional options for that
    * Rename `useHtmlParser2` option
    This flag is used to control parsing behavior internally, but it is not
    intended for use by consumers. Prefix the name with an underscore in
    order to discourage users from relying on it.
    * Re-write migration guide for version 1.0 (#1078)
    Incorporate recent feedback from consumers who have experimented with
    the version 1.0 release candidate.
    * Pass locationInfo option to parse5 (#1155)
    * Update css-select to the latest version 🚀 (#1158)
    Breaking change: Invalid selectors now throw Errors, not SyntaxErrors.
    * Use eslint & prettier, add precommit hook (#1152)
    * chore(package): update mocha to version 5.0.4 (#1088)
    * Ensure text nodes expose the DOM level 1 API
    Since enabling the `withDomLvl1` parsing option, nodes cannot be created
    with an object literal. Create new text nodes using the `evaluate`
    function to ensure they expose the correct attributes.
    * fixing missing prop(‘outerHTML’) implementation.
Added an ‘outerHTML’ case to the switch in the prop function, which wraps a clone of  in a container element, and sets  to that container's HTML (#945)
    * Do not lint files excluded from version control (#1162)
    This includes code coverage reports as generated by the command `make
    * Correct typo in git hook configuration (#1163)
    * Correct typo in git hook configuration
    * Reformat package manifest to satisfy linter
    * Fix .text with a function as the argument
    * Fix `.text` being called on a collection with size > 1 with a function
    * chore(package): update coveralls to version 3.0.0 (#1086)
    * Update jsdom to the latest version 🚀 (#1008)
    * Throw a useful error on invalid input to cheerio.load() (#1087)
    * Procedurally generate API documentation from source (#1165)
    * Use parse5 to serialize the DOM, use lodash to clone dom
    * Fix DoS/RCE vulnerability in lodash@4.15.0 (#1179)
    fixes #1175
    *  Add eslint-plugin-jsdoc, improve documentation (#1168)
    * Improve variable names (#1183)
    Promote consistency in variable names within the project's source and
    unit tests. This helps to highlight the distinction between the object
    exported by the module and the function produced by the `load` method.
    The latter value is expected to mimic the jQuery API, while the former
    value generally should only be used for a small set of methods specific
    to Cheerio:
    - `load`
    - `html`
    - `xml`
    - `text`
    Other usages of the exported object are discouraged, and a future patch
    will update the unit tests to reflect the usages that are endorsed for
    long-term stability.
    * Formally test deprecated APIs (#1184)
    Methods named `load`, `html`, `xml`, and `text` are defined in many
    Today, Cheerio defines multiple versions of methods named `load`,
    `html`, `xml`, `text`, and `parseHTML`. These alternate versions may be
    defined in up to three distinct parts of the API:
    - exported by the Cheerio module
    - as static methods of the "loaded" Cheerio factory function
    - as instance methods of the "loaded" Cheerio factory function
    Some of these are surperfluous, and because some unecessarily conflict
    with idiomatic jQuery coding patterns, they have been designated for
    future removal [1].
    Add tests for the deprecated methods in order to avoid regressions prior
    to their removal. Insert comments to delineate the methods which are
    endorsed and which have been deprecated. For the latter group of
    methods, include recommendation for the preferred alternatives.
    [1] #1122
    * Implement for...of iterator via Symbol.iterator (#1197)
    * Implement for...of iterator via Symbol.iterator
    Similar to jQuery:
    Fixes #1191
    * Assert that the iterator ends
    #1197 (comment)
Commits on Aug 20, 2018
  1. Fix running test on Windows (#1209)

    bzoz authored and fb55 committed Aug 20, 2018
    Moves lint and test script call from Makefile to package.json. Makes the test run on all platforms.
Commits on Mar 29, 2018
  1. Added support for inherited props in .props(...) validation (#1146)

    wahajdar authored and fb55 committed Mar 29, 2018
    * added support for inherited props in .props(...) validation
    * added test case for inherited props support
Commits on Mar 9, 2018
  1. Fix spelling (#1157)

    besteman authored and fb55 committed Mar 9, 2018
Commits on Mar 6, 2018
  1. Set theme jekyll-theme-cayman

    fb55 committed Mar 6, 2018
  2. Create CNAME

    fb55 committed Mar 6, 2018
Commits on Feb 27, 2018
  1. Add note about XML namespace to README (#1151)

    gkatsev authored and fb55 committed Feb 27, 2018
Commits on Dec 25, 2017
  1. Add Missing serialize Documentation (#1111)

    dhurlburtusa authored and fb55 committed Dec 25, 2017
Commits on Jul 28, 2017
  1. Create

    fb55 committed Jul 28, 2017
Commits on Jun 7, 2017
  1. Add table of contents.

    leonard-thieu authored and fb55 committed Jun 5, 2017
Commits on Jun 2, 2017
  1. replace job board with open collective

    matthewmueller committed Jun 2, 2017
Commits on May 27, 2017
  1. Merge branch 'add-inner-wrap'

    jugglinmike committed May 27, 2017
  2. Normalize code style

    jugglinmike committed May 27, 2017
  3. Added support for nested wrapping.

    DianeLooney authored and jugglinmike committed May 3, 2017
    Currently it follows the first children down and places it there.
    Probably needs more test cases written.
  4. Add nested wrapping test

    regularfellow authored and jugglinmike committed Apr 11, 2017
Commits on May 17, 2017
  1. Added $.merge following the specification at…

    DianeLooney authored and fb55 committed May 8, 2017
    Added test cases for $.merge
Commits on May 7, 2017
  1. Clarify project scope in README file

    jugglinmike authored and fb55 committed Apr 30, 2017
    The project frequently receives bug reports from new users who expect
    full web browser behavior. The project documentation does not make it
    particularly clear that such functionality is out-of-scope for the
    project. It includes some text that is specific to the JSDom project,
    but that explanation assumes familiarity with JSDom, and its location
    at the end of the file makes it easy to miss.
    Explicitly describe the scope of the project in the introductory section
    of the README file, prior to API documentation and remove the
    JSDom-specific text.
  2. .text() ignores script and style tags (#1018)

    Haleem Assal authored and fb55 committed May 7, 2017
    * text function ignores script and style tags
    * .text() ignores script and style tags
  3. Test suite housekeeping (#1016)

    DianeLooney authored and fb55 committed May 7, 2017
    * Added some tests to increase coverage.
    Cleaned up attributes.val() tests to match the existing style.
    * Cleaned up the test cases I added in last commit.
Commits on Apr 25, 2017
  1. Merge pull request #1011 from cheeriojs/job-board

    matthewmueller committed Apr 25, 2017
    Experiment with a job board
  2. experiment with a job board

    matthewmueller committed Apr 25, 2017
Commits on Apr 2, 2017
  1. Update .filter function docs.

    konstantin-popov authored and fb55 committed Mar 31, 2017
    Callback passed to function `filter` get called with 2 arguments (`index` and `element`).
  2. Standardise readme on ES6 variable declarations

    dekatron authored and fb55 committed Apr 1, 2017
    - Previously docs contained examples using a mix of ES5 and ES6 syntax as well as some missing variable declarations.
    - The first example (that did use ES6) used let instead of const, it seems to be considered best practice to use const when ever possible (i.e. when a pointer is not going to change, even if it's value does in the case of objects an arrays)
Commits on Feb 17, 2017
  1. Fix small typo in Readme

    darrenscerri committed Feb 17, 2017
Commits on Feb 12, 2017
  1. Report test failures in CI

    jugglinmike authored and fb55 committed Feb 12, 2017
    Due to occasional unavailability in the code coverage reporting service,
    the continuous integration environment does not reject builds that
    experience issues with this task.
    This behavior was previously implemented in such a way to allow errors
    of *any* kind--including test failures. Re-implement to limit the scope
    of "allowed errors," to the reporting command only.
Commits on Jan 22, 2017
  1. serializeArray should not ignore input elements without value attributes

    rgladwell authored and jugglinmike committed Apr 5, 2016
    serializeArray ignores input elements without value attributes. The
    value attribute is optional for most types of input elements, however:
    In this case, input elements without a value attribute should be parsed
    by this function, and default to an empty string value.
  2. Disallow variable shadowing

    jugglinmike authored and fb55 committed Jan 1, 2016
    When variable binding identifies are re-used in nested scopes
    ("shadowing"), code readability suffers. The same identifier may
    describe many distinct values in memory, and the process of
    disambiguating requires explicit attention from the reader. Mistakes
    made in this process can trigger bugs which, unlike unresolvable
    references, are not immediately apparent.
    Configure JSHint to warn on occurrences of nested reuse of variable
    binding identifiers in order to promote code clarity. Update the
    codebase to satisfy this new constraint.
You can’t perform that action at this time.