Arkadiusz Kałkus
Arkadiusz Kałkus

Reputation: 18403

Is it possible to mix TypeScript and CoffeeScript?

I've just started to explore new JavaScript ideas and I'm pretty impressed. At first sight both CoffeeScript and TypeScript have some great features. They're both compiled to JavaScript. CoffeeScript is great because it makes code shorter and clearer. TypeScript on the other hand gives us possibility to build complex applications.

Is it possible to mix TypeScript and CoffeeScript? I mean - take advantage of both of them in the same file?

Upvotes: 7

Views: 1348

Answers (5)

darky
darky

Reputation: 172

New programming language appeared, that try to mix TypeScript and CoffeeScript - Civet

Upvotes: 1

Caveman
Caveman

Reputation: 2955

Not currently, both CS and TS have a bunch of incompatible syntax. You'd need a dedicated compiler for those types of CoffeeTypeScript files and that compiler does not exist.

I'm very interested in how a language like that would look but I'm afraid it will have too many options and be hard to learn (relative to either CS or TS). I would imagine programming in it would be somewhat similar to python.

Upvotes: 0

Sascha
Sascha

Reputation: 1156

Have a look at compiled-coffee wich states:

Do you like the type safety of TypeScript and the concise syntax of CoffeeScript? In that case CompiledCoffee is for you! It combines CoffeeScript with TypeScript's type system via the definition files. You create a *.coffee file and a *.d.ts file with the same name, in which you (optionally) type stuff. Rest is handled automatically.

Upvotes: 0

MartyIX
MartyIX

Reputation: 28646

You can't and it is really a bad idea.

Let's suppose that you can have CoffeeScript and TypeScript in one file, then you need developers who can program in both of them, so your product will be more expensive. Moreover, you will lose any reasonable chance of using lints to check your code.

I can't even imagine what kind of troubles you would go through with modules (commonjs, AMD, ES6, ...) when combining CoffeeScript and TypeScript.

If you use one language, you typically get from its authors tutorials how to do things in the language properly. When you mix languages, you would have to come up with "what is proper way to do X in my environment". These challenges sounds petty but for any serious project they can be deadly.

If you can choose, I would recommend TypeScript because it saves you from a ton of runtime errors. It's not that visually nice as CoffeeScript but that's not what you are paid for typically.

Upvotes: 3

Robert Rossmann
Robert Rossmann

Reputation: 12129

Short answer: no.

You need to compile a CoffeeScript/TypeScript file to a JavaScript file, which means that this file, as a whole, must be syntactically correct for the given language.

CoffeeScript and TypeScript are not syntactically-interchangeable. At best, you would have to resort to some lowest common denominator in terms of syntax use, but that would completely defeat the purpose of using any of the two instead of plain JavaScript.

Upvotes: 6

Related Questions