-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathnext.config.ts
More file actions
114 lines (105 loc) · 2.97 KB
/
next.config.ts
File metadata and controls
114 lines (105 loc) · 2.97 KB
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
import type { NextConfig } from "next";
import {
PHASE_DEVELOPMENT_SERVER,
PHASE_PRODUCTION_BUILD,
} from "next/constants";
export default async function (phase: string): Promise<NextConfig> {
const nextConfig: NextConfig = {
reactStrictMode: true,
i18n: {
locales: ["en-US", "he-IL", "ja-JP", "fa-IR"],
defaultLocale: "en-US",
// domains: [ { domain: "example.com", defaultLocale: 'en-US '} ]
},
images: {
remotePatterns: [
{
protocol: "http",
hostname: "localhost",
port: "3000",
pathname: "/api/file",
},
{
protocol: "https",
hostname: "kiri.art",
// port: "443",
pathname: "/api/file",
},
],
dangerouslyAllowLocalIP: process.env.NODE_ENV === "development",
},
experimental: {
swcPlugins: [
[
"@lingui/swc-plugin",
{
// the same options as in .swcrc
"runtimeModules": {
"i18n": ["@lingui/core", "i18n"],
"trans": ["@lingui/react", "Trans"],
},
},
],
],
},
/*
Disabled on Next 16 upgrade, in case it all works, lets see.
webpack: (config) => {
config.module.rules.push({
test: /\..*ignore/,
use: [
{
loader: "ignore-loader",
},
],
});
if (process.env.NODE_ENV === "development") {
config.resolve.alias = {
...config.resolve.alias,
"next-auth/react": require.resolve("next-auth/react"),
};
}
return config;
},
*/
/*
async headers() {
return [
{
source: "/:path*{/}?",
headers: [
{
key: "Cross-Origin-Embedder-Policy",
value: "require-corp",
},
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin-allow-popups",
},
],
},
];
},
*/
};
if (phase === PHASE_DEVELOPMENT_SERVER || phase === PHASE_PRODUCTION_BUILD) {
const withSerwist = (await import("@serwist/next")).default({
// https://serwist.pages.dev/docs/next/configuring/cache-on-navigation
cacheOnNavigation: true,
// Note: This is only an example. If you use Pages Router,
// use something else that works, such as "service-worker/index.ts".
swSrc: "src/app/sw.ts",
swDest: "public/sw.js",
// reloadOnOnline: true,
disable: process.env.NODE_ENV === "development", // to disable pwa in development
// https://serwist.pages.dev/docs/next/configuring/reload-on-online
// Hopefully fixes issue where app reloads after phone lock/unlock on Android Chrome.
reloadOnOnline: false,
// Handled in src/serwistStuff.tsx
// https://serwist.pages.dev/docs/next/configuring/register
register: false,
});
return withSerwist(nextConfig);
}
return nextConfig;
}