You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.1 KiB
JavaScript
131 lines
3.1 KiB
JavaScript
10 years ago
|
/*global module:false*/
|
||
|
module.exports = function(grunt) {
|
||
|
|
||
|
// Project configuration.
|
||
|
grunt.initConfig({
|
||
|
pkg: grunt.file.readJSON('package.json'),
|
||
|
meta: {
|
||
|
version: '<%= pkg.version %>',
|
||
|
banner:
|
||
|
'// Backbone.BabySitter\n' +
|
||
|
'// -------------------\n' +
|
||
|
'// v<%= pkg.version %>\n' +
|
||
|
'//\n' +
|
||
|
'// Copyright (c)<%= grunt.template.today("yyyy") %> Derick Bailey, Muted Solutions, LLC.\n' +
|
||
|
'// Distributed under MIT license\n' +
|
||
|
'//\n' +
|
||
|
'// http://github.com/marionettejs/backbone.babysitter\n' +
|
||
|
'\n'
|
||
|
},
|
||
|
|
||
|
lint: {
|
||
|
files: ['src/*.js']
|
||
|
},
|
||
|
|
||
|
preprocess: {
|
||
|
umd: {
|
||
|
src: 'src/build/backbone.babysitter.js',
|
||
|
dest: 'lib/backbone.babysitter.js'
|
||
|
}
|
||
|
},
|
||
|
|
||
|
template: {
|
||
|
options: {
|
||
|
data: {
|
||
|
version: '<%= meta.version %>'
|
||
|
}
|
||
|
},
|
||
|
umd: {
|
||
|
src: '<%= preprocess.umd.dest %>',
|
||
|
dest: '<%= preprocess.umd.dest %>'
|
||
|
}
|
||
|
},
|
||
|
|
||
|
concat: {
|
||
|
options: {
|
||
|
banner: "<%= meta.banner %>"
|
||
|
},
|
||
|
umd: {
|
||
|
src: '<%= preprocess.umd.dest %>',
|
||
|
dest: '<%= preprocess.umd.dest %>'
|
||
|
}
|
||
|
},
|
||
|
|
||
|
uglify : {
|
||
|
options: {
|
||
|
banner: "<%= meta.banner %>"
|
||
|
},
|
||
|
umd : {
|
||
|
src : 'lib/backbone.babysitter.js',
|
||
|
dest : 'lib/backbone.babysitter.min.js',
|
||
|
options : {
|
||
|
sourceMap : 'lib/backbone.babysitter.map',
|
||
|
sourceMappingURL : 'backbone.babysitter.map',
|
||
|
sourceMapPrefix : 2
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
jasmine : {
|
||
|
options : {
|
||
|
helpers : 'spec/javascripts/helpers/*.js',
|
||
|
specs : 'spec/javascripts/**/*.spec.js',
|
||
|
vendor : [
|
||
|
'public/javascripts/jquery.js',
|
||
|
'public/javascripts/json2.js',
|
||
|
'public/javascripts/underscore.js',
|
||
|
'public/javascripts/backbone.js'
|
||
|
],
|
||
|
},
|
||
|
babysitter : {
|
||
|
src : ['src/*.js']
|
||
|
}
|
||
|
},
|
||
|
|
||
|
jshint: {
|
||
|
options: {
|
||
|
jshintrc : '.jshintrc'
|
||
|
},
|
||
|
babysitter : [ 'src/*.js' ]
|
||
|
},
|
||
|
|
||
|
watch: {
|
||
|
babysitter : {
|
||
|
files : ['src/*.js', 'spec/**/*.js'],
|
||
|
tasks : ['jshint', 'jasmine:babysitter']
|
||
|
},
|
||
|
server : {
|
||
|
files : ['src/*.js', 'spec/**/*.js'],
|
||
|
tasks : ['jasmine:babysitter:build']
|
||
|
}
|
||
|
},
|
||
|
|
||
|
connect: {
|
||
|
server: {
|
||
|
options: {
|
||
|
port: 8888
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
grunt.loadNpmTasks('grunt-preprocess');
|
||
|
grunt.loadNpmTasks('grunt-template');
|
||
|
grunt.loadNpmTasks('grunt-contrib-jasmine');
|
||
|
grunt.loadNpmTasks('grunt-contrib-concat');
|
||
|
grunt.loadNpmTasks('grunt-contrib-jshint');
|
||
|
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
||
|
grunt.loadNpmTasks('grunt-contrib-connect');
|
||
|
|
||
|
grunt.registerTask('test', ['jshint', 'jasmine:babysitter']);
|
||
|
|
||
|
grunt.registerTask('dev', ['test', 'watch:babysitter']);
|
||
|
|
||
|
grunt.registerTask('server', ['jasmine:babysitter:build', 'connect:server', 'watch:server']);
|
||
|
|
||
|
// Default task.
|
||
|
grunt.registerTask('default', ['jshint', 'jasmine:babysitter', 'preprocess', 'template', 'concat', 'uglify']);
|
||
|
|
||
|
};
|