diff options
author | Trent Richardson <trentdrichardson@gmail.com> | 2013-07-28 18:08:38 -0400 |
---|---|---|
committer | Trent Richardson <trentdrichardson@gmail.com> | 2013-07-28 18:08:38 -0400 |
commit | 51e8a3a4f8e01876c964b237adab2eebc50650e1 (patch) | |
tree | 1eb8319bf404747155983d0f9735f5389f95a42d /Gruntfile.js | |
parent | 8a812edfa0dfaab50191ffdaa41d244d19d7f979 (diff) | |
download | jQuery-Timepicker-Addon-51e8a3a4f8e01876c964b237adab2eebc50650e1.zip jQuery-Timepicker-Addon-51e8a3a4f8e01876c964b237adab2eebc50650e1.tar.gz jQuery-Timepicker-Addon-51e8a3a4f8e01876c964b237adab2eebc50650e1.tar.bz2 |
Migrate to grunt setup
Diffstat (limited to 'Gruntfile.js')
-rw-r--r-- | Gruntfile.js | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..ffbc588 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,121 @@ +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + // Metadata. + pkg: grunt.file.readJSON('jquery-ui-timepicker-addon.json'), + banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + + '<%= grunt.template.today("yyyy-mm-dd") %>\n' + + '<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' + + '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + + ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n', + // Task configuration. + clean: { + files: ['dist'] + }, + copy: { + dist: { + files: [ + { src: 'src/index.html', dest: 'dist/index.html' }, + { src: 'src/<%= pkg.name %>.css', dest: 'dist/<%= pkg.name %>.css' }, + { src: 'src/i18n/jquery-ui-timepicker-*.js', dest: 'dist/i18n/', expand:true, flatten: true }, + ] + } + }, + concat: { + dist: { + options: { + banner: '<%= banner %>', + stripBanners: true + }, + src: ['src/<%= pkg.name %>.js'], + dest: 'dist/<%= pkg.name %>.js' + }/*, + docs: { + src: [ + 'src/docs/header.html', + 'src/docs/intro.html', + 'src/docs/options.html', + 'src/docs/methods.html', + 'src/docs/events.html', + 'src/docs/formatting.html', + 'src/docs/i18n.html', + 'src/docs/examples.html', + 'src/docs/footer.html' + ], + dest: 'dist/index.html' + }*/ + }, + uglify: { + options: { + banner: '<%= banner %>' + }, + dist: { + src: '<%= concat.dist.dest %>', + dest: 'dist/<%= pkg.name %>.min.js' + }, + }, + cssmin: { + options: { + banner: '<%= banner %>' + }, + dist: { + src: 'dist/<%= pkg.name %>.css', + dest: 'dist/<%= pkg.name %>.min.css' + }, + }, + jasmine: { + files: ['test/**/*.html'] + }, + jshint: { + gruntfile: { + options: { + jshintrc: '.jshintrc' + }, + src: 'Gruntfile.js' + }, + src: { + options: { + jshintrc: 'src/.jshintrc' + }, + src: ['src/**/*.js'] + }, + test: { + options: { + jshintrc: 'test/.jshintrc' + }, + src: ['test/**/*.js'] + }, + }, + watch: { + gruntfile: { + files: '<%= jshint.gruntfile.src %>', + tasks: ['jshint:gruntfile'] + }, + src: { + files: 'src/**',//'<%= jshint.src.src %>', + tasks: ['jshint:src', 'clean', 'less', 'copy', 'concat', 'uglify', 'cssmin'] + }, + test: { + files: '<%= jshint.test.src %>', + tasks: ['jshint:test', 'jasmine'] + }, + }, + }); + + // These plugins provide necessary tasks. + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-jasmine'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-watch'); + + // Default task. + grunt.registerTask('default', ['jshint', 'jasmine', 'clean', 'copy', 'concat', 'uglify', 'cssmin']); + +}; |