-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathnext.config.js
More file actions
40 lines (35 loc) · 986 Bytes
/
next.config.js
File metadata and controls
40 lines (35 loc) · 986 Bytes
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
const withPlugins = require('next-compose-plugins');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
require('dotenv').config();
const nextConfig = {
webpack(config) {
config.module.rules.push(
{
test: /\.svg$/,
issuer: {
test: /\.(js|ts)x?$/,
},
use: ['@svgr/webpack'],
},
{
test: /\.(eot|woff|woff2|ttf|png|jpg|gif)$/,
use: {
loader: 'url-loader',
},
},
);
if (process.env.NODE_ENV !== 'development') {
config.plugins = config.plugins.filter((p) => p.constructor.name !== 'UglifyJsPlugin');
config.plugins.push(
new UglifyJsPlugin({
test: /\.(ts|tsx|js)(\?.*)?$/i,
}),
);
config.optimization.minimizer = [];
config.optimization.minimizer.push(new TerserPlugin());
}
return config;
},
};
module.exports = withPlugins([], nextConfig);