Gruntfile.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. 'use strict';
  2. module.exports = function(grunt) {
  3. grunt.initConfig({
  4. jshint: {
  5. options: {
  6. jshintrc: '.jshintrc'
  7. },
  8. all: [
  9. 'Gruntfile.js',
  10. 'assets/js/*.js',
  11. '!assets/js/plugins/*.js',
  12. '!assets/js/scripts.min.js'
  13. ]
  14. },
  15. uglify: {
  16. dist: {
  17. files: {
  18. 'assets/js/scripts.min.js': [
  19. 'assets/js/plugins/*.js',
  20. 'assets/js/_*.js'
  21. ]
  22. }
  23. }
  24. },
  25. imagemin: {
  26. dist: {
  27. options: {
  28. optimizationLevel: 7,
  29. progressive: true
  30. },
  31. files: [{
  32. expand: true,
  33. cwd: 'images/',
  34. src: '{,*/}*.{png,jpg,jpeg}',
  35. dest: 'images/'
  36. }]
  37. }
  38. },
  39. svgmin: {
  40. dist: {
  41. files: [{
  42. expand: true,
  43. cwd: 'images/',
  44. src: '{,*/}*.svg',
  45. dest: 'images/'
  46. }]
  47. }
  48. },
  49. watch: {
  50. js: {
  51. files: [
  52. '<%= jshint.all %>'
  53. ],
  54. tasks: ['jshint','uglify']
  55. }
  56. },
  57. clean: {
  58. dist: [
  59. 'assets/js/scripts.min.js'
  60. ]
  61. }
  62. });
  63. // Load tasks
  64. grunt.loadNpmTasks('grunt-contrib-clean');
  65. grunt.loadNpmTasks('grunt-contrib-jshint');
  66. grunt.loadNpmTasks('grunt-contrib-uglify');
  67. grunt.loadNpmTasks('grunt-contrib-watch');
  68. grunt.loadNpmTasks('grunt-contrib-imagemin');
  69. grunt.loadNpmTasks('grunt-svgmin');
  70. // Register tasks
  71. grunt.registerTask('default', [
  72. 'clean',
  73. 'uglify',
  74. 'imagemin',
  75. 'svgmin'
  76. ]);
  77. grunt.registerTask('dev', [
  78. 'watch'
  79. ]);
  80. grunt.registerTask('images', [
  81. 'imagemin',
  82. 'svgmin'
  83. ]);
  84. };