Compile CoffeeScript files to JavaScript.
Inside your grunt.js
file add a section named coffee
. This section specifies the files to compile and the options passed to CoffeeScript.
This defines what files this task will process and should contain key:value pairs.
The key (destination) should be an unique filepath (supports grunt.template) and the value (source) should be a filepath or an array of filepaths (supports minimatch).
Experimental As of v0.3.0, you can use *.{ext} as your destination filename to individually compile each file to the destination directory. Otherwise, when the source contains an array of multiple filepaths, the contents are concatenated in the order passed.
This controls how this task (and its helpers) operate and should contain key:value pairs, see options below.
Compile the JavaScript without the top-level function safety wrapper.
This option adjusts the folder structure when compiled to the destination directory. When not explicitly set, best effort is made to locate the basePath by comparing all source filepaths left to right for a common pattern.
This option performs a flat compile that dumps all the files into the root of the destination directory, overwriting files if they exist.
coffee: {
compile: {
files: {
'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'], // compile and concat into single file
'path/to/*.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile individually into dest, maintaining folder structure
}
},
flatten: {
options: {
flatten: true
},
files: {
'path/to/*.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile individually into dest, flattening folder structure
}
}
}
--
Task submitted by Eric Woroshow.