build: don't store eslint locally#54231
Conversation
|
Review requested:
|
|
CC @nodejs/build @nodejs/linting |
986840b to
e8d9745
Compare
|
Reviewers, please review the commit '(review changes)'. The first commit removes the |
e8d9745 to
1e378c0
Compare
|
Everything is passing! The failure is because of #54229. The original PR didn't see any objections, is this good to land in the coming days? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #54231 +/- ##
==========================================
+ Coverage 87.10% 87.33% +0.23%
==========================================
Files 647 648 +1
Lines 181693 182321 +628
Branches 34869 34972 +103
==========================================
+ Hits 158256 159225 +969
+ Misses 16733 16371 -362
- Partials 6704 6725 +21 |
|
I'm +1 to this approach, but feel like there's probably folks who have more domain knowledge about this who should actually be the ones to approve it. |
|
I don't think there was any specific reason why those linters were checked into the repo besides maybe offline functionality, but I think that's likely no longer needed. |
|
Great! I'm glad y'all are on board! Seeing as the linting is passing (except for the unrelated issue), all looks good in terms of land-ability. Although, I assume this needs a CI to land. |
|
CI is passing. 🎉 |
aduh95
left a comment
There was a problem hiding this comment.
Everytime I run e.g. make lint-js on this branch, it runs npm. Can you make it sure npm is run only when there were changes in the package-lock.json?
FWIW, it's possible to achieve on-demand node_modules: package-lock.json
npm install --no-save
@touch node_modules |
b003520 to
d9eb162
Compare
d9eb162 to
d3fa8b0
Compare
|
Any more changes needed? |
d3fa8b0 to
6b95bab
Compare
|
Thanks for approving! Does anyone else have any more feedback? It's been a while since any reviews. |
|
No objections in a week, is this |
|
node/doc/contributing/collaborator-guide.md Lines 900 to 908 in 27f1306 so this is not author ready because there are no recent Jenkins CI run. If you start one, it would be. |
|
Per @aduh95's comment:
|
|
The MacOS CI appears to have failed to start, could someone restart it? As for the linked linux OpenSSL one, see #54737 |
|
FWIW CI is 🟢 (Yay!) |
|
Landed in 437e168 |
PR-URL: #54231 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: nodejs#54231 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: nodejs#54231 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This PR removes
eslintas a local dependency and switches to downloading it fromnpm. It will still be updated regularly via @dependabot.Why?
eslintis the only linter stored locally (besidescpplint, which has patches, unlike ESLint).make test? #39709, make -s test-doc fails with Error: Cannot find module '/node-v14.4.0/tools/doc/../node_modules/eslint/node_modules/js-yaml' #34005, Erbium: test regression in tarball #32765, and others).Why was
eslintset up like this initially?When
eslintwas first added to the repository in #1539 around 10 years, it replaced a (not as large, but still large) library,closure-lint. Since then, the library has almost 4x its size. At the time, there was no discussion (AFAICT) about keeping or removing the directory—it was simply included as it was.Size-wise, this'll save ~40MB, which is a decent amount.
(I'll add more fixes as I find more issues)
Fixes #39709
Fixes #54231