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 githubAppClientId: '',
27 githubAppClientSecret: '',
28 githubWebhookSecret: '',
29 workerBudgetMs: '',
30 maxPackBytes: '',
31 encryptionKey: '',
32 atprotoPrivateJwk: '',
33 sessionPassword: '',
34 public: {
35 url: '',
36 },
37 },
38 typescript: {
39 nodeTsConfig: {
40 compilerOptions: {
41 types: ['node'],
42 },
43 include: [
44 '../vite.config.ts',
45 '../test/unit',
46 '../test/utils',
47 // TODO: fix in a better way 🤦
48 './types/nitro-imports.d.ts',
49 ],
50 },
51 },
52 app: {
53 head: {
54 htmlAttrs: { lang: 'en' },
55 title: 'synchub.to',
56 link: [
57 { rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },
58 { rel: 'alternate icon', href: '/favicon.ico' },
59 ],
60 },
61 },
62 future: {
63 compatibilityVersion: 4,
64 },
65 experimental: {
66 typedPages: true,
67 },
68 routeRules: {
69 '/': { noScripts: true, prerender: true },
70 '/dashboard': { prerender: true },
71 '/connect': { noScripts: true },
72 },
73 nitro: {
74 vercel: {
75 config: {
76 crons: [
77 {
78 path: '/api/jobs/run',
79 schedule: '* * * * *',
80 },
81 ],
82 },
83 functions: {
84 maxDuration: 300,
85 },
86 },
87 typescript: {
88 tsConfig: {
89 // Pull dotted directories like `server/routes/.well-known/` into the
90 // server tsconfig; TypeScript's default include glob skips them.
91 include: ['../server/**/.*/**/*'],
92 },
93 },
94 },
95 compatibilityDate: '2024-04-03',
96 // Ensure that any HTML validation errors are treated as build errors
97 htmlValidator: {
98 failOnError: true,
99 },
100})