-
-
Notifications
You must be signed in to change notification settings - Fork 240
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
add eslint typescript support #305
Conversation
Heyo, I'll try to take a look at this at the weekend - I'm very preoccupied right now. But I'm watching :) |
Cool - I'll see if I can take it for a test drive on a real codebase in the meantime. That said, busy week, might have to wait - just wanted to give a heads up that it was happening 😁 Oh side question: I noticed that
|
Tested this on a large codebase. It works fine, however it's subject to the performance issues that typescript-eslint seems to have; see here: typescript-eslint/typescript-eslint#389 |
Would someone be able to review this PR please? I think we're ready to go! |
Skimmed it so far, looks good but I might have some suggestions. |
The promise of a review made me do some of the mini refactorings I hadn't yet got round to 😁 |
Yeah, sorry, I'm quite tired today and not really up for the task. I commented what I could see right of the bat, not everything might be correct and most of it definitely debatable. I'll give it a second look tomorrow. Props for the "share eslint between checkers" commit, I was definitely going to suggest that after having read it this morning :) |
Dude, take your time! I appreciate you looking at all. There's no rush; nothing is on fire 😁
Yeah, my DRY-sense was tingling there; had to deal with it. Went slightly further in my last commit to share the logic for using ESLint as well. Felt better about myself after 😉 |
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.
Good job! Just a few comments from me :)
Thanks for the review @piotr-oles - I've made changes 😄 |
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.
So apparently my comments from yesterday were held back by me not "finishing" my review (argh).
So here's what I had written yesterday, I'll come check around in the next few days with a more thorough review.
Thanks for the review @phryneas - I've made changes in line with your suggestions |
I've just fixed up the merge conflict; so I think this means I technically need another approval 😄 |
Hey @piotr-oles / @phryneas, Are either of you good to approve this PR? I'd like to ship and make sure our release infrastructure is still good now we've moved |
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.
I just did another round as there are a lot of changes :)
I've addressed the review comments! |
What about CancellationToken? :) |
I replied! |
Fixed! |
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.
Great!
Okay - merged.... Let's see if we get a new version published! |
🎉 This PR is included in version 1.4.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Amazing! |
See how to use this here: https://blog.johnnyreilly.com/2019/07/typescript-and-eslint-meet-fork-ts-checker-webpack-plugin.html |
This PR is intended to start the journey towards adding eslint TypeScript support: #203
I'm not sure how long it will take to do this as I'm somewhat time poor right now, so all help is appreciated ❤️ 😄
So, what's happened so far? This:
tslint --fix
during commits - in future we should consider usingeslint --fix
, but I'd rather do that in a subsequent PR to make this one less noisy.project_eslint
. This contains some simple eslint errors which are visible in VS Code with the ESLint VS Code plugin.eslint
option to the plugin and put the mechanism in place inservice.ts
to call it.IncrementalChecker
(for Vue users) andApiIncrementalChecker
.You can see what usage of this looks like by looking at this PR: TypeStrong/ts-loader#960
The plan to deprecate tslint support and remove it in future still stands. However, before we get to that point I'd like to ship eslint support and ensure it's doing what we need.
Having looked at the code around tslint support, it looks like removing tslint support will be a nice simplification of the codebase.