build: add precompiled CLI distribution
This commit is contained in:
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/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 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 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
|
||||
Reference in New Issue
Block a user