Gruntfile.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. 'use strict';
  2. module.exports = function(grunt) {
  3. // Project configuration.
  4. grunt.initConfig({
  5. // Metadata.
  6. pkg: grunt.file.readJSON('bootstrap-table.jquery.json'),
  7. banner: '/*\n' +
  8. '* <%= pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' +
  9. '<%= pkg.homepage ? "* " + pkg.homepage : "" %>\n' +
  10. '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' +
  11. '* Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n' +
  12. '*/\n',
  13. // Task configuration.
  14. clean: ['dist'],
  15. uglify: {
  16. options: {
  17. banner: '<%= banner %>'
  18. },
  19. my_target: {
  20. files: {
  21. 'dist/<%= pkg.name %>.min.js': ['src/<%=pkg.name %>.js']
  22. }
  23. },
  24. locale_target: {
  25. files: [{
  26. expand: true,
  27. cwd: 'src/locale',
  28. src: '**/*.js',
  29. dest: 'dist/locale',
  30. ext: '.min.js' // replace .js to .min.js
  31. }]
  32. }
  33. },
  34. cssmin: {
  35. add_banner: {
  36. options: {
  37. banner: '<%= banner %>'
  38. },
  39. files: {
  40. 'dist/<%= pkg.name %>.min.css': ['src/<%=pkg.name %>.css']
  41. }
  42. }
  43. }
  44. });
  45. grunt.loadNpmTasks('grunt-contrib-clean');
  46. grunt.loadNpmTasks('grunt-contrib-uglify');
  47. grunt.loadNpmTasks('grunt-contrib-cssmin');
  48. grunt.registerTask('default', ['clean', 'uglify', 'cssmin']);
  49. };