Files
web-antrean/nuxt.config.ts
T
2025-11-05 10:51:35 +07:00

77 lines
1.7 KiB
TypeScript

import vuetify, { transformAssetUrls } from "vite-plugin-vuetify";
export default defineNuxtConfig({
compatibilityDate: "2025-05-15",
devtools: {
enabled: true,
timeline: {
enabled: true,
},
},
modules: [
"@nuxt/content",
"@nuxt/eslint",
"@nuxt/fonts",
"@nuxt/icon",
"@nuxt/image",
"@nuxt/scripts",
"@nuxt/test-utils",
"@nuxt/ui",
"@pinia/nuxt",
"@nuxtjs/google-fonts",
(_options, nuxt) => {
nuxt.hooks.hook("vite:extendConfig", (config) => {
// @ts-expect-error
config.plugins.push(vuetify({ autoImport: true }));
});
},
],
googleFonts: {
families: {
Inter: [400, 500, 600, 700],
},
display: "swap",
},
runtimeConfig: {
authSecret: process.env.NUXT_AUTH_SECRET,
keycloakClientId: process.env.KEYCLOAK_CLIENT_ID,
keycloakClientSecret: process.env.KEYCLOAK_CLIENT_SECRET,
keycloakIssuer: process.env.KEYCLOAK_ISSUER,
public: {
authUrl: process.env.AUTH_ORIGIN || "http://localhost:3001",
},
},
build: {
transpile: ["vuetify"],
},
css: [
"vuetify/lib/styles/main.sass",
"@mdi/font/css/materialdesignicons.min.css",
"~/assets/scss/main.scss",
],
vite: {
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler',
// ✅ Ini akan membuat variables & colors tersedia di SEMUA component
additionalData: `
@use "sass:math";
@use "sass:map";
@use "~/assets/scss/_variables.scss" as *;
@use "~/assets/scss/_colors.scss" as *;
`
}
}
},
ssr: {
noExternal: ["vuetify"],
},
},
});