UNPKG

@jungvonmatt/sb-migrate

Version:

CLI tool for managing Storyblok schema and content migrations

58 lines 2.4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.configureStoryblok = configureStoryblok; const picocolors_1 = __importDefault(require("picocolors")); const config_1 = require("../utils/config"); /** * Main configuration function for Storyblok CLI. * * This function: * 1. Loads existing configuration from file and environment variables * 2. If configuration exists: * - Verifies existing values with user * - Updates if needed * 3. If no configuration exists: * - Prompts for all required values * 4. Saves the final configuration to .storyblokrc.json * * The configuration process follows this flow: * - First checks for existing config in .storyblokrc.json * - Then checks for environment variables * - If found, verifies with user * - If not found or user wants to update, prompts for new values * * @throws {Error} If configuration saving fails */ async function configureStoryblok() { try { const existingConfig = await (0, config_1.loadConfig)(); const envConfig = await (0, config_1.loadEnvConfig)(); // Check if configuration exists in config file or .env if (existingConfig || envConfig.spaceId || envConfig.oauthToken || envConfig.region) { const configToVerify = existingConfig || envConfig; const verifiedConfig = await (0, config_1.verifyExistingConfig)(configToVerify); if (verifiedConfig) { await (0, config_1.saveConfig)(verifiedConfig); console.log(picocolors_1.default.green("✓ Configuration saved successfully")); return; } } else { console.log(picocolors_1.default.yellow("No Storyblok configuration found.")); } // If no configuration found or user wants to update const config = await (0, config_1.promptForConfig)(existingConfig || envConfig || {}); await (0, config_1.saveConfig)(config); console.log(picocolors_1.default.green("✓ Configuration saved successfully")); } catch (error) { console.error(picocolors_1.default.red(`✗ Failed to configure Storyblok: ${error}`)); } } //# sourceMappingURL=config.js.map