UNPKG

@vendure/cli

Version:

A modern, headless ecommerce framework

43 lines 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pauseForPromptDisplay = pauseForPromptDisplay; exports.isRunningInTsNode = isRunningInTsNode; exports.withInteractiveTimeout = withInteractiveTimeout; const prompts_1 = require("@clack/prompts"); async function pauseForPromptDisplay() { await new Promise(resolve => setTimeout(resolve, 100)); } function isRunningInTsNode() { return process[Symbol.for('ts-node.register.instance')] != null; } async function withInteractiveTimeout(promptFn, timeoutMs = 60000) { return new Promise((resolve, reject) => { const timeout = setTimeout(() => { prompts_1.log.warning('\n⚠Interactive mode timeout after 60 seconds\n'); prompts_1.log.info('This appears to be an automated environment (AI agent/editor).'); prompts_1.log.info('Interactive prompts are not suitable for automated tools.\n'); prompts_1.log.info('Please use the non-interactive mode with specific command flags.\n'); prompts_1.log.info('Examples:'); prompts_1.log.info(' vendure add -p MyPlugin'); prompts_1.log.info(' vendure add -e MyEntity'); prompts_1.log.info(' vendure add -s MyService'); prompts_1.log.info(' vendure migrate -g my-migration'); prompts_1.log.info(' vendure migrate -r\n'); prompts_1.log.info('--- For complete usage information, run:'); prompts_1.log.info(' vendure --help'); prompts_1.log.info(' vendure add --help'); prompts_1.log.info(' vendure migrate --help\n'); process.exit(1); }, timeoutMs); promptFn() .then(result => { clearTimeout(timeout); resolve(result); }) .catch(error => { clearTimeout(timeout); reject(error); }); }); } //# sourceMappingURL=utils.js.map