UNPKG

@lark-project/cli

Version:

飞书项目插件开发工具

74 lines (73 loc) 3.47 kB
"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;