-
Notifications
You must be signed in to change notification settings - Fork 887
Conversation
TypeScript 3.8 changed several AST types to support private fields and `export * as ns` syntax. This change retains existing functionality but allows TSLint to compile using TypeScript 3.8.
Thanks for your interest in palantir/tslint, @rrdelaney! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request. |
Need to talk to my team about the CLA. Didn't meant to close this! |
Thanks for your interest in palantir/tslint, @rrdelaney! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request. |
@JoshuaKGoldberg Most tests are failing on older versions of TypeScript, however to detect new AST features newer versions of TypeScript are needed. Is it OK to merge this and release as a major version without compatibility for <3.8? |
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.
A start!
I fixed up the lint warnings! Unfortunately some of the syntax I used in my new helper tripped up Prettier, so I had to update it 😅 This change is now a bit larger, but most of it is just formatting. |
19fdf50
to
a78ea70
Compare
Sorry for all the force pushes! Upgrading prettier made far too many changes for this to be reasonable, so I reverted that change and used different syntax for my helper. As far as the CLA, I am a Google employee and was told we have a generic CLA approved for all Googlers. |
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.
Source code changes look great, thanks! 🙌
We'll just need some test coverage to get this through the door. You can use #if typescript > X.Y
to target a specific version range.
#if typescript >= 2.3.0 |
Separately, I can work on getting more TypeScript version ranges tested.
@JoshuaKGoldberg thanks for the review! I just got back from vacation and am picking this up again 😄 Of the four rules that I touched, only 1 introduced a new branch or condition: |
This is great, thanks @rrdelaney! I'd say since the tests are all passing and the code looks clean, let's leave it as is - there can always be a new issue + PR if critical breaking changes are observed for the unrelated syntaxes. ...and welcome back 😄 |
@rrdelaney can you please merge in origin/develop to get the latest CI workflow configuration? |
@adidahiya Thanks, looks like all tests are passing now! |
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.
Thanks!
I can't merge this without the CLA being signed, unfortunately (I'm not an admin on this repository). So either you'll need to manually re-sign the CLA (is that doable on your end?) or we'll need to get an admin here to merge. |
Thanks for the review Josh! @adidahiya would it be possible to merge this? Google should have a CLA signed with Palantir outside of the individual requests. See #4635 and #2164 as examples of other Googlers merging PR's to this repo. |
Tslint 6.0+ adds support for TypeScript 3.8 syntax. palantir/tslint#4915
Tslint 6.0+ adds support for TypeScript 3.8 syntax. palantir/tslint#4915
PR checklist
Overview of change:
TypeScript 3.8 changed several AST types to support private fields and
export * as ns
syntax. This change retains existing functionality but allows TSLint to compile using TypeScript 3.8. I'm not sure this addresses any issues in #4888, however the entire test suite seems to pass.CHANGELOG.md entry:
[enhancement] Upgrade to TypeScript 3.8