I\'m in the process of migrating a large codebase to Typescript, but wanted to get a good handle on when & where I should be using certain things.
Right now I have s
It depends. A module should be a discrete set of "things" rather than just a jumbled collection of disparate classes, so if things seem like they belong together, use a module to group them.
I believe the TypeScript team is waiting to see how people use the language before they publish guidance, but I imagine people will publish a module where they currently publish a script - so jQuery would be a module, each jQuery Plugin would be a module, a testing framework would be a module, and an AOP framework would be a module - for example.
Basically modules are good for packing all your code into one convenient global object while class are smart to structure your code and data representation.
[EDIT] The "internal modules" have been renamed "namespaces" moreover it is not discouraged to use namespaces when you can import modules. A namespace can be partial (i.e. described in many files) and while this is sometimes useful, this approach is too global to be optimised properly by the compiler. Read more here