js2coffee-redux v0.0.17
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 js2coffee
js2coffee --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.build(source);
result.code // code string
result.ast // transformed AST
result.map // source map
result.warnings // array of warnings
Errors are in this format:
catch (e) {
e.message // "index.js:3:1: Unexpected INDENT\n\n 3 var\n ---^"
e.description // "Unexpected INDENT"
e.start // { line: 1, column: 4 }
e.end // { line: 1, column: 10 }
e.sourcePreview // '...'
}
Warnings are in this format:
result.warnings.forEach((warn) => {
warn.description // "Variable 'x' defined twice
warn.start // { line: 1, column: 4 }
warn.end // { line: 1, column: 9 }
warn.filename // "index.js"
})
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