-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
103 lines (87 loc) · 2.22 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
module.exports = function(grunt) {
'use strict';
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
, src: 'src'
, dist: 'dist'
, meta: {
version: '<%= pkg.version %>'
, banner: '/**\n * <%= pkg.name %> - v<%= meta.version %> \n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %> Kiva Microfunds\n' +
' * \n' +
' * Licensed under the MIT license.\n' +
' * <%= pkg.licenses[0].url %>\n' +
' */\n'
}
, bump: {
options: {
files: ['package.json', 'bower.json']
, updateConfigs: ['pkg']
, commitMessage: 'Release v%VERSION%'
, commitFiles: ['package.json', 'bower.json', 'dist']
, createTag: true
, tagName: 'v%VERSION%'
, tagMessage: 'Version %VERSION%'
, push: true
, pushTo: 'origin'
, gitDescribeOptions: '--long'
}
}
, jshint: {
options: {
jshintrc: '.jshintrc'
}
, all: ['src/*.js', 'test/spec/**/*.js']
}
, rig: {
compile: {
options: {
banner: '<%= meta.banner %>'
}
, files: {
'<%= dist %>/iife/kvTrack.js': ['build/_iife.js']
, '<%= dist %>/amd/kvTrack.js': ['build/_amd.js']
}
}
}
, shell: {
'rm-dist': {
options: {
stderr: false
},
command: 'rm -rf dist/*'
}
}
, uglify: {
target: {
options: {
banner: '<%= meta.banner %>'
}
, files: {
'<%= dist %>/iife/kvTrack.min.js': ['<%= dist %>/iife/kvTrack.js']
, '<%= dist %>/amd/kvTrack.min.js': ['<%= dist %>/amd/kvTrack.js']
}
}
}
});
grunt.loadNpmTasks('grunt-bump');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-rigger');
grunt.loadNpmTasks('grunt-shell');
grunt.registerTask('release', function(target) {
if (!target) {
target = 'patch';
}
if (['patch', 'minor', 'major'].indexOf(target) > -1) {
grunt.task.run([
'bump-only:' + target
, 'build'
, 'bump-commit'
]);
}
});
grunt.registerTask('test', ['jshint']);
grunt.registerTask('build', ['shell:rm-dist', 'rig', 'uglify']);
};