import glob from 'glob' import fs from 'fs' const pxToRemRegex = /-\[(\d*\.?\d*)px\]/g; const pxToEmRegex = /text-\[(\d*\.?\d*)px\]/g; const excludedFolders = ['.nuxt', 'node_modules']; const convertFile = (filePath) => { const fileContent = fs.readFileSync(filePath, 'utf8'); if (filePath.includes('node_modules')) return; const updatedContent = fileContent.replace(pxToRemRegex, (match, pxValue) => { let remValue = (parseInt(pxValue) / 16).toFixed(1); if (parseInt(remValue) == remValue) remValue = parseInt(remValue) return `-[${remValue}rem]`; }); // ذخیره محتوای به‌روزشده در فایل fs.writeFileSync(filePath, updatedContent, 'utf8'); }; // پیمایش فایل‌های Nuxt با صرف‌نظر از پوشه‌های استثنا glob('**/*.{vue,css}', { cwd: './', ignore: excludedFolders }, (err, files) => { if (err) { console.error(err); return; } files.forEach(filePath => { convertFile(filePath); }); });