summaryrefslogtreecommitdiffstats
path: root/Gruntfile.js
blob: ed158ebfec9d49617f2ea4765d3f3cf163927411 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
module.exports = function(grunt) {

  // Configuration.
  grunt.initConfig({
    // verifies we have formatted our js and HTML according to our style conventions
    jsbeautifier: {
      files: ['Gruntfile.js', 'jquery.hotkeys.js', 'test/spec/**/*.js'],
      options: {
        mode: 'VERIFY_ONLY',
        js: {
          'indent_size': 2,
          'indent_char': ' ',
          'indent_level': 0,
          'indent_with_tabs': false,
          'preserve_newlines': true,
          'max_preserve_newlines': 2,
          'jslint_happy': false,
          'brace_style': 'end-expand',
          'indent_scripts ': 'keep',
          'keep_array_indentation': true,
          'keep_function_indentation': false,
          'space_before_conditional': true,
          'break_chained_methods': false,
          'eval_code': false,
          'unescape_strings': false,
          'wrap_line_length': 0
        }
      }
    },
    jshint: {
      options: {
        "undef": true,
        "unused": true
      },
      files: 'jquery.hotkeys.js'
    },
    jasmine: {
      pivotal: {
        options: {
          vendor: ['jquery-1.4.2.js', 'jquery.hotkeys.js', 'test/lib/**.js'],
          outfile: 'test/SpecRunner.html',
          keepRunner: true,
          specs: 'test/spec/*Spec.js'
        }
      }
    },
    watch: {
      scripts: {
        files: ['**/*.js'],
        tasks: ['default'],
        options: {
          spawn: false,
          interrupt: true,
          debounceDelay: 1000
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-watch');

  // Beautify javascript
  grunt.loadNpmTasks("grunt-jsbeautifier");

  // Task loading
  grunt.loadNpmTasks("grunt-contrib-jshint");

  // Running tests
  grunt.loadNpmTasks('grunt-contrib-jasmine');

  // Task registration.
  grunt.registerTask("default", ["jsbeautifier", "jshint", "jasmine"]);
};