forked from cynicaloptimist/improved-initiative
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
83 lines (80 loc) · 1.92 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
const appVersion = require("./package.json").version;
module.exports = function(grunt) {
grunt.loadNpmTasks("grunt-ts");
grunt.loadNpmTasks("grunt-webpack");
grunt.loadNpmTasks("grunt-contrib-less");
grunt.loadNpmTasks("grunt-contrib-concat");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
ts: {
server: {
tsconfig: "./server/tsconfig.json"
}
},
webpack: {
options: {
keepalive: false
},
dev: require("./webpack.config.dev"),
prod: require("./webpack.config.prod")
},
less: {
default: {
files: {
["public/css/improved-initiative." + appVersion + ".css"]: [
"lesscss/improved-initiative.less"
]
}
}
},
concat: {
js_dependencies: {
src: ["node_modules/jquery/dist/jquery.js"],
dest: "public/js/dependencies.js",
sourceMap: true
},
js_dependencies_min: {
src: ["node_modules/jquery/dist/jquery.min.js"],
dest: "public/js/dependencies.js"
}
},
watch: {
tsserver: {
files: "server/**/*.ts",
tasks: ["ts:server"]
},
lesscss: {
files: "lesscss/**/*.less",
tasks: ["less"]
}
},
copy: {
main: {
files: [
{
expand: true,
cwd: "node_modules/@fortawesome/fontawesome-free/webfonts/",
src: ["**"],
dest: "public/webfonts/"
}
]
}
}
});
grunt.registerTask("build_dev", [
"webpack:dev",
"ts:server",
"less",
"concat:js_dependencies"
]);
grunt.registerTask("build_min", [
"webpack:prod",
"ts:server",
"less",
"concat:js_dependencies_min"
]);
grunt.registerTask("default", ["build_dev", "watch"]);
grunt.registerTask("postinstall", ["copy"]);
};