Uh oh!
There was an error while loading. Please reload this page.
build: don't store eslint locally - #54231
Conversation
nodejs-github-bot
commented
Aug 6, 2024
Review requested:
|
CC @nodejs/build @nodejs/linting |
avivkeller
commented
Aug 6, 2024
Reviewers, please review the commit '(review changes)'. The first commit removes the |
avivkeller
commented
Aug 6, 2024
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 |
bnb
commented
Aug 7, 2024
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. |
silverwind
commented
Aug 7, 2024
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. |
avivkeller
commented
Aug 7, 2024
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. |
nodejs-github-bot
commented
Aug 7, 2024
CI is passing. 🎉 |
nodejs-github-bot
commented
Aug 7, 2024
Uh oh!
There was an error while loading. Please reload this page.
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 |
avivkeller
commented
Aug 9, 2024
I have it setup like: tools/.jslintstamp:
cd tools/eslint &&$(call available-node,$(run-npm-ci))
@touch $@If the user wants to re-build the lint, they have to run |
Hey, I'd love to get some reviews if there aren't any more objections. I don't want to pressure anyone tho. |
Uh oh!
There was an error while loading. Please reload this page.
avivkeller
commented
Aug 18, 2024
Any more changes needed? |
Thanks for approving! Does anyone else have any more feedback? It's been a while since any reviews. |
avivkeller
commented
Sep 1, 2024
No objections in a week, is this |
aduh95
commented
Sep 1, 2024
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. |
nodejs-github-bot
commented
Sep 1, 2024
Per @aduh95's comment:
|
nodejs-github-bot
commented
Sep 3, 2024
avivkeller
commented
Sep 4, 2024
The MacOS CI appears to have failed to start, could someone restart it? As for the linked linux OpenSSL one, see #54737 |
nodejs-github-bot
commented
Sep 4, 2024
avivkeller
commented
Sep 4, 2024
FWIW CI is 🟢 (Yay!) |
nodejs-github-bot
commented
Sep 6, 2024
Landed in 437e168 |
PR-URL: #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