Awesome
grunt-js2coffee
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:
grunt.loadNpmTasks('grunt-js2coffee');
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
Options
no_comments
Type: Boolean
Default: False
(comments are translated by default)
Ignore (do not translate) comments, if true.
show_src_lineno
Type: Boolean
Default: False
Show source line numbers in each line as comment, if true.
indent
Type: String
Default:
(two spaces)
Specify indent.
single_quotes
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()
.
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/contains.coffee'
},
// 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'
}
]
}
}
});
Contributing
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.
Author
Jon Schlinkert
Credit
Thank you to @rstacruz and the contributors of js2coffee for all of the hard work that made this plugin possible.
License
Copyright (c) 2013 Jon Schlinkert, contributors. Licensed under the MIT license.