36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
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,
|
|
],
|
|
},
|
|
},
|
|
})
|