forked from adobe-webplatform/Snap.svg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
90 lines (86 loc) · 2.56 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
module.exports = function(grunt) {
var pkg = grunt.file.readJSON("package.json"),
core = [
"./src/mina.js",
"./src/svg.js",
"./src/element.js",
"./src/animation.js",
"./src/matrix.js",
"./src/attr.js",
"./src/class.js",
"./src/attradd.js",
"./src/paper.js",
"./src/path.js",
"./src/set.js",
"./src/equal.js",
"./src/mouse.js",
"./src/filter.js",
"./src/align.js",
"./src/colors.js"
],
src = [
"./node_modules/eve/eve.js",
"./src/amd-banner.js",
"./src/amd-footer.js"
];
src.splice(2, 0, core);
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: pkg,
banner: grunt.file.read("./src/copy.js")
.replace(/@VERSION/, pkg.version)
.replace(/@DATE/, grunt.template.today("yyyy-mm-dd")) + "\n",
// Task configuration.
uglify: {
options: {
banner: "<%= banner %>",
report: "min"
},
dist: {
src: "<%= concat.target.dest %>",
dest: "dist/snap.svg-min.js"
}
},
concat: {
options: {
banner: "<%= banner %>"
},
target: {
dest: "dist/snap.svg.js",
src: src
}
},
exec: {
dr: {
command: "node node_modules/dr.js/dr dr.json"
},
test: {
command: "cd test; phantomjs test.js"
},
eslint: {
command: "./node_modules/eslint/bin/eslint.js " + core.join(" ")
},
},
prettify: {
options: {
indent: 4,
indent_char: " ",
wrap_line_length: 80,
brace_style: "expand",
unformatted: ["code", "pre", "script"]
},
one: {
src: "./doc/reference.html",
dest: "./doc/reference.html"
}
}
});
grunt.loadNpmTasks("grunt-contrib-concat");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-exec");
grunt.loadNpmTasks("grunt-prettify");
grunt.registerTask("default", ["exec:eslint", "concat", "uglify", "exec:dr", "prettify"]);
grunt.registerTask("lint", ["exec:eslint"]);
grunt.registerTask("test", ["exec:test"]);
};