31 lines
847 B
TypeScript
31 lines
847 B
TypeScript
import 'dotenv/config'
|
|
import { loadProjectConfig } from './lib/config.ts'
|
|
import { resolveDeck } from './lib/content.ts'
|
|
import { startDevOverflowAudit } from './lib/dev-overflow-audit.ts'
|
|
import { startSlidev, waitForSlidev } from './lib/run-slidev.ts'
|
|
import { resolveTheme } from './lib/theme.ts'
|
|
|
|
const input = process.argv.slice(2).find(argument => !argument.startsWith('-'))
|
|
const config = await loadProjectConfig()
|
|
const deck = await resolveDeck(input, process.cwd(), config.slidesDir)
|
|
const port = process.env.PORT || '3030'
|
|
const slidev = startSlidev([
|
|
deck.entry,
|
|
'--theme',
|
|
resolveTheme(config.theme),
|
|
'--open',
|
|
'--port',
|
|
port,
|
|
])
|
|
const overflowAudit = startDevOverflowAudit({
|
|
deck,
|
|
})
|
|
slidev.once('exit', () => void overflowAudit.close())
|
|
|
|
try {
|
|
await waitForSlidev(slidev)
|
|
}
|
|
finally {
|
|
await overflowAudit.close()
|
|
}
|