56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
import tailwindcss from "@tailwindcss/vite";
|
|
|
|
export default defineNuxtConfig({
|
|
app: {
|
|
head: {
|
|
title: "Revisi.one",
|
|
script: [
|
|
{
|
|
src: "https://cloud.umami.is/script.js",
|
|
defer: true,
|
|
"data-website-id": "be63f48d-f9da-4d96-9e3c-f4ddf5aee78d",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
compatibilityDate: "2025-07-15",
|
|
devtools: { enabled: process.env.NODE_ENV !== "production" },
|
|
|
|
future: { compatibilityVersion: 4 },
|
|
|
|
vite: {
|
|
plugins: [tailwindcss()],
|
|
},
|
|
|
|
css: ["~/assets/css/main.css"],
|
|
|
|
runtimeConfig: {
|
|
openrouterApiKey: "",
|
|
openrouterModel: "deepseek/deepseek-v4-flash",
|
|
openrouterCurriculumModel: "",
|
|
openrouterClassificationModel: "deepseek/deepseek-v4-flash",
|
|
openrouterEvaluatorModel: "deepseek/deepseek-r1",
|
|
ttsProvider: "elevenlabs",
|
|
elevenlabsApiKey: "",
|
|
fishAudioApiKey: "",
|
|
|
|
public: {
|
|
elevenlabsVoiceId: "21m00Tcm4TlvDq8ikWAM",
|
|
fishAudioVoiceId: "",
|
|
},
|
|
},
|
|
|
|
routeRules: {
|
|
"/**": {
|
|
headers: {
|
|
"Content-Security-Policy": "default-src 'self'; media-src 'self' blob:; script-src 'self' 'unsafe-inline' https://cloud.umami.is; connect-src 'self' https://cloud.umami.is; style-src 'self' 'unsafe-inline'; img-src 'self' data:;",
|
|
},
|
|
},
|
|
},
|
|
|
|
nitro: {
|
|
experimental: {
|
|
asyncContext: true,
|
|
},
|
|
},
|
|
});
|