Compile JavaScript into CoffeeScript.
This 2.0 release is a complete rewrite featuring a better parser (Esprima). See the migration guide for instructions on how to update from 0.x.
Install
Available on npm and bower.
npm install --global js2coffeejs2coffee --help
Also available via CDN (window.js2coffee
):
http://cdn.rawgit.com/js2coffee/js2coffee-redux/v0.0.17/dist/js2coffee.js
Command line
The command line utility accepts both filenames or stdin.
$ js2c file.js [file2.js ...]$ cat file.js | js2c
JavaScript API
Available via npm (require('js2coffee')
), or via CDN in the browser (as window.js2coffee
):
result = js2coffee; resultcode // code stringresultast // transformed ASTresultmap // source mapresultwarnings // array of warnings
Errors are in this format:
catch e emessage // "index.js:3:1: Unexpected INDENT\n\n 3 var\n ---^" edescription // "Unexpected INDENT" estart // { line: 1, column: 4 } eend // { line: 1, column: 10 } esourcePreview // '...'
Warnings are in this format:
resultwarnings
Docs
-
Migration guide - guide for migrating from 0.x.
-
Goals - outline of the project's goals.
-
Specs - examples of how JavaScript compiles to CoffeeScript.
-
AST format - technical description of the CoffeeScript AST format.
-
Special cases - a list of edge cases that js2coffee accounts for.
Thanks
js2coffee © 2012+, Rico Sta. Cruz. Released under the MIT License.
Authored by Rico Sta. Cruz with help from co-maintainers and contributors (list).
Maintainers:
-
Rico Sta. Cruz (@rstacruz) — ricostacruz.com · twitter @rstacruz
-
Anton Wilhelm (@timaschew) — twitter @timaschew
-
Benjamin Lupton (@balupton) — balupton.com · twitter @balupton