nsgm-cli
Version:
A CLI tool to run Next/Style-components and Graphql/Mysql fullstack project
43 lines (42 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.exportCommand = void 0;
const parser_1 = require("../parser");
const child_process_1 = require("child_process");
const util_1 = require("util");
const execAsync = (0, util_1.promisify)(child_process_1.exec);
exports.exportCommand = {
name: "export",
aliases: [],
description: "导出静态网站",
usage: "nsgm export [dictionary]",
examples: ["nsgm export", "nsgm export webapp", "nsgm export --dictionary=myapp"],
options: [
{
name: "dictionary",
description: "输出目录名称",
default: "webapp",
type: "string",
},
],
execute: async (options) => {
try {
const finalOptions = parser_1.ArgumentParser.applyDefaults(options, {
dictionary: "webapp",
});
console.log(`📦 开始导出到目录: ${finalOptions.dictionary}`);
const shellCommand = `next export -o ${finalOptions.dictionary}`;
const { stdout, stderr } = await execAsync(shellCommand);
if (stderr) {
console.error("导出警告:", stderr);
}
console.log("✅ 导出完成!");
console.log(stdout);
process.exit(0);
}
catch (error) {
console.error("❌ 导出失败:", error);
process.exit(1);
}
},
};