ROX-30446: Upgrade TypeScript 5.9.2#16315
Merged
pedrottimark merged 1 commit intomasterfrom Aug 12, 2025
Merged
Conversation
Contributor
|
Images are ready for the commit at 3dafcd2. To use with deploy scripts, first |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #16315 +/- ##
==========================================
- Coverage 49.04% 49.04% -0.01%
==========================================
Files 2625 2625
Lines 193919 194046 +127
==========================================
+ Hits 95117 95178 +61
- Misses 91350 91411 +61
- Partials 7452 7457 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
bradr5
approved these changes
Aug 12, 2025
Stringy
pushed a commit
that referenced
this pull request
Aug 15, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
TypeScript updates a minor version every quarter.
Description
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#what’s-next
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#support-for-import-defer
Which we will soon report as errors, except from
yuppackage.https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#support-for---module-node20
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#summary-descriptions-in-dom-apis
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#expandable-hovers-(preview)
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#configurable-maximum-hover-length
Additionally, the new default hover length is substantially larger than the previous default. This means that in TypeScript 5.9, you should see more information in your hover tooltips by default.
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/#lib.d.ts-changes
Procedure
Update babel packages, especially
preset-typescriptpackage.If TypeScript adds new syntax, wait until babel packages update to support it.
By the way, babel eslint-parser might be because of react-scripts, but unused.
Also I skipped update to plugin-proposal-private-property-in-object because of react-scripts if I remember correctly.
Update core-js package in
dependenciesobject.Update typescript-eslint packages. It supports TypeScript 5.9 in 8.39.0 on 2025-08-43 just a few days after 2025-08-01.
Before, update
npm run lintdisplays the following:One-time changes
Move
"@babel/runtime"fromdevDependenciestodependenciesaccording to:https://babeljs.io/docs/babel-plugin-transform-runtime
https://babeljs.io/docs/babel-runtime
Similarly
"@openshift-console/dynamic-plugin-sdk"fromdevDependenciestodependenciesin ROX-29844: Add configuration of base URL in plugin requests #16097It appears that the corresponding move in package-lock.json file did not occur in that contribution, therefore commit it now.
Ditto for change to package-lock.json file that from change to package.json file in ROX-30343: Update Node.js requirement for ui folder to 20.0.0 #16186
https://github.com/stackrox/stackrox/compare/ROX-30446-devDependencies-typescript-5.9.2?expand=1#diff-4050b8f7b12d0dbca14cee115ca80ab9df71dabdd1394273f67cf0506e3753a7L162-R158
Delete obsolete
"@babel/eslint-parser"according to:https://www.npmjs.com/package/@babel/eslint-parser
Passive voice is ambiguous: allows ESLint to run on input to or output from Babel?
We are using Babel to transform the JavaScript code that TypeScript outputs.
In any case, our ESLint configurstion uses
@typescript-eslint/parserDelete 3 obsolete babel packages that, at best, were left over from create-react-app
"@babel/plugin-proposal-decorators""@babel/plugin-proposal-private-property-in-object""@babel/plugin-transform-flow-strip-types"Observation
Thankfully, babel packages replace their dependency on
globalswith"@babel/helper-globals"therefore ends wresting match between version for compile and lint.User-facing documentation
Testing and quality
Automated testing
How I validated my change
For contribution
npm installto update package-lock.json file according to changes in package.json file, but for teamnpm cito delete and recreate node_modules folder.npm run tscin ui/apps/platformnpm run lintin ui/apps/platformnpm run buildin ui/apps/platformnpm run startin ui/apps/platform