forked from MozillaFoundation/foundation.mozilla.org
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.config.js
More file actions
63 lines (57 loc) · 1.2 KB
/
webpack.config.js
File metadata and controls
63 lines (57 loc) · 1.2 KB
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
let webpack = require(`webpack`);
let path = require(`path`);
let frontendPath = path.resolve(
__dirname,
`network-api`,
`networkapi`,
`frontend`,
`_js`
);
let rules = [
{
test: /\.js(x?)$/,
exclude: /node_modules/,
loader: `babel-loader`,
query: {
presets: [
[`@babel/preset-env`, { targets: `> 1%, last 2 versions` }],
[`@babel/preset-react`],
],
},
},
];
let main = {
devtool: false,
entry: {
main: `./source/js/main.js`,
mozfest: `./source/js/foundation/pages/mozfest/index.js`,
"directory-listing-filters": `./source/js/foundation/pages/directory-listing-filters.js`,
},
output: {
path: frontendPath,
filename: `[name].compiled.js`,
},
module: {
rules,
},
plugins: [new webpack.EnvironmentPlugin(["NODE_ENV"])],
};
let bgMain = {
devtool: false,
entry: {
"bg-main": `./source/js/buyers-guide/bg-main.js`,
polyfills: `./source/js/polyfills.js`,
},
output: {
path: frontendPath,
filename: `[name].compiled.js`,
},
module: {
rules,
},
};
let config = [main, bgMain];
module.exports = (env, argv) => {
process.env.NODE_ENV = process.env.NODE_ENV || argv.mode;
return config;
};