Commit 5fb0d69e authored by Mark Otto's avatar Mark Otto

Merge pull request #9050 from jonschlinkert/3.0.0-wip

organizes the Gruntfile a bit and makes better use of Grunt conventions 
parents 98b50abe 55df26ae
/* jshint node: true */
module.exports = function(grunt) {
"use strict";
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
banner: '/**\n' +
......@@ -12,20 +14,12 @@ module.exports = function(grunt) {
'* <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' +
'*/\n',
jqueryCheck: 'if (!jQuery) { throw new Error(\"Bootstrap requires jQuery\") }\n\n',
// Task configuration.
clean: {
dist: ['dist']
},
concat: {
options: {
banner: '<%= banner %><%= jqueryCheck %>',
stripBanners: false
},
bootstrap: {
src: ['js/transition.js', 'js/alert.js', 'js/button.js', 'js/carousel.js', 'js/collapse.js', 'js/dropdown.js', 'js/modal.js', 'js/tooltip.js', 'js/popover.js', 'js/scrollspy.js', 'js/tab.js', 'js/affix.js'],
dest: 'dist/js/<%= pkg.name %>.js'
}
},
jshint: {
options: {
jshintrc: 'js/.jshintrc'
......@@ -40,34 +34,56 @@ module.exports = function(grunt) {
src: ['js/tests/unit/*.js']
}
},
recess: {
concat: {
options: {
compile: true
banner: '<%= banner %><%= jqueryCheck %>',
stripBanners: false
},
bootstrap: {
files: {
'dist/css/bootstrap.css': ['less/bootstrap.less']
src: [
'js/transition.js',
'js/alert.js',
'js/button.js',
'js/carousel.js',
'js/collapse.js',
'js/dropdown.js',
'js/modal.js',
'js/tooltip.js',
'js/popover.js',
'js/scrollspy.js',
'js/tab.js',
'js/affix.js'
],
dest: 'dist/js/<%= pkg.name %>.js'
}
},
min: {
uglify: {
options: {
compress: true
banner: '<%= banner %>'
},
files: {
'dist/css/bootstrap.min.css': ['less/bootstrap.less']
}
bootstrap: {
src: ['<%= concat.bootstrap.dest %>'],
dest: 'dist/js/<%= pkg.name %>.min.js'
}
},
uglify: {
recess: {
options: {
banner: '<%= banner %>'
compile: true
},
bootstrap: {
files: {
'dist/js/<%= pkg.name %>.min.js': ['<%= concat.bootstrap.dest %>']
}
src: ['less/bootstrap.less'],
dest: 'dist/css/<%= pkg.name %>.css'
},
min: {
options: {
compress: true
},
src: ['less/bootstrap.less'],
dest: 'dist/css/<%= pkg.name %>.min.css'
}
},
qunit: {
options: {
inject: 'js/tests/unit/phantom.js'
......@@ -82,6 +98,7 @@ module.exports = function(grunt) {
}
}
},
watch: {
src: {
files: '<%= jshint.src.src %>',
......@@ -100,12 +117,12 @@ module.exports = function(grunt) {
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-recess');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment