Gruntfile.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. module.exports = function( grunt ) {
  2. grunt.initConfig({
  3. version: grunt.file.readJSON('package.json').version,
  4. jshint: {
  5. options: {
  6. reporter: require('jshint-stylish'),
  7. jshintrc: true
  8. },
  9. build: {
  10. src: ['Gruntfile.js', 'tasks/*.js']
  11. },
  12. src: {
  13. src: 'src/**/*.js'
  14. },
  15. test: {
  16. src: 'test/*/specs/*.js'
  17. }
  18. },
  19. mocha: {
  20. test: {
  21. src: ['test/unit/runner.html'],
  22. options: {
  23. log: true,
  24. run: true
  25. }
  26. }
  27. },
  28. watch: {
  29. options: {
  30. nospawn: true
  31. },
  32. dev: {
  33. files: ['src/**/*.js', './component.json'],
  34. tasks: ['dev', 'instrument']
  35. }
  36. }
  37. })
  38. grunt.loadNpmTasks('grunt-mocha')
  39. grunt.loadNpmTasks('grunt-contrib-watch')
  40. grunt.loadNpmTasks('grunt-contrib-jshint')
  41. // load custom tasks
  42. grunt.file.recurse('tasks', function (path) {
  43. require('./' + path)(grunt)
  44. })
  45. grunt.registerTask( 'unit', [
  46. 'instrument',
  47. 'mocha'
  48. ])
  49. grunt.registerTask( 'test', [
  50. 'unit',
  51. 'casper'
  52. ])
  53. grunt.registerTask( 'default', [
  54. 'jshint',
  55. 'build',
  56. 'test'
  57. ])
  58. }