-
Notifications
You must be signed in to change notification settings - Fork 194
/
gruntfile.js
104 lines (89 loc) · 2.03 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
104
module.exports = function(grunt) {
require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
BASE_PATH: "",
DEVELOPMENT_PATH: "",
ts: {
build: {
src: ["./src/**/*.ts"],
out: "./build/kiwi.js",
options: {
target: "es5",
module: "commonjs",
sourcemap: false,
declaration: true,
comments: true
},
}
},
yuidoc: {
compile: {
name: "<%= pkg.name %>",
description: "<%= pkg.description %>",
version: "<%= pkg.version %>",
url: "<%= pkg.homepage %>",
options: {
extension: ".ts",
paths: "<%= DEVELOPMENT_PATH %>" + "src/",
outdir: "<%= BASE_PATH %>" + "docs/"
}
}
},
uglify: {
build: {
files: {
"build/kiwi.min.js": ["build/kiwi.js"]
}
}
},
concat: {
build: {
src: ["build/kiwi.js", "src/gl-matrix-min.js"],
dest: "build/kiwi.js"
},
buildmin: {
src: ["build/kiwi.min.js", "src/gl-matrix-min.js"],
dest: "build/kiwi.min.js"
}
},
tslint: {
options: {
configuration: grunt.file.readJSON("tslint.json")
},
files: {
src: ["./src/**/*.ts"],
}
},
copy: {
doclogo: {
src: "docstyles/logo.png",
dest: "docs/assets/css/logo.png"
},
docfavicon: {
src: "docstyles/favicon.png",
dest: "docs/assets/favicon.png"
},
docstyles: {
src: "docstyles/main.css",
dest: "docs/assets/css/main.css"
},
templateGame: {
src: "./build/kiwi.js",
dest: "./templateGame/lib/kiwi.js"
}
}
});
grunt.registerTask( "default", [
"ts:build", "tslint", "concat:build", "uglify:build",
"copy:templateGame" ] );
grunt.registerTask( "full", [
"ts:build", "tslint", "concat:build", "uglify:build",
"yuidoc:compile", "copy:templateGame",
"copy:doclogo", "copy:docstyles", "copy:docfavicon" ] );
grunt.registerTask( "docs", [
"yuidoc:compile", "copy:doclogo",
"copy:docstyles", "copy:docfavicon" ] );
grunt.registerTask( "join", [ "concat:build" ] );
};