-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Use eslint-eslines as the orchestrator for linting tools #17896
Conversation
Jarda: I cannot test the prettier magic; would you mind giving this PR a try and confirm that it doesn't break anything for prettier? Andrew, Jarda: this alternative makes our current setup easy to manage and I would prefer it to #17868 if we don't have any concerns. Let me know your thoughts. |
I verified that the Prettier filtering works correctly in this branch, too. I'm a bit worried by the fact that
they can be in
Will an editor integration find the Maybe the dependencies are actually guaranteed to be in the top-level directory if there are no conflicting packages that would require different versions of the same package. I don't know. But with my limited knowledge of NPM details, this looks like a potential problem. Another solution that might work: declare |
The relevant docs. I could prepare a reproducible use case that makes this fail (defining fail as that an ESLint version different from the one in |
I'm going to merge #17868 first. By pinning Current situation still requires some bookkeeping and makes difficult to sync projects, so I'm curious to explore the orchestrator idea - I'll post shortly an alternate approach in this same branch. |
FWIW, what I've tried unsucessfully: In Calypso, import eslint-eslines as eslint (even the same version). In eslint-eslines:
It was worth a shot, but I'd put this in the backburner at the moment. |
We have reached peak modularity in our linting tools -
eslint
,eslint-config-wpcalypso
,eslint-plugin-wpcalypso
,eslines
,eslint-eslines
. Updating and releasing new versions of any package is taking more effort than it should, and considering that we do this for wp-calypso and any other project that uses the same patterns, the process doesn't scale very well.This proposal aims to reduce the effort by using
eslint-eslines
as an orchestrator package that keeps every other package in sync.Testing
Check that CircleCI test PRs run as expected:
Locally:
--no-verify
) and push to a remote branch to double-check that CircleCI reports the same.