Files
veridian/nuxt.config.ts
T

114 lines
3.7 KiB
TypeScript

// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
ssr: true,
app: {
head: {
title: 'Veridian',
htmlAttrs: {
lang: 'en',
},
meta: [
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{
name: 'description',
content: 'A chat-based AI assistant for your LLMs.',
},
{
name: 'keywords',
content:
'LLM, AI, Chat, Assistant, Agent, LLMs, OpenAI, GPT, GPT-3, GPT-4, Claude, ChatGPT, Whisper, Bard, Bing, Anthropic, DeepAI, Dolly, StableLM, Vicuna, Llama, Alpaca, ChatGLM, MOSS, MPT, Codex, Codex2, Codex 3, Codex 4, Falcon, Flan-T5, T5, Llama2, LLaMA, LLaMA2, StableLM, OpenAssistant, OpenChat',
},
],
link: [
{
rel: 'stylesheet',
href: 'https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css',
}
],
script: [
{
src: 'https://cdn.jsdelivr.net/npm/eruda',
},
{
innerHTML: `
eruda.init();
`,
}
]
},
},
vite: {
server: {
allowedHosts: true,
},
optimizeDeps: {
include: [
"shiki/themes/vitesse-dark.mjs", "shiki/themes/vitesse-light.mjs", "shiki/themes/min-light.mjs", "shiki/themes/min-dark.mjs", "shiki/langs/js.mjs", "shiki/langs/jsx.mjs", "shiki/langs/json.mjs", "shiki/langs/ts.mjs", "shiki/langs/tsx.mjs", "shiki/langs/vue.mjs", "shiki/langs/css.mjs", "shiki/langs/html.mjs", "shiki/langs/bash.mjs", "shiki/langs/md.mjs", "shiki/langs/mdc.mjs", "shiki/langs/yaml.mjs", "shiki/langs/py.mjs", "shiki/langs/typescript.mjs", "shiki/langs/javascript.mjs",
'@vue/devtools-core',
'@vue/devtools-kit',
'@nuxt/hints/runtime/hydration/component',
'vue-virtual-scroller',
'shiki',
'better-auth/vue',
'big.js',
'unified',
'remark-gfm',
'remark-parse',
'remark-rehype',
'remark-math',
'rehype-katex',
'@triplit/client',
'@triplit/db'
],
}
},
// bizarely, when I enable this, it adds an 8 second or so lag when I navigate to a different page occasionally
// experimental: {
// viewTransition: true,
// },
modules: ['@nuxt/hints', '@nuxt/icon', '@unocss/nuxt', '@nuxtjs/color-mode', 'triplit-nuxt', 'nuxt-shiki', '@sentry/nuxt/module'],
shiki: {
bundledThemes: ['vitesse-dark', 'vitesse-light'],
bundledLangs: ['js', 'jsx', 'json', 'ts', 'tsx', 'vue', 'css', 'html', 'bash', 'md', 'mdc', 'yaml', 'py'],
defaultTheme: 'vitesse-dark',
},
triplit: {
schema_path: './triplit/schema.ts',
serverUrl: process.env.NUXT_PUBLIC_TRIPLIT_URL,
token: process.env.NUXT_TRIPLIT_ANON_TOKEN,
storage: 'memory',
// we will connect automatically in the auth plugin when we call startSession
autoConnect: false,
},
colorMode: {
preference: 'system',
fallback: 'dark',
storage: 'cookie',
},
devtools: {
enabled: true,
timeline: {
enabled: true,
},
},
compatibilityDate: '2025-07-15',
sentry: {
org: 'veridian-ol',
project: 'javascript-nuxt',
},
sourcemap: {
client: 'hidden',
},
});