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
|
const path = require('path');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const WorkboxPlugin = require('workbox-webpack-plugin');
const config = require('./webpack.common');
config.mode('production');
config
.entry('index')
.add(path.resolve(__dirname, 'src/app/service-worker.tsx'));
config.devtool('source-map');
config.plugin('clean').use(CleanWebpackPlugin);
config.plugin('copy').use(CopyPlugin, [
{
patterns: [
{
from: path.resolve(__dirname, 'public/'),
to: path.resolve(__dirname, 'dist/'),
},
],
},
]);
config.plugin('workbox').use(WorkboxPlugin.InjectManifest, [
{
swSrc: path.resolve(__dirname, 'src/sw/sw.ts'),
maximumFileSizeToCacheInBytes: 15000000,
},
]);
module.exports = config.toConfig();
|