-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.js
65 lines (57 loc) · 1.7 KB
/
next.config.js
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
const path = require('path');
const bundleAnalyzer = require('@next/bundle-analyzer');
const million = require('million/compiler');
const appHeaders = require('./config/next/headers');
const redirects = require('./config/next/redirects');
const withBundleAnalyzer = bundleAnalyzer({
enabled: process.env.ANALYZE === 'true',
openAnalyzer: false,
});
/** @type {import('next').NextConfig} */
const defaultNextConfig = {
swcMinify: true,
reactStrictMode: true,
compress: true,
crossOrigin: 'anonymous',
// experimental: {
// // ppr: true,
// // useLightningcss: true,
// // optimizePackageImports: ['react-tweet'],
// },
compiler: {
removeConsole: {
exclude: ['error']
}
},
sassOptions: {
includePaths: [path.join(__dirname, 'src/styles')]
},
images: {
remotePatterns: [
{ hostname: 'bjorncode.dev' },
{ hostname: 'cloud.umami.is' },
{ hostname: 'unavatar.io' },
{ hostname: 'raw.githubusercontent.com' },
{ hostname: 'raw.githubusercontent.com' },
{ hostname: 'res.cloudinary.com' }
],
dangerouslyAllowSVG: true,
contentSecurityPolicy: "default-src 'self': script-src 'none': sandbox;",
formats: ['image/avif', 'image/webp'],
},
headers: () => appHeaders,
redirects: () => redirects,
// webpack: (config) => {
// config.plugins.push(new VeliteWebpackPlugin());
// return config;
// },
}
const millionConfig = {
mute: true,
auto: { rsc: true },
rsc: true
}
const config = withBundleAnalyzer(
million.next(defaultNextConfig, millionConfig)
)
module.exports = config