-
Notifications
You must be signed in to change notification settings - Fork 33
/
next.config.mjs
86 lines (82 loc) · 1.88 KB
/
next.config.mjs
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import {withContentlayer} from 'next-contentlayer'
import NextPWA from '@ducanh2912/next-pwa'
import {nanoid} from 'nanoid'
import getStaticPrecacheEntries from './src/utils/get-static-precache-entries.js'
import getDynamicPrecacheEntries from './src/utils/get-dynamic-precache-entries.js'
const buildId = nanoid()
const withPWA = NextPWA({
cacheOnFrontEndNav: true,
aggressiveFrontEndNavCaching: true,
reloadOnOnline: true,
swcMinify: true,
dest: 'public',
fallbacks: {
document: '/offline'
},
workboxOptions: {
disableDevLogs: true,
additionalManifestEntries: [...getStaticPrecacheEntries(), ...getDynamicPrecacheEntries(buildId)]
}
})
/** @type {import('next').NextConfig} */
const nextConfig = {
generateBuildId: () => buildId,
async redirects() {
return [
{
source: '/',
destination: '/schedule',
permanent: false
}
]
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'pbs.twimg.com'
},
{
protocol: 'https',
hostname: 'i.imgur.com'
},
{
protocol: 'https',
hostname: 'adamwiggins.com'
},
{
protocol: 'https',
hostname: 'productionpyconbackend.blob.core.windows.net'
},
{
protocol: 'https',
hostname: 'avatars.githubusercontent.com'
},
{
protocol: 'https',
hostname: 'media.licdn.com'
},
{
protocol: 'https',
hostname: 'gravatar.com'
},
{
protocol: 'https',
hostname: 'media.licdn.com'
},
{
protocol: 'https',
hostname: '1.gravatar.com'
},
{
protocol: 'https',
hostname: 'electric-sql.com'
},
{
protocol: 'https',
hostname: 'drive.google.com'
}
]
}
}
export default withPWA(withContentlayer(nextConfig))