-
Notifications
You must be signed in to change notification settings - Fork 0
/
gruntfile.js
79 lines (75 loc) · 2.55 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
71
72
73
74
75
76
77
78
79
module.exports = function(grunt){
"use strict";
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
clean:{
output:["lib/**/*.js",'lib/**/*.map']
},
typescript: {
sourceCode: {
src: ['src/*.ts'],
dest: 'lib',
options: {
module: 'commonjs', //amd commonjs
target: 'es5', //or es3
base_path: 'src/',
sourcemap: false,
declaration: true,
comments: true
}
},
testCode:{
src: ['src/test/*.ts'],
dest: 'lib/',
options: {
module: 'commonjs', //amd commonjs
target: 'es5', //or es3
base_path: 'src/',
sourcemap: false,
declaration: false,
comments: true
}
}
},
mochaTest: {
test: {
options: {
reporter: 'spec'
},
src: ['lib/test/**/*.js']
}
},
bump: {
options: {
files: ['package.json'],
updateConfigs: [],
add: true,
addFiles: ['.'], // '.' for all files except ingored files in .gitignore
commit: true,
commitMessage: 'Release v%VERSION%',
commitFiles: ['package.json'], // '-a' for all files
createTag: true,
tagName: 'v%VERSION%',
tagMessage: 'Version %VERSION%',
push: true,
pushTo: 'origin',
npm: true,
npmTag: 'Release v%VERSION%',
gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d' // options to use with '$ git describe'
}
},
changelog: {
options: {
}
}
});
grunt.loadNpmTasks('grunt-typescript');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-push-release');
grunt.loadNpmTasks('grunt-changelog');
grunt.registerTask('release',['bump']);
grunt.registerTask('test',['mochaTest']);
grunt.registerTask('default',['clean:output','typescript:sourceCode','typescript:testCode','test']);
grunt.registerTask('travis',['clean:output','typescript:sourceCode','typescript:sourceCode','test']);
};