You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Occurs when using node v8.15.0 (which bundles npm v6.4.1).
When setting up the repo for the first time and using npm install, npm will install cheerio, one of our dependencies. cheerio in turn is dependent on htmlparser2.
When running npm install under npm v6.4.1, npm would not use our custom htmlparser2, but uses the one by the official version. This will cause an error for MarkBind v1.16.0 (provided by @Xenonym):
This does not seem to be solved by npm shrinkwrap.
$ npm shrinkwrap
$ rm -rf node_modules/
$ npm i
Could this be caused by upstream (fb55/htmlparser2) publishing v3.10.0 in October 2018? cheerio specifies "htmlparser2": "^3.9.1" and v3.10.0-markbind.1 < v3.10.0 (https://semver.org).
Could this be caused by upstream (fb55/htmlparser2) publishing v3.10.0 in October 2018? cheerio specifies "htmlparser2": "[^](https://stackoverflow.com/questions/22343224/whats-the-difference-between-tilde-and-caret-in-package-json)3.9.1" and v3.10.0-markbind.1 < v3.10.0 (https://semver.org).
You may be right. Tbh, I have not fully explored the settings and capabilities of npm shrinkwrap, I was hoping that it would be able to force cheerio to use a specific version of htmlparser2 (i.e. MarkBind/htmlparser2#v3.10.0-markbind.1), rather than allowing any latter version to be used.
Also I am not sure whether such a solution is the best idea going forward, but beyond pretty disruptive measures (e.g. forcing ourselves to incorporate all the latest changes in htmlparser2, or to use a completely different parse library), I am out of any other good ideas to resolve this issue. Any thoughts?
Occurs when using node v8.15.0 (which bundles npm v6.4.1).
When setting up the repo for the first time and using
npm install
, npm will install cheerio, one of our dependencies. cheerio in turn is dependent on htmlparser2.Due to issues with the way the original htmlparser2 parses the angular brackets, we had to fork our own custom version of htmlparser2 in order to fix the issue.
When running
npm install
under npm v6.4.1, npm would not use our custom htmlparser2, but uses the one by the official version. This will cause an error for MarkBind v1.16.0 (provided by @Xenonym):Solution: Use
npm shrinkwrap
to force cheerio to use our own version of htmlparser2.Temporary workaround: If you face this issue, discard the changes made by npm for
package-lock.json
, and redonpm install
.Additional info:
package-lock-new.json
is the one whereby cheerio uses the official version of htmlparser2.The text was updated successfully, but these errors were encountered: