-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathnext.config.js
89 lines (83 loc) · 1.66 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
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
87
88
89
const path = require('path');
const { i18n } = require('./next-i18next.config');
const defaultEnvs = [
'DEFAULT_API_HOST',
'DEFAULT_API_PORT',
'DEFAULT_API_VERSION',
'DEFAULT_PRICE_HOST',
'DEFAULT_NODE_HOST',
'DEFAULT_EXPLORER_HOST',
'DEFAULT_API_MULTISIGN',
'NEXT_PUBLIC_TRANSFER_ADDRESS',
'NEXT_PUBLIC_ADD_ASSET_INFO_VALUE',
'DIRECTUS_STATIC_TOKEN',
'DEFAULT_CDN_HOST',
'GA_TRACKING_ID',
];
const getEnvs = () => {
let envs = {};
defaultEnvs.forEach(env => {
envs = { ...envs, [env]: process.env[env] };
});
return envs;
};
module.exports = {
env: getEnvs(),
i18n,
images: {
formats: ['image/webp'],
remotePatterns: [
{
protocol: 'https',
hostname: '**',
pathname: '**',
},
],
},
reactStrictMode: false,
webpack: (config, options) => {
config.resolve.fallback = { fs: false, path: false };
config.module.rules.push({
test: /\.svg$/,
use: [
options.defaultLoaders.babel,
{
loader: '@svgr/webpack',
options: { babel: false },
},
],
});
return config;
},
eslint: {
ignoreDuringBuilds: true,
},
typescript: {
ignoreBuildErrors: process.env?.IS_PRODUCTION === 'true',
},
compiler: {
styledComponents: {
ssr: true,
displayName: true,
},
},
redirects: async () => {
return [
{
source: '/itos',
destination: '/ito',
permanent: true,
},
{
source: '/launchpad',
destination: '/ito',
permanent: true,
},
{
source: '/home',
destination: '/',
permanent: true,
},
];
},
};