UNPKG

@citiwave/im-disclaimer-modal

Version:

A customizable React disclaimer modal component with theme support

54 lines (53 loc) 2.5 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const inquirer_1 = __importDefault(require("inquirer")); const chalk_1 = __importDefault(require("chalk")); const validation_1 = require("./utils/validation"); async function setup() { console.log(chalk_1.default.blue('\n📦 Configuring IM Disclaimer Modal...\n')); // Get user input for default directory const { defaultDir } = await inquirer_1.default.prompt([ { type: 'input', name: 'defaultDir', message: 'Enter the default directory for disclaimer data (JSON files):', default: 'src/data/disclaimers', validate: async (input) => { if (!input) return 'Directory cannot be empty'; const validation = await (0, validation_1.validateDirectory)(input); return validation.isValid ? true : validation.error; } } ]); // Create global config directory in user's home const homeDir = process.env.HOME || process.env.USERPROFILE; const configDir = path_1.default.join(homeDir, '.im-disclaimer'); const configFile = path_1.default.join(configDir, 'config.json'); // Ensure config directory exists await fs_extra_1.default.ensureDir(configDir); // Save config const config = { defaultDirectory: defaultDir, version: '1.0.0' }; await fs_extra_1.default.writeJson(configFile, config, { spaces: 2 }); // Create the default directory if it doesn't exist await fs_extra_1.default.ensureDir(defaultDir); console.log(chalk_1.default.green('\n✓ Configuration complete!')); console.log(chalk_1.default.gray(`Default directory set to: ${defaultDir}`)); console.log(chalk_1.default.gray(`Config file location: ${configFile}`)); console.log(chalk_1.default.gray('\nYou can update this configuration later using:')); console.log(chalk_1.default.blue(' im-disclaimer config:set --default-dir <path>')); console.log(chalk_1.default.gray('or')); console.log(chalk_1.default.blue(' im-disclaimer config:set\n')); } setup().catch(error => { console.error(chalk_1.default.red('Error during setup:'), error); process.exit(1); });