@lark-project/cli
Version:
飞书项目插件开发工具
74 lines (73 loc) • 3.47 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createProgram = void 0;
const commander_1 = require("commander");
const chalk_1 = __importDefault(require("chalk"));
const figlet_1 = __importDefault(require("figlet"));
const init_1 = require("./commands/init");
const create_1 = require("./commands/create");
const config_1 = require("./commands/config");
const start_1 = require("./commands/start");
const build_1 = require("./commands/build");
const release_1 = require("./commands/release");
const publish_1 = require("./commands/publish");
const update_1 = require("./commands/update");
const check_1 = require("./commands/check");
const schema_1 = require("./commands/schema");
const local_config_1 = require("./commands/local-config");
const login_1 = require("./commands/login");
const whoami_1 = require("./commands/whoami");
const list_categories_1 = require("./commands/list-categories");
const update_description_1 = require("./commands/update-description");
const env_1 = require("./commands/env");
const workspace_1 = require("./commands/workspace");
const perm_1 = require("./commands/perm");
const ai_1 = require("./commands/ai");
const apply_cwd_1 = require("../utils/apply-cwd");
function createProgram() {
const program = new commander_1.Command();
program.version(require('../../package.json').version);
// Global anchor: `lpm --cwd <plugin-dir> <command>` chdirs into the plugin
// project root before any subcommand runs, so plugin.config.json / .lpm-cache
// resolution (and the dispatcher child, which inherits cwd) no longer depend
// on the shell's cwd. Runs in preAction, before --from and payload resolution.
program.option('--cwd <dir>', 'Run as if started in <dir> (the plugin project root); anchors plugin.config.json and .lpm-cache resolution');
program.hook('preAction', () => {
(0, apply_cwd_1.applyCwdOption)(program.opts().cwd);
});
(0, init_1.addInitCommand)(program);
(0, create_1.addCreateCommand)(program);
(0, config_1.addConfigCommand)(program);
(0, start_1.addStartCommand)(program);
(0, build_1.addBuildCommand)(program);
(0, release_1.addReleaseCommand)(program);
(0, publish_1.addPublishCommand)(program);
(0, update_1.addUpdateCommand)(program);
(0, check_1.addCheckCommand)(program);
(0, schema_1.addSchemaCommand)(program);
(0, local_config_1.addLocalConfigCommand)(program);
(0, login_1.addLoginCommand)(program);
(0, whoami_1.addWhoamiCommand)(program);
(0, list_categories_1.addListCategoriesCommand)(program);
(0, update_description_1.addUpdateDescriptionCommand)(program);
(0, env_1.addEnvCommand)(program);
(0, workspace_1.addWorkspaceCommand)(program);
(0, perm_1.addPermCommand)(program);
(0, ai_1.addAiCommand)(program);
program.on('--help', () => {
console.log('\r\n' +
figlet_1.default.textSync('lpm', {
font: 'Ghost',
horizontalLayout: 'default',
verticalLayout: 'default',
width: 80,
whitespaceBreak: true,
}));
console.log(`\r\nRun ${chalk_1.default.cyan(`lpm <command> --help`)} for detailed usage of given command\r\n`);
});
return program;
}
exports.createProgram = createProgram;