forked from qiniu/js-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
85 lines (75 loc) · 2.46 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
module.exports = function( grunt ) {
"use strict";
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
dist: {
src: [ "dist/qiniu.js" ],
options: {
jshintrc: ".jshintrc"
}
},
grunt: {
src: [ "Gruntfile.js" ],
options: {
jshintrc: ".jshintrc"
}
},
},
build: {
all: {
dest: "dist/qiniu.js",
src: ["src/qiniu.js"]
}
},
uglify: {
all: {
files: {
"dist/qiniu.min.js": [ "dist/qiniu.js" ]
},
options: {
banner: "/*! <%= pkg.name %> v<%= pkg.version %> | Copyright 2015 by Qiniu */",
sourceMap: "dist/qiniu.min.map",
compress: {
hoist_funs: false,
join_vars: false,
loops: false,
unused: false
},
beautify: {
ascii_only: true
}
}
}
}
});
grunt.registerMultiTask(
"build",
"Embed date/version",
function() {
var source = grunt.file.read( "src/qiniu.js" ),
version = grunt.config( "pkg.version" );
// Embed Version
// Embed Date
source = source.replace( /@VERSION/g, version )
.replace( "@DATE", function () {
var date = new Date();
// YYYY-MM-DD
return [
date.getFullYear(),
date.getMonth() + 1,
date.getDate()
].join( "-" );
});
// Write concatenated source to file
grunt.file.write( "dist/qiniu.js", source );
// Otherwise, print a success message.
grunt.log.writeln( "File 'dist/qiniu.js' created." );
});
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-jshint");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-contrib-concat");
grunt.registerTask( "default", [ "build", "jshint", "uglify" ] );
};