-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnext.config.js
123 lines (113 loc) · 3.32 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
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/** @type {import('next').NextConfig} */
const optimizedImages = require("next-optimized-images");
const withBundleAnalyzer = require("@next/bundle-analyzer")({
enabled: process.env.ANALYZE==='true',
openAnalyzer:false
})
const Visualizer = require('webpack-visualizer-plugin');
const withTM = require("next-transpile-modules")(
[
"@adobe/react-spectrum",
"@react-spectrum/color",
"@react-spectrum/actiongroup",
"@react-spectrum/breadcrumbs",
"@react-spectrum/button",
"@react-spectrum/buttongroup",
"@react-spectrum/checkbox",
"@react-spectrum/calendar",
"@react-spectrum/contextualhelp",
"@react-spectrum/combobox",
"@react-spectrum/datepicker",
"@react-spectrum/dialog",
"@react-spectrum/divider",
"@react-spectrum/form",
"@react-spectrum/icon",
"@react-spectrum/illustratedmessage",
"@react-spectrum/image",
"@react-spectrum/label",
"@react-spectrum/layout",
"@react-spectrum/link",
"@react-spectrum/listbox",
"@react-spectrum/menu",
"@react-spectrum/meter",
"@react-spectrum/numberfield",
"@react-spectrum/overlays",
"@react-spectrum/picker",
"@react-spectrum/progress",
"@react-spectrum/provider",
"@react-spectrum/radio",
"@react-spectrum/slider",
"@react-spectrum/searchfield",
"@react-spectrum/statuslight",
"@react-spectrum/switch",
"@react-spectrum/table",
"@react-spectrum/tabs",
"@react-spectrum/text",
"@react-spectrum/textfield",
"@react-spectrum/theme-dark",
"@react-spectrum/theme-default",
"@react-spectrum/theme-light",
"@react-spectrum/tooltip",
"@react-spectrum/view",
"@react-spectrum/well",
"@spectrum-icons/ui",
"@spectrum-icons/workflow",
"@spectrum-icons/illustrations",
"@maticoapp/matico_components",
"verbum",
"lexical",
"katex",
"react-mde",
],
{ resolveSymlinks: false }
);
const config = {
reactStrictMode: false,
typescript: {
ignoreBuildErrors: true,
},
// disableStaticImages:true,
// experimental: {
// urlImports: ['http://localhost:8000/'],
// },
webpack: (config, options) => {
config.experiments.asyncWebAssembly = true;
config.experiments.syncWebAssembly = true;
config.experiments.topLevelAwait = true;
config.module.rules.push(
{
test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
use: [
{
loader: 'file-loader',
options:{
outputPath: 'static/webfonts/',
publicPath: '../webfonts/',
// optional, just to prettify file names
name: '[name].[ext]',
}
},
],
},
{
test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
use: [
{
loader: 'file-loader',
options:{
outputPath: 'static/media/',
publicPath: '../media/',
// optional, just to prettify file names
name: '[name].[ext]',
}
},
],
}
);
return config;
},
};
module.exports= (_phase,{defaultConfig})=>{
const plugins = [withTM, withBundleAnalyzer]
return plugins.reduce((acc,plugin)=>plugin(acc), config)
}