@lark-project/cli
Version:
飞书项目插件开发工具
83 lines (82 loc) • 3.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addEnvCommand = void 0;
const settings_1 = require("../../utils/settings");
const logger_1 = require("../../utils/logger");
function printAllSettings() {
var _a;
const s = (0, settings_1.loadSettings)();
logger_1.logger.info(`tt-env: ${(_a = s.ttEnv) !== null && _a !== void 0 ? _a : '(unset)'}`);
logger_1.logger.info(`local-schema: ${s.useLocalSchema ? 'on' : 'off'}`);
}
function addEnvCommand(program) {
const root = program
.command('debug-env', { hidden: true })
.description('Local debug settings (hidden). Run "lpm debug-env --help" for subcommands.')
.action(() => {
printAllSettings();
root.outputHelp();
});
// tt-env: persistent test environment header (x-tt-env)
const ttEnv = root.command('tt-env').description('Persistent test environment header (x-tt-env)');
ttEnv
.command('set <value>')
.description('Set persistent test environment, e.g. "boe_xxx" or "ppe_xxx"')
.action((value) => {
(0, settings_1.saveSettings)({ ttEnv: value });
logger_1.logger.success(`Test environment set to: ${value}`);
logger_1.logger.info('All subsequent commands will use this environment automatically.');
});
ttEnv
.command('get')
.description('Show current persistent test environment')
.action(() => {
const settings = (0, settings_1.loadSettings)();
if (settings.ttEnv) {
console.log(settings.ttEnv);
}
else {
logger_1.logger.info('No persistent test environment configured.');
}
});
ttEnv
.command('clear')
.description('Clear persistent test environment (revert to production)')
.action(() => {
(0, settings_1.saveSettings)({ ttEnv: undefined });
logger_1.logger.success('Test environment cleared. Using production environment.');
});
// local-schema: bypass remote schema endpoint, use bundled schema/developer-plugin.yaml
const localSchema = root
.command('local-schema')
.description('Bypass remote schema endpoint, use bundled schema/developer-plugin.yaml');
localSchema
.command('on')
.description('Enable local schema')
.action(() => {
(0, settings_1.saveSettings)({ useLocalSchema: true });
logger_1.logger.success('Local schema enabled. Subsequent commands skip the remote schema endpoint.');
});
localSchema
.command('off')
.description('Disable local schema (use remote)')
.action(() => {
(0, settings_1.saveSettings)({ useLocalSchema: undefined });
logger_1.logger.success('Local schema disabled. Remote schema endpoint will be used.');
});
localSchema
.command('status')
.description('Show current local-schema flag')
.action(() => {
const enabled = (0, settings_1.loadSettings)().useLocalSchema === true;
console.log(enabled ? 'on' : 'off');
});
// list: print all debug settings
root
.command('list')
.description('List all debug-env settings and current values')
.action(() => {
printAllSettings();
});
}
exports.addEnvCommand = addEnvCommand;