Why is --isolatedModules error fixed by any import?
Typescript treats files without import/exports as legacy script files. As such files are not modules and any definitions they have get merged in the global namespace. isolatedModules
forbids such files.
Adding any import or export to a file makes it a module and the error disappears.
Also export {}
is a handy way to make a file a module without importing anything.
The correct way is to tell TypeScript what you want. If you don't want isolatedModules
create tsconfig.json
inside your test
directory and add:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"isolatedModules": false
},
}
Adding "isolatedModules": true
to the config and then cheating TypeScript checker by adding empty export {}
smells bad code to me.