It's completely unrelated to CoffeeScript, as CS does practically no static analysis and generally CS does almost nothing more than pure JS. What it does is it translates some keywords to a chunks of JavaScript code. If JS had macros - sweet.js! - Coffee would be completely unneeded.
TypeScript is entirely different thing. It adds a layer of static analysis to the language, which does not end in the code that actually runs. Generally everything you type in Coffee has an equivalent in compiled JS; it is not so with TypeScript, where you can write pages of code which won't be visible in the compiled JS.
CS and TS have different goals and are different things, and the only thing they have in common is that they both "transpile"/compile some language to another. Hardly a similarity that makes them very close.
Actually I would appreciate TypeScript implementation on top of Coffee (or the other way around, whichever would be simpler). There is a dialect of CS that supports contracts (you really, really should start using contracts anyway), but that's yet another thing that cannot hope to replace static verification of certain things in programs.
TypeScript is entirely different thing. It adds a layer of static analysis to the language, which does not end in the code that actually runs. Generally everything you type in Coffee has an equivalent in compiled JS; it is not so with TypeScript, where you can write pages of code which won't be visible in the compiled JS.
CS and TS have different goals and are different things, and the only thing they have in common is that they both "transpile"/compile some language to another. Hardly a similarity that makes them very close.
Actually I would appreciate TypeScript implementation on top of Coffee (or the other way around, whichever would be simpler). There is a dialect of CS that supports contracts (you really, really should start using contracts anyway), but that's yet another thing that cannot hope to replace static verification of certain things in programs.