If you are

  1. using a NPM workspaces monorepo,
  2. and the nested packages have a (dev) dependency on Typescript,
  3. and you've upgraded the typescript version,
  4. but npx tsc --version still shows the old version

For example:

$ cd <repo_clone_directory>

$ ls -1 packages/
micro-service-1
micro-service-2
ui-1
ui-2

$ npx tsc --version
Version 4.9.5

Then you probably need to ADD a (dev) dependency on Typescript in your top-level package.json file.

$ cd <repo_clone_directory>

$ npm install typescript

$ npx tsc --version
Version 5.2.2

And if your CreateReactApp package is complaining that your typescript version is not supported when ESLint runs, then you should

  1. temporarily disable ESLint.
  2. eventually migrate to vitejs as CRA has been abandoned.

From packages/ui-1/package.json

  "scripts": {
    "start": "DISABLE_ESLINT_PLUGIN=true react-scripts start",
    "build": "DISABLE_ESLINT_PLUGIN=true react-scripts build",

EDIT: Adding "typescript" to the top-level package.json also helps with minor version upgrades.

Answer from cyrf on Stack Overflow
🌐
TypeScript
typescriptlang.org › docs › handbook › release-notes › typescript-4-5.html
TypeScript: Documentation - TypeScript 4.5
You can then use your package manager to install a specific package to take over for a given lib For example, today TypeScript publishes versions of the DOM APIs on @types/web. If you wanted to lock your project to a specific version of the DOM APIs, you could add this to your package.json: ... Then from 4.5 onwards, you can update TypeScript and your dependency manager’s lockfile will ensure that it uses the exact same version of the DOM types.
🌐
Javascript-conference
javascript-conference.com › home › typescript 5: new innovations & breaking changes
TypeScript 5: New Innovations & Breaking Changes | iJS Conference Blog
May 20, 2025 - TypeScript now allows code completion to generate the various “case:” cases in its switch case statement when switching over restricted value sets like enums or literal types · TypeScript 4.7 introduced a stricter module resolution. Because this sometimes didn’t fit the behavior of module bundlers like Webpack, TypeScript 5 now includes a new config option (“moduleResolution”: “bundler”) for these bundlers.
Discussions

npm - how to upgrade typescript to a new major version - Stack Overflow
The typescript runtime in my git repo still shows 4.9.5 even after I upgraded all packages and deleted node_modules and package-lock.json and re-installed with npm install. How can I get the tsc ve... More on stackoverflow.com
🌐 stackoverflow.com
Announcing TypeScript 5.0
PSA TypeScript 5.0 is the 50th release, i.e. does not follow semver. Cool stuff but not necessarily a major release. More on reddit.com
🌐 r/javascript
50
468
March 16, 2023
TypeScript's Migration to Modules
TS itself using esbuild for bundling and compiling is a massive endorsement for the library, and quite the performance win, too! More on reddit.com
🌐 r/typescript
13
134
September 13, 2022
Migration of Angular 4 project to Angular 5

My approach is basically to:

  • Upgrade Angular CLI

  • Make a new project

  • Copy the code over

  • Try to build

  • If you run into any build errors (you might not), fix them one by one

There's no point in trying to answer the other questions until you have at least tried this.

More on reddit.com
🌐 r/Angular2
11
2
July 25, 2014
🌐
Microsoft Developer Blogs
devblogs.microsoft.com › dev blogs › typescript › announcing typescript 5.0
Announcing TypeScript 5.0 - TypeScript
March 17, 2023 - Here are a few interesting wins in speed and size that we’ve been able to capture relative to TypeScript 4.9. How? There are a few notable improvements we’d like to give more details on in the future. But we won’t make you wait for that blog post. First off, we recently migrated TypeScript from namespaces to modules, allowing us to leverage modern build tooling that can perform optimizations like scope hoisting.
🌐
Azuritek
azuritek.com › blog › typescript-5-migration-guide
Migrating to TypeScript 5.0: What Changed and Why It Matters
May 25, 2025 - A practical guide to upgrading your TypeScript codebase to 5.0, including breaking changes, new features, and real migration examples.
🌐
Codetain
codetain.com › blog › upgrading-typescript-in-your-project-from-4-to-5
Upgrading Typescript in your project from 4 to 5 | Codetain - end-to-end software development
March 12, 2024 - In my case I had a situation where the backend was a big monolith project with a very old version of Typescript and it had to be upgraded to the newest one. Main reason was to improve project security and introduce helpful features of newer versions. I faced many refactor problems where code was not compatible with the updated package. I've decided to bump them one by one to the newer minor version. So from 4.3.5 I had eight steps to reach 5.3.3.
🌐
Reddit
reddit.com › r/javascript › announcing typescript 5.0
r/javascript on Reddit: Announcing TypeScript 5.0
March 16, 2023 - This is in part because the UX for customization is still in discussion, but by default, TypeScript should now work better with the rest of your tooling. Since our RC, our most notable change is that TypeScript 5.0 now specifies a minimum Node.js version of 12.20 in our package.json. We’ve also published a write-up about TypeScript 5.0’s migration to modules, and linked to it.
🌐
W3Schools
w3schools.com › typescript › typescript_migration.php
TypeScript Migration
Note: Make sure to update your test configuration to work with TypeScript files. Automated tool for migrating JavaScript to TypeScript
Find elsewhere
🌐
Microsoft Developer Blogs
devblogs.microsoft.com › dev blogs › typescript › typescript’s migration to modules
TypeScript's Migration to Modules - TypeScript
March 15, 2023 - When TypeScript targeted ECMAScript 5, these lets and consts were just transformed into vars. That meant that if a let or const-declared variable was accessed before it was initialized, we wouldn’t get an error. Instead, its value would just be observed as undefined.
🌐
MUI
mui.com › material-ui › migration › migration-v4
Migrating to v5: getting started - Material UI
The minimum supported version of TypeScript has been increased from v3.2 to v3.5.
🌐
MikroORM
mikro-orm.io › upgrading
Upgrading from v4 to v5 | MikroORM
1 month ago - Running migrations in production via node and ts-node is now handled the same. This should actually not be breaking, as old format with extension is still supported (e.g.
🌐
TypeScript
typescriptlang.org › docs › handbook › release-notes › typescript-5-4.html
TypeScript: Documentation - TypeScript 5.4
However, TypScript 5.4 will be the last version in which these will continue to function as normal. By TypeScript 5.5 (likely June 2024), these will become hard errors, and code using them will need to be migrated away.
🌐
GitHub
github.com › microsoft › TypeScript › wiki › Breaking-Changes
Breaking Changes · microsoft/TypeScript Wiki · GitHub
June 16, 2024 - It's an easy mistake to accidentally forget about the compilerOptions section in a tsconfig.json. To help catch this mistake, in TypeScript 4.5, it is an error to add a top-level field which matches any of the available options in compilerOptions without having also defined compilerOptions in that tsconfig.json.
Author   microsoft
🌐
GoatSwitch AI
goatswitch.ai › home › typescript migration guide: master the upgrade from javascript
TypeScript Migration Guide: Master the Upgrade from JavaScript - GoatSwitch AI
April 20, 2024 - Finally, ensure your build tools and scripts are set to work with TypeScript files. ... Begin by converting smaller, isolated files or modules to reduce complexity. Rename these files from .js to .ts (or .jsx to .tsx if they contain JSX). Initially, you may use the any type for elements you’re unsure about. This approach allows you to incrementally refine types without halting development. 4.
🌐
TypeScript
typescriptlang.org › docs › handbook › release-notes › typescript-5-8.html
TypeScript: Documentation - TypeScript 5.8
That’s why TypeScript 5.8 introduces the --erasableSyntaxOnly flag. When this flag is enabled, TypeScript will error on most TypeScript-specific constructs that have runtime behavior. ... Typically, you will want to combine this flag with the --verbatimModuleSyntax, which ensures that a module contains the appropriate import syntax, and that import elision does not take place. For more information, see the implementation here. In TypeScript 4.5, we introduced the possibility of substituting the default lib files with custom ones.
🌐
Zustand
zustand.docs.pmnd.rs › migrations › migrating-to-v5
How to Migrate to v5 from v4 - Zustand
We highly recommend to update to the latest version of v4, before migrating to v5. It will show all deprecation warnings without breaking your app. Drop default exports · Drop deprecated features · Make React 18 the minimum required version ...
🌐
webpack
webpack.js.org › migrate › 5
To v5 from v4 | webpack
Make sure to read release notes of each individual plugin/loader when upgrading it, since latest version might only support webpack 5 and will fail in v4. In such case, it's recommended to update to the latest version that supports webpack 4. To assist with the upgrade from webpack v4 to v5, Codemod provides open-source community codemods that can help automate most of the migration process.
🌐
Express
expressjs.com › en › guide › migrating-5.html
Migrating to Express 5
A comprehensive guide to migrating your Express.js applications from version 4 to 5, detailing breaking changes, deprecated methods, and new improvements.
🌐
npm
npmjs.com › package › typescript
typescript - npm
September 30, 2025 - Update your CI/CD workflows to avoid disruption. Learn more.× ... TypeScript is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support tools for large-scale JavaScript applications for any browser, for any host, on any OS.
      » npm install typescript
    
Published   Sep 30, 2025
Version   5.9.3
Author   Microsoft Corp.
🌐
GitHub
github.com › orgs › adonisjs › discussions › 3274
How to migrate from V4 to V5? · adonisjs · Discussion #3274
Few things change between version 4 and version 5, the big change is that you will be using TypeScript instead of JavaScript. Do not hesitate to ask more questions during this transition.