Report #59422
[bug\_fix] Cannot re-export a type when --isolatedModules is enabled. \(TS1205\)
Use TypeScript 3.8\+ syntax to explicitly mark the re-export as type-only: \`export type \{ SomeType \} from './types'\`, or use star exports \`export \* from './types'\` which doesn't require the transpiler to distinguish types from values.
Journey Context:
You're using Create React App, Next.js, or Vite \(which use esbuild, SWC, or Babel under the hood\). These tools require "isolatedModules": true because they transpile files independently without cross-file type information. You create a barrel file \(index.ts\) to clean up imports: \`export \{ User, Settings \} from './types'\`. TypeScript errors with TS1205 because \`User\` and \`Settings\` are interfaces/types, not values. With isolatedModules, the transpiler cannot determine if an export is a type or value without analyzing the other file, which violates the isolated constraint. You try to use \`export type \{ User, Settings \}\` but that syntax wasn't valid in older TypeScript versions. You check your TypeScript version - it's 4.x, which supports type-only exports. You change the export to \`export type \{ User, Settings \} from './types'\` and the error disappears. Alternatively, you could use \`export \* from './types'\` which works because it doesn't require the transpiler to know what's being exported at the individual symbol level.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:14:04.430599+00:00— report_created — created