Because decaf uses the coffeescript compiler under the hood it has an advantage over other coffeescript transpilers. Decaf aims to be able to compile all coffeescript, but it is still a fairly young project. Please try decaf and submit issues if you run into problems, I and a couple of amazing contributors are working hard on completing decaf.
When decaf encounters coffeescript syntax which can't be transpiled to es6 it falls back to using the coffeescript compiler output.
At the moment decaf can transpile a fairly wide range of coffeescript syntax. To get a better idea of which features are supported, please have a look at the test suite.
Using decaf as a cli tool
To use decaf as a cli tool install it first via npm.
npm install decafjs -g (you can also install it locally, but if you are using it for more projects, installing it globally is recommended)
Now simply point decaf at a file or a directory that you want to convert to es6 and tada:
Using decaf as a code transform
You can require decaf as a node module and simply use it as a transform. We recommend using it with tools like jscodeshift.
To install run
npm install decafjs.
To use it simply require it as any other node module:
var decaf = ;var js = decaf;
- Single and multi-comment lines (can't be done with coffeescript parser, also it's very unintuitive right now to create comment blocks with the ast-types library)