Gruntfile.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*global module:false*/
  2. module.exports = function(grunt) {
  3. grunt.initConfig({
  4. // Metadata.
  5. pkg: grunt.file.readJSON('package.json'),
  6. banner: '/*! \n * <%= pkg.title || pkg.name %> v<%= pkg.version %>\n' +
  7. ' * <%= pkg.homepage %>\n' +
  8. ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
  9. ' * License: <%= pkg.license %>\n' +
  10. ' */\n',
  11. // Task configuration.
  12. uglify: {
  13. options: {
  14. banner: '<%= banner %>',
  15. report: 'gzip'
  16. },
  17. build: {
  18. src: 'src/loading-bar.js',
  19. dest: 'build/loading-bar.min.js'
  20. }
  21. },
  22. cssmin: {
  23. options: {
  24. banner: '<%= banner %>',
  25. report: 'gzip'
  26. },
  27. minify: {
  28. src: 'src/loading-bar.css',
  29. dest: 'build/loading-bar.min.css'
  30. }
  31. },
  32. karma: {
  33. unit: {
  34. configFile: 'test/karma-angular-1.2.conf.js',
  35. singleRun: true,
  36. coverageReporter: {
  37. type: 'text',
  38. dir: 'coverage/'
  39. }
  40. },
  41. unit13: {
  42. configFile: 'test/karma-angular-1.3.conf.js',
  43. singleRun: true,
  44. coverageReporter: {
  45. type: 'text',
  46. dir: 'coverage/'
  47. }
  48. },
  49. watch: {
  50. configFile: 'test/karma-angular-1.2.conf.js',
  51. singleRun: false,
  52. reporters: ['progress'] // Don't display coverage
  53. }
  54. },
  55. jshint: {
  56. jshintrc: '.jshintrc',
  57. gruntfile: {
  58. src: 'Gruntfile.js'
  59. },
  60. src: {
  61. src: ['src/*.js']
  62. }
  63. },
  64. concat: {
  65. build: {
  66. options: {
  67. banner: '<%= banner %>'
  68. },
  69. files: {
  70. 'build/loading-bar.css': 'src/loading-bar.css',
  71. 'build/loading-bar.js': 'src/loading-bar.js',
  72. }
  73. }
  74. }
  75. });
  76. grunt.loadNpmTasks('grunt-contrib-uglify');
  77. grunt.loadNpmTasks('grunt-contrib-jshint');
  78. grunt.loadNpmTasks('grunt-contrib-cssmin');
  79. grunt.loadNpmTasks('grunt-contrib-concat');
  80. grunt.loadNpmTasks('grunt-karma');
  81. grunt.registerTask('default', ['jshint', 'karma:unit', 'karma:unit13', 'uglify', 'cssmin', 'concat:build']);
  82. grunt.registerTask('test', ['karma:watch']);
  83. grunt.registerTask('build', ['default']);
  84. };