62 lines
1.6 KiB
JavaScript
Executable File
62 lines
1.6 KiB
JavaScript
Executable File
#!/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.js");
|
|
break;
|
|
case 'present':
|
|
await import("./present.js");
|
|
break;
|
|
case 'build':
|
|
await import("./build.js");
|
|
break;
|
|
case 'check':
|
|
await (await import("./check.js")).runCheck();
|
|
break;
|
|
case 'export':
|
|
await import("./export.js");
|
|
break;
|
|
case 'init':
|
|
await import("./init.js");
|
|
break;
|
|
case 'install-browser':
|
|
await import("./install-browser.js");
|
|
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 <package-spec>]
|
|
easy-slides install-browser [--with-deps]
|
|
easy-slides dev [slug|slides.md]
|
|
easy-slides present <slug>
|
|
easy-slides build
|
|
easy-slides check
|
|
easy-slides export <slug> --format pdf|png|pptx
|
|
|
|
全局选项:
|
|
--root <directory> 在指定内容项目中运行`);
|
|
}
|
|
//# sourceMappingURL=cli.js.map
|