40 lines
929 B
TypeScript
40 lines
929 B
TypeScript
import { normalizePath, type ServerOptions } from 'vite'
|
|
|
|
const WATCHED_MARKDOWN_ROOTS = ['/src/', '/packages/core/src/', '/packages/vue/src/']
|
|
|
|
function ignoreMarkdownOutsideSource(path: string): boolean {
|
|
const normalized = normalizePath(path)
|
|
if (!normalized.endsWith('.md')) return false
|
|
return !WATCHED_MARKDOWN_ROOTS.some((root) => normalized.includes(root))
|
|
}
|
|
|
|
export const WATCH_IGNORED = [
|
|
'**/desktop/**',
|
|
'**/packages/cli/**',
|
|
'**/packages/mcp/**',
|
|
'**/packages/docs/**',
|
|
'**/tests/**',
|
|
'**/.worktrees/**',
|
|
'**/.github/**',
|
|
'**/.pi/**',
|
|
ignoreMarkdownOutsideSource
|
|
]
|
|
|
|
export function createDevServerOptions(host: string | undefined): ServerOptions {
|
|
return {
|
|
port: 1420,
|
|
strictPort: true,
|
|
host: host || false,
|
|
hmr: host
|
|
? {
|
|
protocol: 'ws',
|
|
host,
|
|
port: 1421
|
|
}
|
|
: undefined,
|
|
watch: {
|
|
ignored: WATCH_IGNORED
|
|
}
|
|
}
|
|
}
|