Gruntfile.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. module.exports = function (grunt) {
  2. "use strict";
  3. grunt.initConfig({
  4. banner:
  5. '/*!\n' +
  6. ' * Lightbox for Bootstrap by @ashleydw\n' +
  7. ' * https://github.com/ashleydw/lightbox\n' +
  8. ' *\n' +
  9. ' * License: https://github.com/ashleydw/lightbox/blob/master/LICENSE\n' +
  10. ' */',
  11. less: {
  12. dist: {
  13. files: {
  14. 'dist/ekko-lightbox.css': 'ekko-lightbox.less'
  15. }
  16. }
  17. },
  18. babel: {
  19. options: {
  20. sourceMap: true,
  21. modules: 'ignore'
  22. },
  23. dist: {
  24. files: {
  25. 'dist/ekko-lightbox.js': 'ekko-lightbox.js',
  26. }
  27. }
  28. },
  29. uglify: {
  30. options: {
  31. sourceMap: true,
  32. },
  33. js: {
  34. files: {
  35. 'dist/ekko-lightbox.min.js': 'dist/ekko-lightbox.js'
  36. }
  37. }
  38. },
  39. postcss: {
  40. options: {
  41. map: true,
  42. processors: [
  43. require('autoprefixer')({
  44. browsers: ['last 2 versions']
  45. }),
  46. require('cssnano')()
  47. ]
  48. },
  49. dist: {
  50. src: 'dist/*.css'
  51. }
  52. },
  53. stamp: {
  54. options: {
  55. banner: '<%= banner %>\n+function ($) {\n',
  56. footer: '\n}(jQuery);'
  57. },
  58. lightbox: {
  59. files: {
  60. src: ['dist/ekko-lightbox.js', 'dist/ekko-lightbox.min.js']
  61. }
  62. }
  63. },
  64. watch: {
  65. babel: {
  66. files: ['ekko-lightbox.js', 'ekko-lightbox.less'],
  67. tasks: ['dev']
  68. }
  69. }
  70. });
  71. grunt.loadNpmTasks('grunt-stamp');
  72. grunt.loadNpmTasks('grunt-babel');
  73. grunt.loadNpmTasks('grunt-contrib-uglify');
  74. grunt.loadNpmTasks('grunt-contrib-cssmin');
  75. grunt.loadNpmTasks('grunt-contrib-watch');
  76. grunt.loadNpmTasks('grunt-contrib-less');
  77. grunt.loadNpmTasks('grunt-postcss');
  78. grunt.registerTask('dev', ['babel', 'less']);
  79. grunt.registerTask('dist', ['babel', 'less', 'stamp', 'postcss:dist', 'uglify']);
  80. grunt.registerTask('default', ['dist']);
  81. };