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
New: implement eslint/rfcs#63 #13713
New: implement eslint/rfcs#63 #13713
Conversation
Thanks for attempting this. I’m not comfortable with reading an environment variable for this purpose — that’s just one assumption too many when determining how ESLint should behave. We did recently merge this RFC that covers this use case: eslint/rfcs#63 |
Oh that's fantastic! That's great. Is there already an implementation of RFC 63? If not, I can pivot to implementing it. |
@c-home anything I can do to help? |
I don't believe implementation has started yet, so you can feel free! |
09174b0
to
8c0ed1a
Compare
Hi @wmhilton!, thanks for the Pull Request The first commit message isn't properly formatted. We ask that you update the message to match this format, as we use it to generate changelogs and automate releases.
Read more about contributing to ESLint here |
Hi @wmhilton!, thanks for the Pull Request The first commit message isn't properly formatted. We ask that you update the message to match this format, as we use it to generate changelogs and automate releases.
Read more about contributing to ESLint here |
1 similar comment
Hi @wmhilton!, thanks for the Pull Request The first commit message isn't properly formatted. We ask that you update the message to match this format, as we use it to generate changelogs and automate releases.
Read more about contributing to ESLint here |
8c0ed1a
to
bafe281
Compare
Hi, I started implementing the RFC but haven't gotten a chance to add testing yet (which is really the most of it). |
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.
Sorry for the delay in reviewing, this looks really good. Just a few small things to clean up and I'd like to get a few other sets of eyes on this, too.
@c-home if you have the time to take a look at this implementation, we'd appreciate your feedback. |
Had a quick look and it looks great. Will have a closer look soon. Thank you for implementing this wmhilton. |
const changed = | ||
fileDescriptor.changed || | ||
fileDescriptor.meta.hashOfConfig !== hashOfConfig; |
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.
Will changed
be true
if the cacheStrategy
changes? Related to this issue raised in the rfc.
For users of eslint cache, this is something to consider - eslint/rfcs#68. |
Hi @wmhilton!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the message to match this format, as we use it to generate changelogs and automate releases.
Read more about contributing to ESLint here |
ef2c62c
to
760eb5c
Compare
Ugh. As pointed out in this comment some very notable rulesets such as |
It seems like you are pretty close to finishing this, and this is something we plan on doing regardless. Do you want to finish it up so we can merge it? We do still need to solve for the case where plugins are doing unexpected things, but there are plenty of folks who would benefit from this PR in the meantime. |
hi @nzakas @wmhilton I've published a new version of It is a major upgrade to avoid any potential issues since I've aligned the supported node versions with the ones |
@royriojas thanks for the heads up. Can you open an issue so that info doesn’t get lost here? |
Any update on this? Really annoying to wait minutes on CI....( |
@vaniyokk it appears this has been abandoned. Do you want to take it up? |
This is quite sad. In our case on CI with repo having around 10K modules ESLint takes waaaay too much time, since the cache is not used at all between pushes (due to timestamps inconsistency, Git does not maintain them, and GitLab does not have workspaces so far). |
The merge request seems to be almost ready, isn't it? @nzakas. I think it is only a matter of fix the tests |
Can I work on this and finish the PR ??? |
@royriojas yes, it looks basically done at this point. @snitin315 yes, you can definitely take it over. You should be able to pull the branch from where this PR was created and then create a new PR with that code. When you do, just comment here with the new PR number so we can close this and move our focus over to the new PR. Thanks! |
Closing as there's a new PR #14119 |
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofixing to a rule
[x] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:
What changes did you make? (Give an overview)
This is heavily based on #11487 but as per the RFC the names of the options have been changed.
I also rebased it and tried to get all the tests passing. There's still one failing locally. Not sure what that's about yet.
Is there anything you'd like reviewers to focus on?
My original PR was a one-liner. And now my PR is largely someone elses code 😬 so aaaaany help would be appreciated. I don't care about credit, I just want this feature shipped so my team stops burning through CircleCI minutes waiting to lint files that don't need to be linted.
background
Currently CI users resort to hacks such as manually modifying the
mtime
of all their files:https://github.com/salto-io/salto/pull/395/files#diff-5d8151d7fb61e762279563e3d38abd41R1-R17
Previous attempts to address this:
--cache-strategy
CLI option (refs #11319) #11487