feat: add easy-slides CLI
This commit is contained in:
@@ -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()
|
||||
}
|
||||
Reference in New Issue
Block a user