FigmaMind MCP Server
by joao-loker
Verified
- FigmaMind
- scripts
import fs from 'fs-extra';
import path from 'path';
import { processData } from '../src/processor/processor';
import logger from '../src/utils/logger';
// Diretórios de entrada e saída
const inputDir = path.resolve(__dirname, '../examples/input');
const outputDir = path.resolve(__dirname, '../examples/output');
/**
* Processa todos os arquivos JSON no diretório
*/
async function processDirectory(inputDirectory: string, outputDirectory: string): Promise<void> {
try {
// Garantir que os diretórios existam
await fs.ensureDir(inputDirectory);
await fs.ensureDir(outputDirectory);
// Listar arquivos JSON no diretório de entrada
const files = await fs.readdir(inputDirectory);
const jsonFiles = files.filter(file => file.endsWith('.json'));
console.log(`Encontrados ${jsonFiles.length} arquivos JSON para processar`);
// Processar cada arquivo
for (const file of jsonFiles) {
const inputPath = path.join(inputDirectory, file);
const outputPath = path.join(outputDirectory, `processed-${file}`);
console.log(`Processando ${file}...`);
// Ler o arquivo JSON
const data = await fs.readJson(inputPath);
// Processar os dados (simulando uma chave de arquivo)
const fileKey = path.basename(file, '.json');
const result = await processData(data, fileKey);
// Salvar o resultado
await fs.writeJson(outputPath, result, { spaces: 2 });
console.log(`Resultado salvo em ${outputPath}`);
}
console.log('Processamento concluído com sucesso!');
} catch (error: any) {
const errorObj = error instanceof Error ? error : new Error(String(error));
logger.error('Erro ao processar diretório:', errorObj);
throw error;
}
}
// Processar todos os arquivos JSON no diretório
console.log(`Processando arquivos de ${inputDir} para ${outputDir}...`);
processDirectory(inputDir, outputDir).catch(err => {
console.error('Erro:', err.message);
process.exit(1);
});
export { processDirectory };