28 lines
850 B
TypeScript
28 lines
850 B
TypeScript
|
|
#!/usr/bin/env node
|
||
|
|
import { Command } from 'commander';
|
||
|
|
import { serveCommand } from './commands/serve.js';
|
||
|
|
import { compileCommand } from './commands/compile.js';
|
||
|
|
|
||
|
|
const program = new Command();
|
||
|
|
|
||
|
|
program
|
||
|
|
.name('ttrpg')
|
||
|
|
.description('TTRPG 工具箱 - 用于编译和预览 TTRPG 文档')
|
||
|
|
.version('0.0.1');
|
||
|
|
|
||
|
|
program
|
||
|
|
.command('serve')
|
||
|
|
.description('运行一个 web 服务器预览目录中的内容,并实时监听更新')
|
||
|
|
.argument('[dir]', '要预览的目录', '.')
|
||
|
|
.option('-p, --port <port>', '端口号', '3000')
|
||
|
|
.action(serveCommand);
|
||
|
|
|
||
|
|
program
|
||
|
|
.command('compile')
|
||
|
|
.description('将目录中的内容输出为带 hash 路由、单个 html 入口的 web 应用')
|
||
|
|
.argument('[dir]', '要编译的目录', '.')
|
||
|
|
.option('-o, --output <dir>', '输出目录', './dist/output')
|
||
|
|
.action(compileCommand);
|
||
|
|
|
||
|
|
program.parse();
|