mirror of
https://github.com/twbs/bootstrap.git
synced 2025-01-17 09:52:29 +01:00
This pull request organizes the Gruntfile, makes better use of Grunt conventions and placates my OCD.
Changes in the Gruntfile: * Use two spaces for consistency with the rest of the codebase. * Tasks are now organize based on task type. since lodash templates are used across tasks/targets, this makes it easier to follow. * Use `src-dest` files format when only src-dest pairing is necessary. This saves a line over the files-object format, but more importantly it allows use the src or dest in lodash templates (e.g. `<%= concat.bootstrap.src %>`), which isn't possible in the files-object or files-array formats. * Make the explicit order of the javascript files more obvious in concat task , maybe just a tiny bit more usable and easier to customize - but really just OCD * Use `<%= pkg.name %>` variable for dest CSS, both for consistency with how javascript targets are defined, and to make it just little easier for devs to customize bootstrap. ran the build to test, everything seems good.
This commit is contained in:
parent
fce2e89b7d
commit
55df26ae20
73
Gruntfile.js
73
Gruntfile.js
@ -1,9 +1,11 @@
|
||||
/* 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,22 +34,27 @@ 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']
|
||||
}
|
||||
},
|
||||
min: {
|
||||
options: {
|
||||
compress: true
|
||||
},
|
||||
files: {
|
||||
'dist/css/bootstrap.min.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'
|
||||
}
|
||||
},
|
||||
uglify: {
|
||||
@ -63,11 +62,28 @@ module.exports = function(grunt) {
|
||||
banner: '<%= banner %>'
|
||||
},
|
||||
bootstrap: {
|
||||
files: {
|
||||
'dist/js/<%= pkg.name %>.min.js': ['<%= concat.bootstrap.dest %>']
|
||||
}
|
||||
src: ['<%= concat.bootstrap.dest %>'],
|
||||
dest: 'dist/js/<%= pkg.name %>.min.js'
|
||||
}
|
||||
},
|
||||
|
||||
recess: {
|
||||
options: {
|
||||
compile: true
|
||||
},
|
||||
bootstrap: {
|
||||
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');
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user