-
Notifications
You must be signed in to change notification settings - Fork 0
/
get-config.webpack-merge-and-include-globally.js
96 lines (94 loc) · 2.25 KB
/
get-config.webpack-merge-and-include-globally.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
const merge = require('webpack-merge');
const uglifyJS = require('uglify-js');
const MergeIntoSingleFilePlugin = require('webpack-merge-and-include-globally');
const MergeIntoSingle = require('webpack-merge-and-include-globally');
module.exports = function (options) {
console.log('=====get-config.webpack-merge-and-include-globally.js=====');
let config = {};
if (!options.isUsed) {
return config;
}
config = {
plugins: [
new MergeIntoSingle({
files: [{
src: [
'./frontend/Module1/script1.js',
'./frontend/Module1/script2.js',
],
dest: (code) => {
//console.log('\n== min/code==\n', code);
const min = uglifyJS.minify(code, {
sourceMap: {
filename: '/bundle/Module1.js',
url: '/bundle/Module1.js.map'
}
});
//console.log("\n== min/result==\n", min);
return {
'/bundle/Module1.js': min.code,
'/bundle/Module1.js.map': min.map,
}
},
}
]
}, (filesMap) => {
console.log('\n==CALLBACK==\n', filesMap);
}
),
new MergeIntoSingle({
files: [{
src: [
'./frontend/Module2/script1.js',
'./frontend/Module2/script2.js'
],
dest: (code) => {
//console.log('\n== min/code==\n', code);
const min = uglifyJS.minify(code, {
sourceMap: {
filename: '/bundle/Module2.js',
url: '/bundle/Module2.js.map'
}
});
//console.log("\n== min/result==\n", min);
return {
'/bundle/Module2.js': min.code,
'/bundle/Module2.js.map': min.map,
}
},
}
]
}, (filesMap) => {
console.log('\n==CALLBACK==\n', filesMap);
}
)
]
};
if (options.isBuildModuleAll) {
config = merge(config, {
plugins: [
new MergeIntoSingle({
files: [{
src: [
'./public/bundle/Module1.js',
'./public/bundle/Module2.js',
],
dest: (code) => {
const min = uglifyJS.minify(code, {
sourceMap: {
filename: '/bundle/module-all.js',
url: '/bundle/module-all.js.map'
}
});
return {
'/bundle/module-all.js': min.code,
'/bundle/module-all.js.map': min.map
}
}
}]
})
]
});
}
return config;
};