-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnuxt.config.ts
More file actions
73 lines (72 loc) · 2.36 KB
/
Copy pathnuxt.config.ts
File metadata and controls
73 lines (72 loc) · 2.36 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
// https://nuxt.com/docs/api/configuration/nuxt-config
import { defineNuxtConfig } from "nuxt/config";
import tailwindcss from "@tailwindcss/vite";
export default defineNuxtConfig({
compatibilityDate: "2025-07-15",
devtools: { enabled: true },
modules: ["@nuxtjs/i18n"],
css: [
"@fontsource-variable/inter/index.css",
"@fontsource/jetbrains-mono/400.css",
"@fontsource/jetbrains-mono/500.css",
"~/assets/css/main.css",
],
i18n: {
locales: [
{ code: "en", iso: "en-US", file: "en-US.json", name: "English" },
{ code: "zh", iso: "zh-CN", file: "zh-CN.json", name: "Chinese" },
],
lazy: true,
langDir: "locales",
defaultLocale: "zh",
strategy: "no_prefix",
detectBrowserLanguage: {
useCookie: true,
cookieKey: "i18n_redirected",
redirectOn: "root",
},
},
app: {
head: {
title: "DomBeacon",
meta: [
{
name: "description",
content:
"Self-hosted domain ops beacon for tracking wanted domain opportunities, managing owned portfolios, monitoring expiration and SSL risks, and turning domain events into actionable alerts.",
},
// Default light theme color. `useTheme()` updates it on the client when
// the user selects dark mode or system resolves to dark.
{ name: "theme-color", content: "#EDF5F3" },
{ name: "apple-mobile-web-app-capable", content: "yes" },
{ name: "apple-mobile-web-app-status-bar-style", content: "default" },
{ name: "apple-mobile-web-app-title", content: "DomBeacon" },
],
link: [
{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" },
{ rel: "manifest", href: "/manifest.webmanifest" },
{ rel: "apple-touch-icon", href: "/icons/icon-192.svg" },
],
},
},
runtimeConfig: {
vapidPrivateKey: process.env.VAPID_PRIVATE_KEY || "",
vapidSubject: process.env.VAPID_SUBJECT || "mailto:admin@example.com",
public: {
vapidPublicKey: process.env.VAPID_PUBLIC_KEY || "",
allowSingleLabelDomains:
String(process.env.ALLOW_SINGLE_LABEL_DOMAINS || "")
.trim()
.toLowerCase() === "true",
},
},
vite: {
plugins: [tailwindcss()],
optimizeDeps: {
include: ["@lucide/vue", "date-fns", "@headlessui/vue"],
},
build: {
modulePreload: { polyfill: false },
},
},
});