mirror your GitHub repos to tangled.org automatically
1// https://nuxt.com/docs/api/configuration/nuxt-config
2export default defineNuxtConfig({
3 devServer: {
4 host: '127.0.0.1',
5 },
6 modules: [
7 '@nuxtjs/html-validator',
8 '@nuxt/scripts',
9 '@nuxt/fonts',
10 '@nuxt/image',
11 'nuxt-og-image',
12 '@nuxt/test-utils',
13 ],
14 devtools: { enabled: true },
15 css: ['~/assets/css/tokens.css', '~/assets/css/base.css'],
16 fonts: {
17 families: [
18 { name: 'JetBrains Mono', provider: 'google', weights: [400, 500, 700] },
19 { name: 'IBM Plex Sans', provider: 'google', weights: [300, 400, 600] },
20 ],
21 },
22 runtimeConfig: {
23 databaseUrl: '',
24 githubAppId: '',
25 githubAppPrivateKey: '',
26 githubWebhookSecret: '',
27 cronSecret: '',
28 workerBudgetMs: '',
29 maxPackBytes: '',
30 encryptionKey: '',
31 atprotoPrivateJwk: '',
32 sessionPassword: '',
33 public: {
34 url: '',
35 },
36 },
37 typescript: {
38 nodeTsConfig: {
39 include: ['../vite.config.ts'],
40 },
41 },
42 app: {
43 head: {
44 htmlAttrs: { lang: 'en' },
45 title: 'synchub.to',
46 link: [
47 { rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },
48 { rel: 'alternate icon', href: '/favicon.ico' },
49 ],
50 },
51 },
52 future: {
53 compatibilityVersion: 4,
54 },
55 experimental: {
56 typedPages: true,
57 },
58 routeRules: {
59 '/': { noScripts: true, prerender: true },
60 '/dashboard': { ssr: false, prerender: true },
61 },
62 nitro: {
63 vercel: {
64 config: {
65 crons: [
66 {
67 path: '/api/jobs/run',
68 schedule: '* * * * *',
69 },
70 ],
71 },
72 functions: {
73 maxDuration: 300,
74 },
75 },
76 typescript: {
77 tsConfig: {
78 // Pull dotted directories like `server/routes/.well-known/` into the
79 // server tsconfig; TypeScript's default include glob skips them.
80 include: ['../server/**/.*/**/*'],
81 },
82 },
83 },
84 compatibilityDate: '2024-04-03',
85 // Ensure that any HTML validation errors are treated as build errors
86 htmlValidator: {
87 failOnError: true,
88 },
89})