-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.config.js
More file actions
45 lines (44 loc) · 1.01 KB
/
webpack.config.js
File metadata and controls
45 lines (44 loc) · 1.01 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
const path = require('path');
const config = require('./project.config.js');
const webpackConfig = {
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, config.dist)
},
devtool: config.isDevelopment ? 'cheap-module-eval-source-map' : false,
mode: config.isDevelopment ? 'development' : 'production',
resolve: {
// prettier-ignore
modules: [
config.src,
config.components,
'node_modules'
]
},
module: {
rules: []
}
};
if (config.js.dialect === 'typescript') {
webpackConfig.entry = './src/js/app.ts';
webpackConfig.module.rules.push(
{
test: /\.js|\.tsx?$/,
// use: 'ts-loader', ts-loader VERY very slow with allowJs option
use: 'awesome-typescript-loader',
exclude: /node_modules/
}
)
} else {
webpackConfig.entry = './src/js/app.js';
webpackConfig.module.rules.push(
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
)
}
module.exports = webpackConfig;