Gruntfile.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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', 'docs/dist'],
  15. concat: {
  16. options: {
  17. separator: ';',
  18. },
  19. dist: {
  20. src: ['src/<%= pkg.name %>.js', 'src/extensions/**/*.js'],
  21. dest: 'dist/<%= pkg.name %>-all.js',
  22. },
  23. },
  24. uglify: {
  25. options: {
  26. banner: '<%= banner %>'
  27. },
  28. my_target: {
  29. files: {
  30. 'dist/<%= pkg.name %>.min.js': ['src/<%=pkg.name %>.js'],
  31. 'dist/<%= pkg.name %>-all.min.js': ['dist/<%=pkg.name %>-all.js']
  32. }
  33. },
  34. locale_target: {
  35. files: [{
  36. expand: true,
  37. cwd: 'src/locale',
  38. src: '**/*.js',
  39. dest: 'dist/locale',
  40. ext: '.min.js' // replace .js to .min.js
  41. }]
  42. },
  43. extensions_target: {
  44. files: [{
  45. expand: true,
  46. cwd: 'src/extensions',
  47. src: '**/*.js',
  48. dest: 'dist/extensions',
  49. ext: '.min.js' // replace .js to .min.js
  50. }]
  51. }
  52. },
  53. cssmin: {
  54. add_banner: {
  55. options: {
  56. banner: '<%= banner %>'
  57. },
  58. files: {
  59. 'dist/<%= pkg.name %>.min.css': ['src/<%=pkg.name %>.css']
  60. }
  61. }
  62. },
  63. copy: {
  64. files: {
  65. cwd: 'dist', // set working folder / root to copy
  66. src: '**/*', // copy all files and subfolders
  67. dest: 'docs/dist', // destination folder
  68. expand: true // required when using cwd
  69. },
  70. source: {
  71. cwd: 'src', // set working folder / root to copy
  72. src: ['**/*.js', '**/*.css'], // copy all files and subfolders
  73. dest: 'dist', // destination folder
  74. expand: true // required when using cwd
  75. }
  76. }
  77. });
  78. grunt.loadNpmTasks('grunt-contrib-clean');
  79. grunt.loadNpmTasks('grunt-contrib-concat');
  80. grunt.loadNpmTasks('grunt-contrib-uglify');
  81. grunt.loadNpmTasks('grunt-contrib-cssmin');
  82. grunt.loadNpmTasks('grunt-contrib-copy');
  83. grunt.registerTask('default', ['clean', 'concat', 'uglify', 'cssmin', 'copy']);
  84. };