Repository navigation
eslint broken when node built without openssl #5610
Description
Activity
- addedtoolsIssues and PRs related to the tools directory.Issues and PRs related to the tools directory.
on Mar 8, 2016 Why do we use
./nodeto run it? It can be broken at any point, doesn't it make sense to use globalnodewhich is known to be stable?That would assume that the machine has a global node installed, which may not be the case.
I don't think we can make an assumption about a global node.
They seem to use md5 from crypto:
/** * create a md5Hash of a given string * @param {string} str the string to calculate the hash for * @returns {string} the calculated hash */ function md5Hash(str) { return crypto .createHash("md5") .update(str, "utf8") .digest("hex"); }
Perhaps just file a PR upstream with a javascript version of md5?
@jasnell it should be a requirement, then.
@vkurchatkin I disagree, everything else works without a global node and iirc that is how the CI runs. We should attempt to make it run without that.
@Fishrock123 the idea is that node compiled without OpenSSL is kind of broken: a lot of modules won't work. We can make eslint work by sticking js implementation of md5, but it is not a good long term solution:
- updates (including dependencies) can break it again
./nodecan be broken in many other ways that could preventeslintand other tools from running correctly
@vkurchatkin if its broken we shouldn't support it.
The test suite currently passes (albeit with skipped crypto tests) and I don't think we should remove that build option.
@jbergstroem it's broken in a sense that it's not "node" platform, it's "node-without-ssl" platform, and
eslintdoesn't support running on "node-without-ssl". Using js implementation of md5 is not going to change that.@vkurchatkin ok;
lib/cli-enginewas the only occurrence I could find. Got more info about eslint not supporting being run on "node-without-ssl"?@jbergstroem by supporting "node-without-ssl" I mean running tests on it as a part of CI. It's very unlikely that they would do this (nobody does)
The other option here is to simply disable
make lintand linting duringmake testwhen openssl is not available.FWIW, in CI we run nodejs from FreeBSD's
pkg. I'd still argue that the tradeoff for eslint to support non-ssl nodejs is so small they (I) should patch (PR) it.Fixed with #6132.
When building Node.js with
configure --without-ssl,make lintandmake testerror out with: