69 lines
2.1 KiB
TypeScript
69 lines
2.1 KiB
TypeScript
import tailwindcss from '@tailwindcss/vite'
|
|
import { readFileSync } from 'node:fs'
|
|
import { dirname, resolve } from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
// Lire la version depuis le fichier VERSION à la racine du projet parent
|
|
const getAppVersion = (): string => {
|
|
try {
|
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
const versionPath = resolve(__dirname, '..', 'VERSION')
|
|
return readFileSync(versionPath, 'utf-8').trim()
|
|
} catch {
|
|
return '0.0.0'
|
|
}
|
|
}
|
|
|
|
const appVersion = process.env.NUXT_PUBLIC_APP_VERSION || getAppVersion()
|
|
|
|
export default defineNuxtConfig({
|
|
compatibilityDate: '2025-07-15',
|
|
ssr: false, // Désactive le SSR pour un mode SPA pur (Client-Side Rendering uniquement)
|
|
devtools: { enabled: true },
|
|
devServer: {
|
|
host: '0.0.0.0',
|
|
port: 3000
|
|
},
|
|
modules: [
|
|
[
|
|
'unplugin-icons/nuxt',
|
|
{
|
|
componentPrefix: 'Icon',
|
|
warn: process.env.NODE_ENV === 'development',
|
|
collections: {
|
|
lucide: () => import('@iconify-json/lucide/icons.json').then(i => i.default)
|
|
}
|
|
}
|
|
]
|
|
],
|
|
runtimeConfig: {
|
|
apiBaseUrl: process.env.NUXT_API_BASE_URL
|
|
|| process.env.NUXT_PUBLIC_API_BASE_URL
|
|
|| 'http://localhost/api',
|
|
public: {
|
|
apiBaseUrl: process.env.NUXT_PUBLIC_API_BASE_URL || 'http://localhost:8081/api',
|
|
appUrl: process.env.NUXT_PUBLIC_APP_URL || 'http://localhost:3001',
|
|
appName: process.env.NUXT_PUBLIC_APP_NAME || 'Inventory Management System',
|
|
appVersion: appVersion,
|
|
apiTimeout: process.env.NUXT_PUBLIC_API_TIMEOUT || '30000',
|
|
requestTimeout: process.env.NUXT_PUBLIC_REQUEST_TIMEOUT || '10000',
|
|
enableDebug: process.env.NUXT_PUBLIC_ENABLE_DEBUG || 'true',
|
|
enableAnalytics: process.env.NUXT_PUBLIC_ENABLE_ANALYTICS || 'false',
|
|
csrfToken: process.env.NUXT_PUBLIC_CSRF_TOKEN || '',
|
|
logLevel: process.env.NUXT_PUBLIC_LOG_LEVEL || 'debug'
|
|
}
|
|
},
|
|
vite: {
|
|
plugins: [tailwindcss()]
|
|
},
|
|
css: ['~/assets/app.css'],
|
|
router: {
|
|
options: {
|
|
strict: false
|
|
}
|
|
},
|
|
experimental: {
|
|
payloadExtraction: false
|
|
}
|
|
})
|