Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    js2coffeepublic

    js2coffee

    Compile JavaScript into CoffeeScript.

    Status

    This 2.0 release is a complete rewrite featuring a better parser (Esprima). See what's new in 2.0 for an overview of new features and consult the migration guide for info on updating from 0.x.


    Install

    Available on npm and bower.

    npm install --global js2coffee
    js2coffee --help

    npm version

    Also available via CDN (window.js2coffee):

    https://cdn.rawgit.com/js2coffee/js2coffee/v2.1.0/dist/js2coffee.js


    Command line

    The command line utility accepts both filenames or stdin.

    $ js2coffee file.js [file2.js ...]
    $ cat file.js | js2coffee

    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.

    • Hacking guide - want to contribute? here are tips to get you started.

    • AST format - technical description of the CoffeeScript AST format.

    • Special cases - a list of edge cases that js2coffee accounts for.

    • Compatibility mode - list of tweaks that compatibility mode (--compat) addresses.

    • Goals - outline of the project's goals.

    • Specs - examples of how JavaScript compiles to CoffeeScript.


    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:

    install

    npm i js2coffee

    Downloadsweekly downloads

    5,534

    version

    2.2.0

    license

    MIT

    homepage

    js2.coffee

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar
    • avatar