Open huangduo-myob opened 2 months ago
Cheerio was in RC, meaning it can change as it wishes until the official release. Pinning dependencies is crucial and especially crucial when using experimental packages.
Maybe I'm missing something here, but rc12 is completely different to how the bundle looks from 1.0, and how it's consumed..... It goes from a "lib" directory with transpiled code (looks like es5 target, but I could be wrong) -- into type=module, a "dist" directory with js files having "import/export" statements..... and, "1.0.0" is an in-range update of "^1.0.0-rc.12"
For my two cents, I ran an npm update and jest started screaming at me about unexpected export syntax and failed all my tests. Anyone who is using enzyme in their scripts with jest and runs an npm update
now has broken tests on their hands.... with npm8, adding the following to package.json will help -- at least until the dust settles and the ecosystem catches up:
+ "overrides": {
+ "enzyme": {
+ "cheerio": "1.0.0-rc.12"
+ }
+ },
I agree with OP. Publish 1.01 as an alias of 1.0.0-rc.12, deprecate 1.0.0, and publish whatever cheerio is today as 2.0
I am super excited and appreciate cheerio reaches a new milestone.
Cheerio 1.0 is out! After 12 release candidates and just a short seven years after the initial 1.0 release candidate, it is finally time to call Cheerio 1.0 complete. ...
Indeed. Normally a release candidate version should not introduce new breaking changes. And release candate version should just hold a small period of time, not 7 years....
It will be great, if it is possible to
Same issue here. In my case, the changes broke our rollup compilation with super-weird issues (something pointing to the parsing of code tables). It took me hours to track down the root issue:
Another dev of our team had added ^1.0.0-rc2
to their repo, with a pinned package-lock.json.
This worked fine, until I copied that dependency to another repo, when re-using said code, and did not have a package-lock.json containing the pinned down version. And bam, it broke the whole build process.
I can understand that a RC might still contain breaking changes. But if they are so fundamental, this can really break things unexpectedly. BTW: I wasn't aware until this point that a -rc2 prefix will automatically be resolved to the released version once it gets published.