-
Notifications
You must be signed in to change notification settings - Fork 607
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
[heft-typescript-plugin] feat: support typescript 5.6 #4972
[heft-typescript-plugin] feat: support typescript 5.6 #4972
Conversation
0e630d6
to
30caeba
Compare
Hmm, seems obvious now but the CI doesn't work because the change only functions when tested against a typescript 5.6 based compiler but rushstack repo is on an older typescript version 🤷 Anyway, I'll leave this here as an example |
30caeba
to
a8d78bc
Compare
...ck/heft-typescript-plugin/heft-typescript-plugin-typescript-56-support_2024-10-13-22-44.json
Outdated
Show resolved
Hide resolved
a8d78bc
to
29b45e4
Compare
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.
You should also update the "newest compatible version" constants here:
rushstack/heft-plugins/heft-typescript-plugin/src/TypeScriptBuilder.ts
Lines 113 to 114 in 239ad8a
const NEWEST_SUPPORTED_TS_MAJOR_VERSION: number = 5; | |
const NEWEST_SUPPORTED_TS_MINOR_VERSION: number = 4; |
Assuming this works with 5.5 and 5.6
This is a breaking change and will not work on Typescript versions < 5.6
29b45e4
to
aca28b9
Compare
Updated |
Summary
Updates the heft typescript plugin for breaking changes made to the typescript internals that the plugin relies on
Details
The breakage was caused by an internal change of
BuilderProgram.getState()
toBuilderProgram.state
in this commit.Changing the code to use
.state
instead of.getState()
ifstate
is defined was the only change requiredFixes #4921
How it was tested
Linked into our monorepo and a full build of all packages was done
Then everything was started in watch mode and a webpack based package was started up to verify that watch mode changes are still picked up correctly
Our monorepo does not use heft for linting so I haven't tested if this change still works correctly with the heft lint plugin
Impacted documentation