generated from canopy-iiif/canopy-iiif
-
Notifications
You must be signed in to change notification settings - Fork 0
/
next.config.js
77 lines (65 loc) · 1.59 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
const {
PHASE_DEVELOPMENT_SERVER,
PHASE_PRODUCTION_BUILD,
} = require("next/constants");
const {
getConfig,
getOptions,
getNavigation,
} = require("./services/build/config");
const withMDX = require("@next/mdx")({
extension: /\.mdx?$/,
});
module.exports = (phase) => {
const isDev = phase === PHASE_DEVELOPMENT_SERVER;
const isProd = phase === PHASE_PRODUCTION_BUILD;
const config = getConfig();
const options = getOptions();
const navigation = getNavigation();
navigation.primary = navigation.primary.filter((item) => {
switch (item.path) {
case "/map":
return options.map.enabled;
default:
return true;
}
});
const { prod, dev } = config;
config.environment = (() => {
if (isDev) return dev;
if (isProd) return prod;
})();
config.options = options;
const url = isDev ? `http://localhost:5001` : process.env.NEXT_PUBLIC_URL;
const basePath = process.env.NEXT_PUBLIC_BASE_PATH;
const baseUrl = basePath ? `${url}${basePath}` : url;
const env = {
CANOPY_CONFIG: {
...config.environment,
navigation: navigation,
...config.options,
url,
basePath,
baseUrl,
},
};
const redirects = () => {
return [
{
source: "/works",
destination: "/search",
permanent: true,
},
];
};
return withMDX({
env,
assetPrefix: process.env.NEXT_PUBLIC_BASE_PATH,
basePath: process.env.NEXT_PUBLIC_BASE_PATH,
pageExtensions: ["ts", "tsx", "js", "jsx", "md", "mdx"],
redirects,
typescript: {
ignoreBuildErrors: true,
},
});
};