UNPKG

@citiwave/im-disclaimer-modal

Version:

A customizable React disclaimer modal component with theme support

63 lines (62 loc) 2.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.listDisclaimers = listDisclaimers; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const chalk_1 = __importDefault(require("chalk")); const config_1 = require("../utils/config"); async function listDisclaimers(options) { try { // Use provided directory or get default from config const disclaimerDir = options.dir ? path_1.default.resolve(process.cwd(), options.dir) : await (0, config_1.getDefaultDirectory)(); const configPath = path_1.default.join(disclaimerDir, '_config.json'); // Check if directory exists if (!await fs_extra_1.default.pathExists(disclaimerDir)) { console.error(chalk_1.default.red(`Directory '${disclaimerDir}' does not exist`)); return; } // Get all JSON files in the disclaimers directory const files = await fs_extra_1.default.readdir(disclaimerDir); const disclaimers = files .filter(file => file.endsWith('.json') && file !== '_config.json') .map(file => path_1.default.basename(file, '.json')); // Get config if it exists const config = await fs_extra_1.default.pathExists(configPath) ? await fs_extra_1.default.readJson(configPath) : {}; if (options.json) { // Output JSON format const result = disclaimers.reduce((acc, name) => { acc[name] = config[name] || {}; return acc; }, {}); console.log(JSON.stringify(result, null, 2)); } else { // Output human-readable format if (disclaimers.length === 0) { console.log(chalk_1.default.yellow('No disclaimers found')); return; } console.log(chalk_1.default.bold('\nDisclaimers:')); for (const name of disclaimers) { console.log(chalk_1.default.green(`\n• ${name}`)); if (config[name]) { const settings = config[name]; Object.entries(settings).forEach(([key, value]) => { console.log(chalk_1.default.gray(` ${key}: ${value}`)); }); } } console.log(chalk_1.default.gray(`\nDirectory: ${disclaimerDir}`)); } } catch (error) { console.error(chalk_1.default.red('Failed to list disclaimers:'), error); } }