You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've named and approved microsoft/TypeScript#59601 which should land in either TS 5.8 or 5.9 depending on timing, so that should be a recommended flag once it's in
Reacted by Marco Muser, Jordan Harband, Steven, Rob Palmer, Marco Ippolito, Théo LUDWIG, Augustin Mauroy, Vladimir Krasnochub, Aldo Fregoso, Lucas Santos and 1 more
Reacted by Jordan Harband, Marco Ippolito, Augustin Mauroy, Lucas Santos and Cody Ebberson
On the tsconfig file, @jakebailey brought up that we could also use https://github.com/tsconfig/bases which is kinda the "standard" way to get the base files with minimal effort, so I'll add the file there once the 5.8 Beta comes out extending it from the main Node 22 base config
Small heads up since it seems to be easy to miss that 5.7 also added --rewriteRelativeImportExtensions to support importing .ts in ts code without disabling build (like --allowImportingTsExtensions does )for code you use both locally and in published packages.
I've added a PR in tsconfig/bases#300 to add it already, but thought it was worth mentioning here.
Do you have any insights about the possibility of --experimental-transform-types becoming stable?
The existence of this roadmap for type stripping is excellent news, because it means that the feature is likely to become stable and we are already considering it for our projects. I wonder whether there is any similar information about type transformation :)
Of course note that TS itself is "unstable", so you may end up with a break when using that flag eventually (e.g., we will probably be removing the module keyword to make way for TC39 use).
Of course note that TS itself is "unstable", so you may end up with a break when using that flag eventually (e.g., we will probably be removing the module keyword to make way for TC39 use).
We have already removed the module keyword support completely.
If there are semver major changes to the syntax that break transpilation we will update node in a semver major.
@nodejs/typescript in terms of design, the feature seems to be ready to be marked stable. However given the packages that broke in v22 nodejs/node#59364 I'd like to wait a until Node v24 sees wider adoption before marking it as stable. Marking it as stable also means changing --no-experimental-strip-types to --no-strip-types which might break people already affected by the breakage.
Reacted by Karl Horky, Jacob Smith, Steven and Jordan Harband
Maybe mark it as stable in 25.0.0? nodejs/node#59896. Then the stability docs change can get backported gradually.
Marking it as stable also means changing --no-experimental-strip-types to --no-strip-types which might break people already affected by the breakage.
In the past we’ve left the experimental versions of flags either as no-ops or as undocumented flags. So --no-experimental-strip-types would stick around indefinitely, as an alias for --no-strip-types, and then no one gets broken by a flag disappearing.
Reacted by Jacob Smith, Matteo Collina and Jordan Harband
Activity
mcollina commentedon Jan 8, 2025
I think we should publish the suggested tsconfig on npm and maintain it.
Plan sounds good.
JakobJingleheimer commentedon Jan 8, 2025
Great idea 🙂 could go under the
@nodejsnamespace we already haveJakobJingleheimer commentedon Jan 8, 2025
I'm getting back to this tonight. I have made the requested updates locally. Need to finish a couple other things and then will push.
Looks like this is still an unknown: https://bsky.app/profile/jakebailey.dev/post/3lf4igi3lzc2m
I can do! I recently did something similar for one of my own libraries.
[-]Roadmap to stable --strip-types[/-][+]Roadmap to stable strip-types[/+]ljharb commentedon Jan 8, 2025
What about TS syntax in the repl? Should that work by default too?
marco-ippolito commentedon Jan 8, 2025
I did not dare to try implement it in the REPL as it looks quite complicate.
RyanCavanaugh commentedon Jan 8, 2025
We've named and approved microsoft/TypeScript#59601 which should land in either TS 5.8 or 5.9 depending on timing, so that should be a recommended flag once it's in
khaosdoctor commentedon Jan 29, 2025
On the
tsconfigfile, @jakebailey brought up that we could also use https://github.com/tsconfig/bases which is kinda the "standard" way to get the base files with minimal effort, so I'll add the file there once the 5.8 Beta comes out extending it from the main Node 22 base configkhaosdoctor commentedon Jan 29, 2025
Well that was fast: https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/
simonbuchan commentedon Mar 16, 2025
Small heads up since it seems to be easy to miss that 5.7 also added
--rewriteRelativeImportExtensionsto support importing.tsin ts code without disabling build (like--allowImportingTsExtensionsdoes )for code you use both locally and in published packages.I've added a PR in tsconfig/bases#300 to add it already, but thought it was worth mentioning here.
albertodiazdorado commentedon Apr 1, 2025
Do you have any insights about the possibility of
--experimental-transform-typesbecoming stable?The existence of this roadmap for type stripping is excellent news, because it means that the feature is likely to become stable and we are already considering it for our projects. I wonder whether there is any similar information about type transformation :)
marco-ippolito commentedon Apr 1, 2025
--experimental-transform-typeswill become stable but will not be unflagged and stay behind the--transform-typesflagjakebailey commentedon Apr 1, 2025
Of course note that TS itself is "unstable", so you may end up with a break when using that flag eventually (e.g., we will probably be removing the module keyword to make way for TC39 use).
marco-ippolito commentedon Apr 1, 2025
We have already removed the
modulekeyword support completely.If there are semver major changes to the syntax that break transpilation we will update node in a semver major.
7 remaining items
module: remove experimental warning from type stripping
module: remove experimental warning from type stripping
doc: mark type stripping as release candidate
marco-ippolito commentedon Oct 6, 2025
@nodejs/typescript in terms of design, the feature seems to be ready to be marked stable. However given the packages that broke in v22 nodejs/node#59364 I'd like to wait a until Node v24 sees wider adoption before marking it as stable. Marking it as stable also means changing
--no-experimental-strip-typesto--no-strip-typeswhich might break people already affected by the breakage.GeoffreyBooth commentedon Oct 6, 2025
Maybe mark it as stable in 25.0.0? nodejs/node#59896. Then the stability docs change can get backported gradually.
In the past we’ve left the experimental versions of flags either as no-ops or as undocumented flags. So
--no-experimental-strip-typeswould stick around indefinitely, as an alias for--no-strip-types, and then no one gets broken by a flag disappearing.module: mark type stripping as stable
module: mark type stripping as stable
marco-ippolito commentedon Nov 16, 2025
I think we can close this issue 😸 thanks everyone