/
astro.config.mjs
68 lines (65 loc) · 1.56 KB
/
astro.config.mjs
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
import { defineConfig } from "astro/config";
import aws from "astro-sst";
import sitemap from "@astrojs/sitemap";
import tailwind from "@astrojs/tailwind";
import solidJs from "@astrojs/solid-js";
import pagefind from "./integrations/pagefind";
import auth from "./integrations/auth";
import { loadEnv } from "vite";
const { IS_PUBLIC, PRE_BUILD, CUSTOM_DOMAIN } = loadEnv(
process.env.NODE_ENV,
process.cwd(),
""
);
const is_public = IS_PUBLIC === "true"
const is_pre_build = PRE_BUILD === "true"
// https://astro.build/config
export default defineConfig({
...(is_public
? {
output: "static",
integrations: [
sitemap(),
pagefind({
is_pre_build: is_pre_build,
is_public: is_public,
}),
tailwind({
applyBaseStyles: false,
}),
solidJs(),
],
}
: {
output: PRE_BUILD ? "hybrid" : "server",
adapter: aws({
serverRoutes: ["/api/*"],
}),
integrations: [
sitemap(),
pagefind({
is_pre_build: is_pre_build,
is_public: is_public,
}),
tailwind({
applyBaseStyles: false,
}),
solidJs(),
auth({
injectEndpoints: true,
}),
],
}),
site: `https://${CUSTOM_DOMAIN}`,
cacheDir: "./cache",
compressHTML: true,
build: {
rollupOptions: {
external: ["/pagefind/pagefind.js"],
},
redirects: false,
},
vite: {
optimizeDeps: { exclude: ['auth:config'] },
}
});