Gruntfile.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. module.exports = function(grunt) {
  2. grunt.initConfig({
  3. concat: {
  4. dist: {
  5. src: ['bower_components/jquery/dist/jquery.js', 'src/js/lightbox.js'],
  6. dest: 'dist/js/lightbox-plus-jquery.js',
  7. },
  8. },
  9. connect: {
  10. server: {
  11. options: {
  12. port: 8000
  13. }
  14. }
  15. },
  16. copy: {
  17. dist: {
  18. files: [
  19. {
  20. expand: true,
  21. cwd: 'src/',
  22. src: ['**'],
  23. dest: 'dist/'
  24. }
  25. ],
  26. },
  27. },
  28. jshint: {
  29. all: [
  30. 'src/js/lightbox.js'
  31. ],
  32. options: {
  33. jshintrc: true
  34. }
  35. },
  36. jscs: {
  37. src: [
  38. 'src/js/lightbox.js'
  39. ],
  40. options: {
  41. config: ".jscsrc"
  42. }
  43. },
  44. uglify: {
  45. options: {
  46. preserveComments: 'some',
  47. sourceMap: true
  48. },
  49. dist: {
  50. files: {
  51. 'dist/js/lightbox.min.js': ['src/js/lightbox.js'],
  52. 'dist/js/lightbox-plus-jquery.min.js': ['dist/js/lightbox-plus-jquery.js']
  53. }
  54. }
  55. },
  56. watch: {
  57. jshint: {
  58. files: ['src/js/lightbox.js'],
  59. tasks: ['jshint', 'jscs']
  60. }
  61. },
  62. cssmin: {
  63. minify: {
  64. src: 'dist/css/lightbox.css',
  65. dest: 'dist/css/lightbox.min.css'
  66. }
  67. }
  68. });
  69. grunt.loadNpmTasks('grunt-contrib-concat');
  70. grunt.loadNpmTasks('grunt-contrib-connect');
  71. grunt.loadNpmTasks('grunt-contrib-copy');
  72. grunt.loadNpmTasks('grunt-contrib-jshint');
  73. grunt.loadNpmTasks('grunt-contrib-uglify');
  74. grunt.loadNpmTasks('grunt-contrib-watch');
  75. grunt.loadNpmTasks('grunt-contrib-cssmin');
  76. grunt.loadNpmTasks("grunt-jscs");
  77. grunt.registerTask('default', ['connect', 'watch']);
  78. grunt.registerTask('test', ['jshint', 'jscs']);
  79. grunt.registerTask('build', ['jshint', 'jscs', 'copy:dist', 'concat', 'uglify', 'cssmin:minify']);
  80. };