forked from lamnguyencse17/foodgether
-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.mjs
55 lines (48 loc) · 1.34 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
// @ts-check
/**
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation.
* This is especially useful for Docker builds.
*/
!process.env.SKIP_ENV_VALIDATION && (await import("./src/env/server.mjs"));
import { withSentryConfig } from "@sentry/nextjs";
import path from "path";
import * as url from "url";
const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
/** @type {import("next").NextConfig} */
const config = {
reactStrictMode: true,
swcMinify: true,
i18n: {
defaultLocale: "en",
locales: ["en", "vi"],
localeDetection: false,
},
images: {
domains: ["images.foody.vn"],
},
trailingSlash: true,
experimental: {
swcPlugins: [["next-superjson-plugin", {}]],
},
webpack(config, { dev, isServer }) {
if (dev && !isServer) {
const originalEntry = config.entry;
config.entry = async () => {
const wdrPath = path.resolve(__dirname, "./src/scripts/wdyr.ts");
const entries = await originalEntry();
if (entries["main.js"] && !entries["main.js"].includes(wdrPath)) {
entries["main.js"].push(wdrPath);
}
return entries;
};
}
return config;
},
sentry: {
hideSourceMaps: true,
},
};
const sentryWebpackPluginOptions = {
silent: true,
};
export default withSentryConfig(config, sentryWebpackPluginOptions);