-
-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathnext.config.js
38 lines (33 loc) · 880 Bytes
/
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
const withPlugins = require('next-compose-plugins')
const withVideos = require('next-videos')
const IS_PRODUCTION = process.env.NODE_ENV === 'production'
const purgeCSS = [
'@fullhuman/postcss-purgecss',
{
content: ['./pages/**/*.{js,jsx,ts,tsx}', './components/**/*.{js,jsx,ts,tsx}'],
defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || [],
},
]
const postCSSFlexBugsFixes = [
'postcss-flexbugs-fixes',
[
'postcss-preset-env',
{
autoprefixer: {
flexbox: 'no-2009',
},
stage: 3,
features: {
'custom-properties': false,
},
},
],
]
const config = {
swcMinify: true,
images: {
domains: ['images.ctfassets.net', 'res.cloudinary.com'],
},
plugins: [IS_PRODUCTION ? postCSSFlexBugsFixes : [], IS_PRODUCTION ? purgeCSS : []],
}
module.exports = withPlugins([withVideos], config)