import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { fileURLToPath } from 'node:url' import { doocusApi } from './server/doocusApi' // Output directories produced by the doocus pipeline. One or many, so several // sources can be joined in the tree/search. DOOCUS_OUTPUTS is comma-separated; // DOOCUS_OUTPUT (single) is still honored for back-compat. const outputEnv = process.env.DOOCUS_OUTPUTS ?? process.env.DOOCUS_OUTPUT const outputDirs = (outputEnv ? outputEnv.split(',').map((s) => s.trim()).filter(Boolean) : [fileURLToPath(new URL('../../docs-output', import.meta.url))]) export default defineConfig({ plugins: [vue(), doocusApi({ outputDirs })], resolve: { alias: { '@framework': fileURLToPath(new URL('../framework/src', import.meta.url)), // Compose meetus's own review components (single source; portable imports). '@meetus': fileURLToPath(new URL('../meetus-app/src', import.meta.url)), '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, server: { fs: { // Allow the dev server to read the framework + meetus-app source and every output tree. allow: [ fileURLToPath(new URL('.', import.meta.url)), fileURLToPath(new URL('../framework', import.meta.url)), fileURLToPath(new URL('../meetus-app', import.meta.url)), ...outputDirs, ], }, }, })