-
Notifications
You must be signed in to change notification settings - Fork 1
/
next.config.js
44 lines (41 loc) · 1.15 KB
/
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
39
40
41
42
43
44
/** @type {import('next').NextConfig} */
const withPWA = require('next-pwa')
const defaultRuntimeCaching = require('next-pwa/cache')
module.exports = withPWA({
disable: process.env.NODE_ENV === 'development',
dest: 'public', // comment out this line
register: true,
sw: '/sw.js',
// publicExcludes: ['!offline-dict.sqlite.gz'],
runtimeCaching: [
{
urlPattern: ({ url }) => {
const isSameOrigin = self.origin === url.origin
if (!isSameOrigin) return false
const pathname = url.pathname
if (pathname.startsWith('/topic/')) return true
return false
},
handler: 'NetworkFirst',
options: {
cacheName: 'topic',
networkTimeoutSeconds: 10,
plugins: [
{ cacheKeyWillBeUsed: async () => '/topic/' },
{ cachedResponseWillBeUsed: async () => '/topic/' }
]
}
},
...defaultRuntimeCaching
]
})({
reactStrictMode: true,
swcMinify: true,
output: 'export',
webpack: (config) => {
config.resolve.fallback = { fs: false }
config.experiments.syncWebAssembly = true
return config
},
transpilePackages: ['absurd-sql']
})