-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwdev.webpack.config.js
56 lines (51 loc) · 1.16 KB
/
wdev.webpack.config.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
var path = require('path');
var webpack = require('webpack');
var CopyWebpackPlugin = require('copy-webpack-plugin');
var entryObj = {
'content-script': path.join(__dirname, '/src/content-script.ts')
};
var manifestFile = '/src/manifest.json';
var backgroundPage = '/src/bg.js';
var outdir = '/dist/main';
var moduleRulesInclude = [path.join(__dirname, 'src')];
var devtool = 'cheap-source-map';
var CopyWebpackPluginConfig = new CopyWebpackPlugin([
// Copy manifest
{
from: path.join(__dirname, manifestFile),
to: path.join(__dirname, outdir),
},
// Copy background page
{
from: path.join(__dirname, backgroundPage),
to: path.join(__dirname, outdir),
}
],
{});
module.exports = {
devtool: devtool,
entry: entryObj,
output: {
path: path.join(__dirname, outdir),
filename: '[name].js',
publicPath: '/static/'
},
resolve: {
extensions: ['.js', '.ts', '.tsx']
},
module: {
rules: [{
test: /\.tsx?$/,
loaders: ['awesome-typescript-loader'],
include: moduleRulesInclude
}]
},
plugins: [
CopyWebpackPluginConfig,
],
// Workaround for `can't resolve module 'fs'` issue with htmltidy2
node: {
fs: 'empty',
child_process: 'empty'
}
};