-
Notifications
You must be signed in to change notification settings - Fork 30k
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
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. 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
eslint
as a local dependency and switches to downloading it fromnpm
. It will still be updated regularly via @dependabot.Why?
eslint
is 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
eslint
set up like this initially?When
eslint
was 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