-
Notifications
You must be signed in to change notification settings - Fork 9
/
next.config.js
93 lines (88 loc) · 2.66 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
// used by <Link/> component and static CSS
let assetPrefix = '';
// used by <Image/> component
let basePath = '';
// const isGithubActions = process.env.GITHUB_ACTIONS || false;
// // exports via GitHub Pages via automated Actions
// // https://www.viget.com/articles/host-build-and-deploy-next-js-projects-on-github-pages/
// if (isGithubActions) {
// const path = process.env.PROJECT_NAME;
// // trim off `<owner>/`, testing dynamically obtaining values from GitHub env
// // const path = process.env.GITHUB_REPOSITORY.replace(/.*?\//, '');
// assetPrefix = `/${path}/`;
// basePath = `/${path}`;
// } else if (process.env.HOSTING === 'gh_pages') {
// // exporting to GitHub Pages via package.json scripts
// assetPrefix = `/${path}/`;
// basePath = `/${path}`;
// }
let staticOptimized = true;
if (process.env.HOSTING === 'local') {
staticOptimized = false;
}
// initializes the withNextra config object with theme settings
// set staticImage: false to avoid usage of IMGIX at a loss of image optimization
const withNextra = require('nextra')({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.tsx',
staticImage: staticOptimized,
});
module.exports = withNextra({
images: {
unoptimized: !staticOptimized,
remotePatterns: [
{
protocol: 'https',
hostname: 'images.unsplash.com',
port: '',
pathname: '/**',
},
{
protocol: 'https',
hostname: 'plus.unsplash.com',
port: '',
pathname: '/**',
},
{
protocol: 'https',
hostname: 'zilliant.com',
port: '',
pathname: '/**',
},
{
protocol: 'https',
hostname: 'embed-ssl.wistia.com',
port: '',
pathname: '/**',
},
],
},
assetPrefix: assetPrefix,
webpack(config) {
// uses svgr for safe usage of SVGs in React
config.module.rules.push({
test: /\.svg$/i,
issuer: /\.[jt]sx?$/,
use: ['@svgr/webpack'],
});
// See https://webpack.js.org/configuration/resolve/#resolvealias
config.resolve.alias = {
...config.resolve.alias,
"onnxruntime-node$": false,
};
return config
},
});
// exports the config with some additional nextjs settings
// current config requires usage of <Img/> component for optimization
// markdown syntax ![]() uses unoptimized images
// if basePath must be defined add it here: basePath: basePath, excluded due to imgix hosting
// module.exports = withNextra({
// assetPrefix: assetPrefix,
// basePath: basePath,
// images: {
// loader: 'imgix',
// domains: ['tableauembeddingplaybook.imgix.net'],
// path: 'tableauembeddingplaybook.imgix.net',
// },
// });