Created
March 21, 2013 01:09
-
-
Save rajiteh/5209929 to your computer and use it in GitHub Desktop.
My grunt config template complete with less and coffee script lint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = function(grunt) { | |
grunt.loadNpmTasks('grunt-recess'); | |
grunt.loadNpmTasks('grunt-shell'); | |
grunt.loadNpmTasks('grunt-contrib-less'); | |
grunt.loadNpmTasks('grunt-contrib-coffee'); | |
grunt.loadNpmTasks('grunt-coffeelint'); | |
var recessOptions = function(bool) { | |
bool = ((typeof bool === 'undefined')? false : bool); | |
var config = { | |
compile: true, | |
compress: bool, | |
noIDs: false, | |
noJSPrefix: false, | |
noOverqualifying: false, | |
noUnderscores: false, | |
noUniversalSelectors: false, | |
prefixWhitespace: false, | |
strictPropertyOrder: false, | |
zeroUnits: false | |
}; | |
return config; | |
} | |
grunt.initConfig({ | |
pkg: '<json:package.json>', | |
meta: {}, | |
files: { | |
js: { | |
libs : [ | |
'assets/js/libs/jquery/*.js', | |
'assets/js/libs/angular/*.js', | |
'assets/js/libs/**/*.js', | |
'assets/js/libs/*.js' | |
], | |
js : [ | |
'assets/js/*.js', | |
'assets/js/**/*.js' | |
] | |
}, | |
less: [ | |
'assets/css/less/*.less', | |
'assets/css/less/**/*.less' | |
], | |
html: [ | |
'*.html' | |
], | |
coffee: [ | |
'assets/js/coffee/*.coffee' | |
], | |
css:[ | |
'assets/css/libs/*.css' | |
] | |
}, | |
coffee: { | |
compile:{ | |
options: { | |
bare : true | |
}, | |
src: '<config:files.coffee>', | |
dest: 'assets/js/compiled/*.js' | |
} | |
}, | |
concat: { | |
csslib: { | |
src: '<config:files.css>', | |
dest: 'assets/css/libs.css' | |
}, | |
libs: { | |
src: '<config:files.js.libs>', | |
dest: 'assets/js/libs.js' | |
}, | |
js: { | |
src: 'assets/js/compiled/*.js', | |
dest: 'assets/js/app.js' | |
} | |
}, | |
min: { | |
js: { | |
src: 'assets/js/app.js', | |
dest: 'assets/js/app.min.js' | |
}, | |
libs: { | |
src: 'assets/js/libs.js', | |
dest: 'assets/js/libs.min.js' | |
} | |
}, | |
recess: { | |
min: { | |
src: '<config:files.less>', | |
dest: 'assets/css/site.min.css', | |
options: recessOptions(true) | |
}, | |
max: { | |
src: '<config:files.less>', | |
dest: 'assets/css/site.css', | |
options: recessOptions(false) | |
} | |
}, | |
coffeelint: { | |
app: '<config:files.coffee>' | |
}, | |
watch: { | |
less: { | |
files: '<config:files.less>', | |
tasks: 'recess:max' | |
}, | |
coffee: { | |
files: '<config:files.coffee>', | |
tasks: 'coffeelint coffee concat:js' | |
}, | |
}, | |
jshint: { | |
options: { | |
curly: true, | |
eqeqeq: true, | |
immed: true, | |
latedef: true, | |
newcap: true, | |
noarg: true, | |
sub: true, | |
undef: true, | |
boss: true, | |
eqnull: true, | |
browser: true | |
} | |
}, | |
uglify: {} | |
}); | |
// Default task. | |
grunt.registerTask('default', 'coffeelint coffee concat recess:max'); | |
grunt.registerTask('deploy', 'min recess:min'); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment