-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathGruntfile.js
70 lines (58 loc) · 1.66 KB
/
Gruntfile.js
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
"use strict";
const child_process = require('child_process');
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
tslint: {
options: {
configuration: 'tslint.json'
},
files: {
src: ['**/*.ts', '!node_modules/**', '!typings/**']
}
},
watch: {
generate: {
files: 'source/ember-docs.json',
tasks: ['generate'],
options: {
event: ['changed', 'added']
}
},
build: {
files: ['**/*.ts', '!node_modules/**'],
tasks: ['build']
},
lint: {
files: ['**/*.ts', '!node_modules/**', '!typings/**'],
tasks: ['tslint'],
options: {
atBegin: true
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks("grunt-tslint");
grunt.registerTask('update-source', 'Update Ember Source', function() {
let branch = grunt.option('branch');
console.log('Removing old source');
child_process.execFileSync('rm', ['-rf', 'source']);
let args = ['clone', '--depth=1'];
if (branch) {
args.push(`--branch=${branch}`);
}
args.push('https://github.com/components/ember.git', 'source');
console.log('Cloning updated source');
if (branch) {
console.log(`Branch: ${branch}`);
}
child_process.execFileSync('git', args);
});
grunt.registerTask('generate', 'Generate intermediate d.ts', function() {
child_process.execFileSync('npm', ['run', 'generate']);
});
grunt.registerTask('build', 'Build final d.ts', function() {
child_process.execFileSync('typings', ['bundle', '-o', 'out']);
});
};