-
Notifications
You must be signed in to change notification settings - Fork 29
/
next.config.mjs
100 lines (92 loc) · 2.21 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
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
import { withContentlayer } from 'next-contentlayer2'
import createMDX from '@next/mdx'
import path from 'path'
import { fileURLToPath } from 'url'
const __filename = fileURLToPath(import.meta.url)
import { withYak } from 'next-yak/withYak'
import mdxOptions from './mdxOptions.mjs'
const __dirname = path.dirname(__filename)
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: false,
experimental: {
reactCompiler: true,
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'avatars.githubusercontent.com',
},
],
},
/*
compilerOptions: {
baseUrl: '.',
},
*/
eslint: {
// Warning: This allows production builds to successfully complete even if
// your project has ESLint errors.
ignoreDuringBuilds: true,
},
typescript: {
// !! WARN !!
// Dangerously allow production builds to successfully complete even if
// your project has type errors.
// !! WARN !!
ignoreBuildErrors: true,
},
async rewrites() {
return [{ source: '/feed.xml', destination: '/_next/static/feed.xml' }]
},
async redirects() {
return [
{
source: '/prez',
destination: '/presentation/state-of-the-map-2024',
permanent: false,
},
{
source: '/nord',
destination: '/boussole',
permanent: false,
},
{
source: '/elections-legislatives-2024',
destination: '/?style=elections',
permanent: false,
},
{
source: '/elections-legislatives-2024/premier-tour',
destination: '/?style=elections',
permanent: false,
},
]
},
webpack: (config, options) => {
config.module.rules.push({
test: /\.ya?ml$/,
use: 'yaml-loader',
})
config.module.rules.push({ test: /\.mp3$/, type: 'asset/resource' })
config.module.rules.push({
test: /\.csv$/,
loader: 'csv-loader',
options: {
dynamicTyping: true,
header: true,
skipEmptyLines: true,
},
})
config.resolve.alias = {
...config.resolve.alias,
//https://github.com/Turfjs/turf/issues/2200
rbush: path.resolve(__dirname, '/node_modules/rbush/rbush.js'),
}
return config
},
pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'],
}
const withMDX = createMDX({ options: mdxOptions })
export default withYak(withContentlayer(withMDX(nextConfig)))