-
Notifications
You must be signed in to change notification settings - Fork 1
/
Gruntfile.js
97 lines (84 loc) · 2.72 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
"use strict";
const merge = require("webpack-merge");
const webpackBackendConfig = require("./webpack.config");
// BackendEnd
const webpackBackendConfigTest = merge.merge(webpackBackendConfig, {
devtool: false,
mode: "development",
optimization: {
minimize: true
},
});
const webpackBackendConfigDevelopment= merge.merge(webpackBackendConfig, {
devtool: false,
mode: "development",
optimization: {
minimize: true
},
});
const webpackBackendConfigRelease = merge.merge(webpackBackendConfig, {
devtool: false,
mode: "production",
optimization: {
minimize: true
}
});
module.exports = function(grunt) {
const pkg = grunt.file.readJSON("package.json");
grunt.initConfig({
watch: {
updateSourceFiles: {
files: ["./**/*", ".env"],
tasks: ["webpack:development"],
options: {
debounceDelay: 250,
livereload: 35734,
livereloadOnError: false,
spawn: false
}
}
},
webpack: {
development: webpackBackendConfigDevelopment,
release: webpackBackendConfigRelease,
test: webpackBackendConfigTest
},
clean: {
build: [
"./dist/**/*",
"./dist/testresults/**/*"
]
},
checkDependencies: {
this: {}
}
});
grunt.loadNpmTasks("grunt-check-dependencies");
grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-file-append");
grunt.loadNpmTasks("grunt-webpack");
grunt.registerTask("default", ["clean build", "watch"]);
grunt.registerTask(
"clean build",
"Compiles all the assets and copies the files to the dist directory.",
["checkDependencies", "clean:build", "webpack:development"]
);
grunt.registerTask(
"release",
"Compiles all the assets and copies the files to the dist directory. Minified without source mapping",
["checkDependencies", "clean:build", "webpack:release"]
);
grunt.registerTask(
"test",
"Compiles all the assets and copies the files to the dist directory. Minified without source mapping",
["checkDependencies", "clean:build", "webpack:test"]
);
grunt.registerTask(
"development",
"Compiles all the assets and copies the files to the dist directory. Minified without source mapping",
["checkDependencies", "clean:build", "webpack:development"]
);
grunt.registerTask("build", ["clean build"]);
};