forked from ooade/NextSimpleStarter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnext.config.js
38 lines (33 loc) · 903 Bytes
/
next.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
const path = require('path')
const WorkboxPlugin = require('workbox-webpack-plugin')
module.exports = {
webpack: (config, { buildId, dev }) => {
/**
* Install and Update our Service worker
* on our main entry file :)
* Reason: https://github.com/ooade/NextSimpleStarter/issues/32
*/
const oldEntry = config.entry
config.entry = () =>
oldEntry().then(entry => {
entry['main.js'] &&
entry['main.js'].push(path.resolve('./utils/offline'))
return entry
})
/* Enable only in Production */
if (!dev) {
// Service Worker
config.plugins.push(
new WorkboxPlugin.InjectManifest({
swSrc: path.join(__dirname, 'utils', 'sw.js'),
swDest: path.join(__dirname, '.next', 'sw.js'),
globDirectory: __dirname,
globPatterns: [
'static/**/*.{png,jpg,ico}' // Precache all static assets by default
]
})
)
}
return config
}
}