#!/usr/bin/env node import path from 'node:path' const rawArgs = process.argv.slice(2) const command = rawArgs.shift() const rootIndex = rawArgs.indexOf('--root') if (rootIndex >= 0) { const root = rawArgs[rootIndex + 1] if (!root) throw new Error('--root 需要一个目录') rawArgs.splice(rootIndex, 2) process.chdir(path.resolve(root)) } process.argv = [process.argv[0], process.argv[1], ...rawArgs] switch (command) { case 'dev': await import('./dev.ts') break case 'present': await import('./present.ts') break case 'build': await import('./build.ts') break case 'check': await (await import('./check.ts')).runCheck() break case 'export': await import('./export.ts') break case 'init': await import('./init.ts') break case 'install-browser': await import('./install-browser.ts') break case undefined: case 'help': case '--help': case '-h': printHelp() break default: console.error(`未知命令:${command}`) printHelp() process.exitCode = 1 } function printHelp() { console.log(`easy-slides 用法: easy-slides init [directory] [--engine ] easy-slides install-browser [--with-deps] easy-slides dev [slug|slides.md] easy-slides present easy-slides build easy-slides check easy-slides export --format pdf|png|pptx 全局选项: --root 在指定内容项目中运行`) }