feat: add easy-slides CLI

This commit is contained in:
2026-08-29 18:59:33 +08:00
parent 2ca064d303
commit 33152a90dc
19 changed files with 1692 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
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()
}