Sink/nuxt.config.ts
ccbikai af5724f3c1 feat: add configurable list query limit
Extracts list query limit into runtime configuration
Updates default pagination limit in query schema

Makes the list query limit configurable across the application rather than hardcoding it to 500, improving flexibility for different deployment scenarios.
2024-12-25 12:14:38 +08:00

72 lines
1.6 KiB
TypeScript

// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
modules: [
'@nuxthub/core',
'shadcn-nuxt',
'@nuxt/eslint',
'@nuxtjs/tailwindcss',
'@nuxtjs/color-mode',
],
devtools: { enabled: true },
colorMode: {
classSuffix: '',
},
runtimeConfig: {
siteToken: 'SinkCool',
redirectStatusCode: '301',
linkCacheTtl: 60,
redirectWithQuery: false,
homeURL: '',
cfAccountId: '',
cfApiToken: '',
dataset: 'sink',
aiModel: '@cf/meta/llama-3.1-8b-instruct',
aiPrompt: `You are a URL shortening assistant, please shorten the URL provided by the user into a SLUG. The SLUG information must come from the URL itself, do not make any assumptions. A SLUG is human-readable and should not exceed three words and can be validated using regular expressions {slugRegex} . Only the best one is returned, the format must be JSON reference {"slug": "example-slug"}`,
caseSensitive: false,
listQueryLimit: 500,
public: {
previewMode: '',
slugDefaultLength: '6',
},
},
routeRules: {
'/': {
prerender: true,
},
'/dashboard/**': {
ssr: false,
},
'/dashboard': {
redirect: '/dashboard/links',
},
},
compatibilityDate: '2024-07-08',
nitro: {
experimental: {
// Enable Server API documentation within NuxtHub
openAPI: true,
},
},
hub: {
ai: true,
analytics: true,
blob: false,
cache: false,
database: false,
kv: true,
},
eslint: {
config: {
stylistic: true,
standalone: false,
},
},
})