Description
Background: I come from tsify, which treats files as modules even if you don't export anything from them, if the file is imported from elsewhere in the project.
I am trying to use the new bundling feature implemented in #5090.
I am doing this:
tsc -m system -t es5 --outFile dev/js/main.js .\App\app.ts
We have .ts files that don't have any exports; module system is used to impose execution order. E.g.
import './a';
import './b';
if a.ts or b.ts doesn't have any exports, System.register() wrapper is not generated for them. Instead, they are dumped to top level of main.js, and are executed immediately when script is loaded.
Proposed solution: promote all files that are imported somewhere to modules, regardless of whether they have exports or not. This is feasible for --outFile, since the compiler has global knowledge of everything that ends up in the emitted output file.