-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathnext.config.mjs
41 lines (35 loc) · 1014 Bytes
/
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
import {
PHASE_DEVELOPMENT_SERVER,
PHASE_PRODUCTION_BUILD,
} from "next/constants.js";
import nextra from "nextra";
/** @type {import('next').NextConfig} */
const config = {};
const withNextra = nextra({
theme: "nextra-theme-docs",
themeConfig: "./theme.config.jsx",
defaultShowCopyCode: true,
});
const nextConfigFunction = async (phase) => {
if (phase === PHASE_DEVELOPMENT_SERVER || phase === PHASE_PRODUCTION_BUILD) {
const withPWA = (await import('@ducanh2912/next-pwa')).default({
dest: 'public',
cacheOnFrontEndNav: true,
aggressiveFrontEndNavCaching: true,
reloadOnOnline: true,
swcMinify: true,
disable: process.env.NODE_ENV === 'development',
// disable: false,
workboxOptions: {
disableDevLogs: true,
},
fallbacks: {
// Failed page requests fallback to this.
document: '/~offline',
},
})
return withPWA(withNextra(config))
}
return nextConfig
}
export default nextConfigFunction