forked from vaibhavxtripathi/ElixirV4
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnext.config.ts
More file actions
61 lines (59 loc) · 1.42 KB
/
next.config.ts
File metadata and controls
61 lines (59 loc) · 1.42 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
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
/* config options here */
images: {
remotePatterns: [
{
protocol: "https",
hostname: "**",
},
{
protocol: "http",
hostname: "**",
},
],
formats: ["image/avif", "image/webp"],
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
minimumCacheTTL: 60,
},
eslint: {
// Enforce linting during builds
ignoreDuringBuilds: false,
},
typescript: {
// Enforce typechecking during builds
ignoreBuildErrors: false,
},
// Performance optimizations for development
experimental: {
optimizePackageImports: [
"framer-motion",
"@radix-ui/react-icons",
"lucide-react",
],
},
// Disable source maps in development for faster builds
productionBrowserSourceMaps: false,
// Optimize bundle splitting
webpack: (config, { dev, isServer }) => {
if (dev && !isServer) {
// Reduce bundle size in development
config.optimization.splitChunks = {
chunks: "all",
cacheGroups: {
default: false,
vendors: false,
// Bundle all vendor code together
vendor: {
name: "vendor",
chunks: "all",
test: /node_modules/,
},
},
};
}
return config;
},
};
export default nextConfig;