| 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
 | var util = require('./utils.js');
var spawn = require('child_process').spawn;
module.exports = function(grunt) {
  grunt.registerMultiTask('min', 'minify JS files', function(){
    util.min.call(util, this.data, this.async());
  });
  grunt.registerTask('minall', 'minify all the JS files in parallel', function(){
    var files = grunt.config('min');
    files = Object.keys(files).map(function(key){ return files[key]; });
    grunt.util.async.forEach(files, util.min.bind(util), this.async());
  });
  grunt.registerMultiTask('build', 'build JS files', function(){
    util.build.call(util, this.data, this.async());
  });
  grunt.registerTask('buildall', 'build all the JS files in parallel', function(){
    var builds = grunt.config('build');
    builds = Object.keys(builds).map(function(key){ return builds[key]; });
    grunt.util.async.forEach(builds, util.build.bind(util), this.async());
  });
  grunt.registerMultiTask('write', 'write content to a file', function(){
    grunt.file.write(this.data.file, this.data.val);
    grunt.log.ok('wrote to ' + this.data.file);
  });
  grunt.registerMultiTask('docs', 'create angular docs', function(){
    var done = this.async();
    var files = this.data;
    var docs  = spawn('node', ['docs/src/gen-docs.js']);
    docs.stdout.pipe(process.stdout);
    docs.stderr.pipe(process.stderr);
    docs.on('exit', function(code){
      if(code !== 0) grunt.fail.warn('Error creating docs');
      grunt.file.expand(files).forEach(function(file){
        var content = util.process(grunt.file.read(file), grunt.config('NG_VERSION'), false);
        grunt.file.write(file, content);
      });
      grunt.log.ok('docs created');
      done();
    });
  });
  grunt.registerMultiTask('test', 'Run the unit tests with Karma', function(){
    util.startKarma.call(util, this.data, true, this.async());
  });
  grunt.registerMultiTask('autotest', 'Run and watch the unit tests with Karma', function(){
    util.startKarma.call(util, this.data, false, this.async());
  });
  grunt.registerTask('collect-errors', 'Combine stripped error files', function () {
    util.collectErrors();
  });
};
 |