Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
108 lines (76 sloc) 2.87 KB


Convert JavaScript to CoffeeScript, with Grunt.js

Getting Started

If you haven't used grunt before, be sure to check out the Getting Started guide.

From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:

npm install grunt-js2coffee --save-dev

Once that's done, add this line to your project's Gruntfile:


If the plugin has been installed correctly, running grunt --help at the command line should list the newly-installed plugin's task or tasks. In addition, the plugin should be listed in package.json as a devDependency, which ensures that it will be installed whenever the npm install command is run.

The "js2coffee" task



Type: Boolean Default: False (comments are translated by default)

Ignore (do not translate) comments, if true.


Type: Boolean Default: False

Show source line numbers in each line as comment, if true.


Type: String Default: (two spaces)

Specify indent.


Type: Boolean Default: " (double quoted)

Use single quoted string literals instead of double quoted.

Usage examples

In your project's Gruntfile, add a section named js2coffee to the data object passed into grunt.initConfig().


  js2coffee: {
    options: {
      // Task-level options go here
    // Example: this target compiles a single file from JavaScript to CofeeScript
    single: {
      src: 'tmp/mout/src/string/contains.js',
      dest: 'tmp/single/'
    // Example: this target compiles a directory of JavaScript files to
    // individual CofeeScript files, retaining the same directory structure
    // in the destination folder
    each: {
      options: {},
      files: [
          expand: true,
          cwd: 'tmp/mout/src',
          src: ['**/*.js'],
          dest: 'tmp/coffee/',
          ext: '.coffee'



In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.


Jon Schlinkert


Thank you to @rstacruz and the contributors of js2coffee for all of the hard work that made this plugin possible.


Copyright (c) 2013 Jon Schlinkert, contributors. Licensed under the MIT license.