-
Notifications
You must be signed in to change notification settings - Fork 19
/
next.config.js
128 lines (113 loc) · 2.63 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
const { withSentryConfig } = require("@sentry/nextjs");
/** @type {import('next').NextConfig} */
const SENTRY_DSN =
process.env.NEXT_PUBLIC_SENTRY_DSN ??
"https://[email protected]/0";
const nextConfig = {
swcMinify: true,
reactStrictMode: true,
eslint: {
dirs: ["src"],
},
images: {
domains: [
"raw.githubusercontent.com",
"i.ibb.co",
"pbs.twimg.com",
"github.com",
"app.osmosis.zone",
"imagedelivery.net",
"list.initia.tech",
],
},
webpack: (config, { webpack }) => {
config.plugins.push(
new webpack.DefinePlugin({
__SENTRY_DEBUG__: false,
})
);
return config;
},
async rewrites() {
return [
{
source: "/sentry/:path*",
// https://[email protected]/1234567
destination: `https://${SENTRY_DSN.split("@")[1].split("/")[0]}/:path*`,
},
{
source: "/amplitude",
destination: `https://api2.amplitude.com/2/httpapi`,
},
{
source: "/docker/image/:path*",
destination: `https://hub.docker.com/v2/namespaces/:path*`,
},
];
},
async redirects() {
const routes = [
"account",
"block",
"code",
"contract",
"contract-list",
"module",
"nft-collection",
"proposal",
"project",
"past-tx",
"pool",
"tx",
];
const rules = routes.reduce((acc, route) => {
acc.push({
source: `/:network/${route}/:id`,
destination: `/:network/${route}s/:id`,
permanent: false,
});
acc.push({
source: `/${route}/:id`,
destination: `/${route}s/:id`,
permanent: false,
});
acc.push({
source: `/:network/${route}`,
destination: `/:network/${route}s`,
permanent: false,
});
acc.push({
source: `/${route}`,
destination: `/${route}s`,
permanent: false,
});
return acc;
}, []);
rules.push({
source: "/:network/accounts/usei",
destination: "/:network",
permanent: false,
});
rules.push({
source: "/address/:accountAddress",
destination: "/accounts/:accountAddress",
permanent: false,
});
rules.push({
source: "/:network/address/:accountAddress",
destination: "/:network/accounts/:accountAddress",
permanent: false,
});
return rules;
},
};
const moduleExports = {
...nextConfig,
sentry: {
hideSourceMaps: true,
tunnelRoute: "/sentry",
},
};
module.exports = withSentryConfig(moduleExports, {
dryRun: true,
});