Skip to content

Commit

Permalink
Merge pull request #116 from twbs/fat-es6Alert
Browse files Browse the repository at this point in the history
es6 - wip
  • Loading branch information
fat committed May 13, 2015
2 parents 06b1d49 + 6b2b0ed commit dbaffd4
Show file tree
Hide file tree
Showing 93 changed files with 18,680 additions and 9,741 deletions.
136 changes: 95 additions & 41 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,27 +56,64 @@ module.exports = function (grunt) {
docs: 'docs/dist'
},

jshint: {
options: {
jshintrc: 'js/.jshintrc'
},
grunt: {
// JS build configuration

lineremover: {
es6Import: {
files: {
'<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>'
},
options: {
exclusionPattern: /^(import|export)/g
}
}
},

babel: {
dev: {
options: {
jshintrc: 'grunt/.jshintrc'
sourceMap: true,
modules: 'ignore'
},
src: ['Gruntfile.js', 'grunt/*.js']
},
core: {
src: 'js/*.js'
files: {
'js/dist/util.js' : 'js/src/util.js',
'js/dist/alert.js' : 'js/src/alert.js',
'js/dist/button.js' : 'js/src/button.js',
'js/dist/carousel.js' : 'js/src/carousel.js',
'js/dist/collapse.js' : 'js/src/collapse.js',
'js/dist/dropdown.js' : 'js/src/dropdown.js',
'js/dist/modal.js' : 'js/src/modal.js',
'js/dist/scrollspy.js' : 'js/src/scrollspy.js',
'js/dist/tab.js' : 'js/src/tab.js',
'js/dist/tooltip.js' : 'js/src/tooltip.js',
'js/dist/popover.js' : 'js/src/popover.js'
}
},
test: {
dist: {
options: {
jshintrc: 'js/tests/unit/.jshintrc'
modules: 'ignore'
},
src: 'js/tests/unit/*.js'
files: {
'<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>'
}
},
assets: {
src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js']
umd: {
options: {
modules: 'umd'
},
files: {
'dist/js/umd/util.js' : 'js/src/util.js',
'dist/js/umd/alert.js' : 'js/src/alert.js',
'dist/js/umd/button.js' : 'js/src/button.js',
'dist/js/umd/carousel.js' : 'js/src/carousel.js',
'dist/js/umd/collapse.js' : 'js/src/collapse.js',
'dist/js/umd/dropdown.js' : 'js/src/dropdown.js',
'dist/js/umd/modal.js' : 'js/src/modal.js',
'dist/js/umd/scrollspy.js' : 'js/src/scrollspy.js',
'dist/js/umd/tab.js' : 'js/src/tab.js',
'dist/js/umd/tooltip.js' : 'js/src/tooltip.js',
'dist/js/umd/popover.js' : 'js/src/popover.js'
}
}
},

Expand All @@ -85,41 +122,51 @@ module.exports = function (grunt) {
config: 'js/.jscsrc'
},
grunt: {
src: '<%= jshint.grunt.src %>'
src: ['Gruntfile.js', 'grunt/*.js']
},
core: {
src: '<%= jshint.core.src %>'
src: 'js/src/*.js'
},
test: {
src: '<%= jshint.test.src %>'
src: 'js/tests/unit/*.js'
},
assets: {
options: {
requireCamelCaseOrUpperCaseIdentifiers: null
},
src: '<%= jshint.assets.src %>'
src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js']
}
},

stamp: {
options: {
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function ($) {\n',
footer: '\n}(jQuery);'
},
bootstrap: {
files: {
src: '<%= concat.bootstrap.dest %>'
}
}
},

concat: {
options: {
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>',
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'
'js/src/util.js',
'js/src/alert.js',
'js/src/button.js',
'js/src/carousel.js',
'js/src/collapse.js',
'js/src/dropdown.js',
'js/src/modal.js',
'js/src/scrollspy.js',
'js/src/tab.js',
'js/src/tooltip.js',
'js/src/popover.js'
],
dest: 'dist/js/<%= pkg.name %>.js'
}
Expand Down Expand Up @@ -154,6 +201,9 @@ module.exports = function (grunt) {
files: 'js/tests/index.html'
},


// CSS build configuration

scsslint: {
scss: ['scss/*.scss', '!scss/_normalize.scss'],
options: {
Expand Down Expand Up @@ -301,12 +351,12 @@ module.exports = function (grunt) {

watch: {
src: {
files: '<%= jshint.core.src %>',
tasks: ['jshint:core', 'qunit', 'concat']
files: '<%= jscs.core.src %>',
tasks: ['babel:dev']
},
test: {
files: '<%= jshint.test.src %>',
tasks: ['jshint:test', 'qunit']
files: '<%= jscs.test.src %>',
tasks: ['qunit']
},
sass: {
files: 'scss/**/*.scss',
Expand Down Expand Up @@ -398,10 +448,10 @@ module.exports = function (grunt) {
testSubtasks.push('saucelabs-qunit');
}
grunt.registerTask('test', testSubtasks);
grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
grunt.registerTask('test-js', ['jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);

// JS distribution task.
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
grunt.registerTask('dist-js', ['concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']);

grunt.registerTask('test-scss', ['scsslint:scss']);

Expand All @@ -425,16 +475,20 @@ module.exports = function (grunt) {
// This can be overzealous, so its changes should always be manually reviewed!
grunt.registerTask('change-version-number', 'sed');

grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () {
var srcFiles = grunt.config.get('concat.bootstrap.src');
grunt.registerTask('commonjs', ['babel:umd', 'npm-js']);

grunt.registerTask('npm-js', 'Generate npm-js entrypoint module in dist dir.', function () {
var srcFiles = Object.keys(grunt.config.get('babel.umd.files')).map(function (filename) {
return './' + path.join('umd', path.basename(filename))
})
var destFilepath = 'dist/js/npm.js';
generateCommonJSModule(grunt, srcFiles, destFilepath);
});

// Docs task.
grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
grunt.registerTask('docs-js', ['uglify:docsJs']);
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
grunt.registerTask('lint-docs-js', ['jscs:assets']);
grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs']);

grunt.registerTask('docs-github', ['jekyll:github']);
Expand Down
Loading

0 comments on commit dbaffd4

Please sign in to comment.