bansho/Gruntfile.js
2015-02-03 11:51:32 -05:00

80 lines
2.4 KiB
JavaScript

'use strict';
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-jslint');
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
project: {
app: ['app'],
assets: ['<%= project.app %>/assets'],
css: ['<%= project.assets %>/sass/app.scss']
},
sass: {
dev: {
options: {
style: 'expanded',
compass: false
},
files: {
'<%= project.assets %>/css/app.css' : '<%= project.css %>'
}
}
},
watch: {
sass: {
files: [
'<%= project.assets %>/sass/{,*/}*.{scss,sass}',
'<%= project.app %>/{,*/}*/{,*/}*.{scss,sass}'
],
tasks: ['sass:dev']
}
},
jslint: { // configure the task
client: {
src: [
'karma.conf.js',
'Gruntfile.js',
'app/app.js',
'app/**/*.js'
],
exclude: [
'app/bower_components/**/*.js',
'app/assets/**/*'
],
directives: {
node: true,
unparam: true, // TEMPORARY: Ignore unused params
nomen: true,
predef: [ // Global variables
'document', '$', '$get',
'angular', 'inject', 'JustGage',
'describe', 'beforeEach', 'it', 'expect',
'moment'
]
},
options: {
edition: 'latest', // specify an edition of jslint or use 'dir/mycustom-jslint.js' for own path
junit: 'out/client-junit.xml', // write the output to a JUnit XML
log: 'out/client-lint.log',
jslintXml: 'out/client-jslint.xml',
errorsOnly: true, // only display errors
failOnError: false, // defaults to true
checkstyle: 'out/client-checkstyle.xml' // write a checkstyle-XML
}
}
}
});
grunt.registerTask('default', [ 'watch', 'jslint' ]);
};