-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.js
53 lines (51 loc) · 1.28 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
45
46
47
48
49
50
51
52
53
const withPWA = require('next-pwa');
const compose = require('fnts/compose').default;
const runtimeCaching = require('next-pwa/cache');
const webpack = require('./webpack.config');
const logNextConfig = require('./scripts/log-next-config.middleware');
module.exports = compose(
logNextConfig,
withPWA
)({
webpack,
pwa: {
dest: 'public',
sw: 'service.worker.js',
disable: process.env.NODE_ENV === 'development',
runtimeCaching,
dynamicStartUrl: false,
reloadOnOnline: false,
buildExcludes: [/-manifest\.json$/, /chunks\/pages\/api\/.*/],
},
reactStrictMode: true,
typescript: {
ignoreBuildErrors: true,
},
eslint: {
ignoreDuringBuilds: true,
},
rewrites: async () => [
{
source: '/',
destination: '/posts',
},
{
source: '/p/:id',
destination: '/posts/:id',
},
],
publicRuntimeConfig: {
baseURL: process.env.BASE_URL,
},
serverRuntimeConfig: {
gitHubAPIURL: process.env.GITHUB_API_URL,
gitHubAPIToken: process.env.GITHUB_API_TOKEN,
gitHubContentRepoOwner: process.env.GITHUB_CONTENT_REPO_OWNER,
gitHubContentRepoName: process.env.GITHUB_CONTENT_REPO_NAME,
},
env: {
appEnv: process.env.APP_ENV,
apiURL: process.env.API_URL,
apiRequestCacheTTL: 1000 * 60 * 60,
},
});