-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnext.config.js
More file actions
68 lines (60 loc) · 1.39 KB
/
next.config.js
File metadata and controls
68 lines (60 loc) · 1.39 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
/**
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful
* for Docker builds.
*/
import "./src/env.js";
/** @type {import("next").NextConfig} */
const nextConfig = {
output: "standalone",
serverExternalPackages: [
"postgres",
"drizzle-orm",
"nodemailer",
"minio",
"redis",
"awilix",
],
outputFileTracingIncludes: {
"/*": ["src/server/db/migrations/**/*", "drizzle.config.*"],
},
webpack(config, { isServer, dev }) {
const fileLoaderRule = config.module.rules.find((rule) =>
rule.test?.test?.(".svg"),
);
// Server-side sourcemaps for production Node stack traces
if (!dev) {
config.devtool = isServer ? "source-map" : "hidden-source-map";
}
// Exclude svg from the default loader
fileLoaderRule.exclude = /\.svg$/;
// Add SVGR loader
config.module.rules.push({
test: /\.svg$/,
issuer: /\.[jt]sx?$/,
use: [
{
loader: "@svgr/webpack",
options: {
icon: true,
dimensions: false,
expandProps: "start",
},
},
],
});
return config;
},
typedRoutes: true,
sassOptions: {
includePaths: ["./src/styles"],
},
turbopack: {
rules: {
"*.svg": {
loaders: ["@svgr/webpack"],
as: "*.js",
},
},
},
};
export default nextConfig;