Gruntfile.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. });
  63. grunt.loadNpmTasks('grunt-contrib-concat');
  64. grunt.loadNpmTasks('grunt-contrib-connect');
  65. grunt.loadNpmTasks('grunt-contrib-copy');
  66. grunt.loadNpmTasks('grunt-contrib-jshint');
  67. grunt.loadNpmTasks('grunt-contrib-uglify');
  68. grunt.loadNpmTasks('grunt-contrib-watch');
  69. grunt.loadNpmTasks("grunt-jscs");
  70. grunt.registerTask('default', ['connect', 'watch']);
  71. grunt.registerTask('test', ['jshint', 'jscs']);
  72. grunt.registerTask('build', ['jshint', 'jscs', 'copy:dist', 'concat', 'uglify']);
  73. };