Convert JavaScript to CoffeeScript, with Grunt.js
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.
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.
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'
}
]
}
}
});
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.