-
-
Notifications
You must be signed in to change notification settings - Fork 18
/
next.config.mjs
91 lines (86 loc) · 2.06 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
87
88
89
90
91
/* eslint-disable @typescript-eslint/no-unsafe-call */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable @typescript-eslint/no-unsafe-return */
import pwa from "next-pwa";
const withPWA = pwa({
dest: "public",
disable: process.env.NODE_ENV === "development",
});
/**
* @type {import('next').NextConfig}
**/
const nextConfig = {
experimental: {
esmExternals: "loose",
},
reactStrictMode: true,
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
use: ["@svgr/webpack"],
});
return config;
},
images: {
remotePatterns: [
{
hostname: "i.scdn.co",
},
],
},
rewrites() {
return Promise.resolve([
{
source: "/feed",
destination: "/feed.xml",
},
]);
},
redirects() {
return Promise.resolve([
{
source: "/new-post",
destination: "/blog/REPLACE_THE_NEWEST_POST_SLUG",
permanent: false,
},
{
source: "/new",
destination: "/blog/REPLACE_THE_NEWEST_POST_SLUG",
permanent: false,
},
{
source: "/post",
destination: "/blog/REPLACE_THE_NEWEST_POST_SLUG",
permanent: false,
},
{
source: "/twitter",
destination: `https://twitter.com/${process.env.NEXT_PUBLIC_X_USERNAME ?? ""}`,
permanent: true,
},
{
source: "/x",
destination: `https://x.com/${process.env.NEXT_PUBLIC_X_USERNAME ?? ""}`,
permanent: true,
},
{
source: "/linkedin",
destination: `https://www.linkedin.com/in/${
process.env.NEXT_PUBLIC_LINKEDIN_USERNAME ?? ""
}`,
permanent: true,
},
{
source: "/github",
destination: `https://github.com/${process.env.NEXT_PUBLIC_GITHUB_USERNAME ?? ""}`,
permanent: true,
},
{
source: "/gumroad",
destination: `https://${process.env.NEXT_PUBLIC_GUMROAD_USERNAME ?? ""}.gumroad.com`,
permanent: true,
},
]);
},
};
export default withPWA(nextConfig);