Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0.0 #1145

Merged
merged 36 commits into from
Oct 3, 2018
Merged

v1.0.0 #1145

merged 36 commits into from
Oct 3, 2018

Conversation

fb55
Copy link
Member

@fb55 fb55 commented Feb 21, 2018

Wanted to open this to track remaining work and get the final 1.0.0 release going.

Should be resolved:

Other improvements:

  • Update css-select dep
  • (Optional) use prettier for consistent styling?

Closes #1047, #985

@jugglinmike Anything else you can think of? I should have sufficient availability next week, happy to look into this.

@jugglinmike
Copy link
Member

This is great! Thanks for taking the lead here.

One thing from Matt's original issue about 1.0 that I liked was a formalization of the API documentation. I did some work toward this end in the fall of last year, but I never submitted it for review because JSDoc (the documentation generator I selected) is missing a feature that is crucial for the Cheerio API.

While I think it would be nice to have a solid website available with the announcement of version 1.0, that is far less important than the technical improvements that we want to publish. I'm really pleased that you're taking initiative on this, and I don't want to get in the way. I'm thinking that there is still value in the consistent use of JSDoc over our current solution (where usage information is split between the source code and the overlong README.md file) even without documentation generation.

If you agree, then I can rebase those changes and remove the build process.

What do you think?

@fb55 fb55 force-pushed the v1.0.0 branch 2 times, most recently from 5dd00be to f86985f Compare February 27, 2018 22:31
inikulin and others added 14 commits March 9, 2018 16:42
Update test phrasing according to recent changes in parsing logic.
Limit responsibility of "pre-publish" script to simply validate the
project's `History.md` 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
notes.
Simply expose an option named `xml` that enables XML parsing via
htmlparser2 with the ability to specify additional options for that
parser.
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.
Incorporate recent feedback from consumers who have experimented with
the version 1.0 release candidate.
greenkeeper bot and others added 9 commits March 9, 2018 08:01
Breaking change: Invalid selectors now throw Errors, not SyntaxErrors.
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.
… 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)
This includes code coverage reports as generated by the command `make
test-cov`.
* Correct typo in git hook configuration

* Reformat package manifest to satisfy linter
@fb55
Copy link
Member Author

fb55 commented Mar 13, 2018

Opened PRs for all the changes I wanted to make. Once these are merged we might want to write an accompanying post somewhere (eg. Medium) basically outlining what changed and do a big release :D

@fb55
Copy link
Member Author

fb55 commented Mar 15, 2018

@jugglinmike Adding jsdoc is still super valuable, and not something we should skip just because we can't model one relationship. We could also use something like https://github.com/bradtaylorsf/markdown-magic-jsdoc as a very simple way to generate markdown from jsdoc comments.

@jugglinmike
Copy link
Member

One thing I would like to avoid is checking generated assets into the main development branch. That practice causes confusion for new contributors and also adds noise to the commit history.

But your point about the value of the change and the relative unimportance of the issue is well-taken. I think this is a case where I've gotten too hung up on a small detail. Thanks for making that more clear!

I've rebased that documentation branch and submitted it at gh-1165.

Looking forward to writing that blog post :)

@fb55
Copy link
Member Author

fb55 commented Mar 25, 2018

One thing I would like to avoid is checking generated assets into the main development branch. That practice causes confusion for new contributors and also adds noise to the commit history.

We should figure out a way to automate generation of docs then. Having them in the main branch would make it easy, as Github pages would just pick them up (and we could link to it). We could even add a precommit hook that automatically generates docs whenever you commit.

One alternative would be something like Netlify, which could pull the master branch automatically.

Looking forward to writing that blog post :)

You are definitely the one deserving most of the credit here, happy to proof-read drafts or help in any other way!

@jugglinmike
Copy link
Member

We should figure out a way to automate generation of docs then. Having them in the main branch would make it easy, as Github pages would just pick them up (and we could link to it). We could even add a precommit hook that automatically generates docs whenever you commit.

There are a couple downsides to using githooks to synchronize redundant documentation files on the master branch:

  • Increased noise (either via extra "publication" commits or squashed into the code changes themselves)
  • Tight coupling between the state of master and the state of the website (if master has unreleased features, we won't be able to re-publish the docs until we release a new version of the library)

How about publishing docs to a dedicated branch instead? We can push to that branch at any moment, using whatever branch (master or some hotfix) that we please.

@fb55
Copy link
Member Author

fb55 commented Apr 20, 2018

How about publishing docs to a dedicated branch instead? We can push to that branch at any moment, using whatever branch (master or some hotfix) that we please.

I like that approach, happy to go forward with it!

Sorry for taking a bit :/

jugglinmike and others added 3 commits April 21, 2018 11:52
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.
Methods named `load`, `html`, `xml`, and `text` are defined in many
locations:

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
@gajus
Copy link

gajus commented Aug 20, 2018

Sorry for taking a bit :/

Is the this PR safe to use other than #1050?

@fb55
Copy link
Member Author

fb55 commented Oct 3, 2018

Merging this to master to push us to get this out eventually. I've created a project that allows us to track progress.

@fb55 fb55 merged commit ca6963c into master Oct 3, 2018
jugglinmike added a commit to jugglinmike/cheerio that referenced this pull request 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
composit commits should be preserved, and the branch should be
incorporated into `master` via a dedicated merge commit.
jugglinmike added a commit to jugglinmike/cheerio that referenced this pull request 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.
@jugglinmike
Copy link
Member

Glad to see some movement here, but I think the context of this branch make
GitHub's "Squash and Merge" feature undesirable. I'd like to propose landing
this work with a dedicated merge commit, so I've opened gh-1231 to make that
possible.

Separately: I agree that we should get moving on this, but I'd rather not merge
the branch until it is ready so that master remains in a consistent state.

fb55 pushed a commit that referenced this pull request 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.
@andykais andykais mentioned this pull request Dec 6, 2018
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Add 1.0.0-rc.1 to History.md
8 participants