-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathastro.config.mjs
More file actions
98 lines (96 loc) · 2.44 KB
/
Copy pathastro.config.mjs
File metadata and controls
98 lines (96 loc) · 2.44 KB
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
import mdx from '@astrojs/mdx';
import netlify from '@astrojs/netlify';
import react from '@astrojs/react';
import sitemap from '@astrojs/sitemap';
import tailwindcss from '@tailwindcss/vite';
import { defineConfig, envField } from 'astro/config';
import { loadEnv } from 'vite';
import config from './public/config.json';
import tina from '@tinacms/astro/integration';
import { tinaAdminDevRedirect } from '@tinacms/astro/vite';
const { locales, default_locale: defaultLocale } = config.i18n;
const { STATIC_BUILD } = loadEnv(process.env.STATIC_BUILD, process.cwd(), '');
// https://astro.build/config
export default defineConfig({
i18n: {
defaultLocale,
locales,
routing: {
prefixDefaultLocale: true,
redirectToDefaultLocale: true
}
},
output: STATIC_BUILD === 'true' ? 'static' : 'server',
adapter: netlify(),
integrations: [mdx(), sitemap(), react(), tina()],
vite: {
optimizeDeps: {
esbuildOptions: {
// Node.js global to browser globalThis
define: {
global: 'globalThis',
},
},
ssr: {
noExternal: ['clsx', '@phosphor-icons/*', '@radix-ui/*']
}
},
plugins: [tailwindcss(), tinaAdminDevRedirect()],
resolve: {
preserveSymlinks: true,
mainFields: [
'browser',
'module',
'main',
'jsnext:main',
'jsnext'
]
}
},
env: {
schema: {
CACHE_CDN_MAX_AGE: envField.number({
access: 'public',
context: 'client',
default: 300,
optional: true
}),
CACHE_STALE_WHILE_REVALIDATE: envField.number({
access: 'public',
context: 'client',
default: 604800,
optional: true
}),
DISABLE_CACHE: envField.boolean({
access: 'public',
context: 'client',
default: false,
optional: true
}),
CONTENT_MODE: envField.string({
access: 'public',
context: 'client',
default: 'update',
optional: true
}),
PRELOAD_MAP: envField.boolean({
access: 'public',
context: 'client',
default: false,
optional: true
}),
STATIC_BUILD: envField.boolean({
access: 'public',
context: 'client',
default: false,
optional: true
}),
USE_CONTENT_CACHE: envField.boolean({
access: 'public',
context: 'client',
default: false,
optional: true
})
}
}
});