You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

55 lines
1.4 KiB

// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: '2025-01-29',
devtools: {
enabled: ['true', '1'].includes(process.env.NUXT_DEVTOOLS_ENABLED || ''),
},
// App configuration
app: {
head: {
// Roboto font is now loaded locally from /public/fonts/roboto/
// See @font-face declarations in assets/css/tailwind.css
link: [
{
rel: 'preload',
as: 'font',
type: 'font/woff2',
href: '/fonts/roboto/Roboto-VariableFont-latin.woff2',
crossorigin: 'anonymous',
},
],
},
},
// Modules
modules: ['@nuxtjs/tailwindcss', 'shadcn-nuxt', '@nuxt/eslint'],
// shadcn-nuxt configuration
shadcn: {
prefix: '',
componentDir: './components/ui',
},
// Runtime configuration
runtimeConfig: {
// Server-only config
databaseUrl: process.env.DATABASE_URL,
redisHost: process.env.REDIS_HOST || 'localhost',
redisPort: process.env.REDIS_PORT || '6379',
internalAuthUsername: process.env.INTERNAL_AUTH_USERNAME || '',
internalAuthPassword: process.env.INTERNAL_AUTH_PASSWORD || '',
// Public (exposed to client)
public: {
appUrl: process.env.APP_URL || 'http://localhost:3000',
},
},
// TypeScript configuration
typescript: {
strict: true,
typeCheck: false, // Disabled for now, will enable in later phases with vue-tsc
},
})