-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
100 lines (91 loc) · 2.95 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
"use strict";
var webpackConfig = require("./webpack.config");
module.exports = function(grunt) {
var pkg = grunt.file.readJSON("package.json");
grunt.initConfig({
pkgName: pkg.name,
name: pkg.name,
watch: {
updateWidgetFiles: {
"files": [ "./dist/tmp/src/**/*" ],
"tasks": [ "webpack", "compress:dist", "copy:distDeployment", "copy:mpk" ],
options: {
debounceDelay: 250,
livereload: true
}
},
sourceFiles: {
"files": [ "./src/**/*" ],
"tasks": [ "copy:source" ]
}
},
compress: {
dist: {
options: {
archive: "./dist/" + pkg.version + "/" + pkg.name + ".mpk",
mode: "zip"
},
files: [ {
expand: true,
date: new Date(),
store: false,
cwd: "./dist/tmp/src",
src: [ "**/*" ]
} ]
}
},
copy: {
distDeployment: {
files: [ {
dest: "./dist/test/deployment/web/widgets",
cwd: "./dist/tmp/src/",
src: [ "**/*" ],
expand: true
} ]
},
mpk: {
files: [ {
dest: "./dist/test/widgets",
cwd: "./dist/" + pkg.version + "/",
src: [ pkg.name + ".mpk" ],
expand: true
} ]
},
source: {
files: [ {
dest: "./dist/tmp/src",
cwd: "./src/",
src: [ "**/*", "!**/*.ts" ],
expand: true
} ]
}
},
webpack: {
renderer: webpackConfig
},
clean: {
build: [
"./dist/" + pkg.version + "/" + pkg.name + "/*",
"./dist/tmp/**/*",
"./dist/test/deployment/web/widgets/" + pkg.name + "/*",
"./dist/test/widgets/" + pkg.name + ".mpk"
]
},
checkDependencies: {
this: {},
}
});
grunt.loadNpmTasks("grunt-contrib-compress");
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-check-dependencies");
grunt.loadNpmTasks("grunt-webpack");
grunt.registerTask("default", [ "clean build", "watch" ]);
grunt.registerTask(
"clean build",
"Compiles all the assets and copies the files to the build directory.",
[ "checkDependencies", "clean:build", "webpack", "compress:dist", "copy:mpk" ]
);
grunt.registerTask("build", [ "clean build" ]);
};