import path from 'path'; import { readdirSync, readFileSync, writeFileSync } from 'fs'; for (const file of readdirSync(path.join(import.meta.dirname, '../docs/images'))) { if (!file.endsWith('.svg')) continue; const fileName = path.join(import.meta.dirname, '../docs/images', file); const oldFileContent = readFileSync(fileName, 'utf8'); const newFileContent = oldFileContent .split('') .map((val) => val.replace( /()(.|\n)*/gm, (_, groupOpeningTag, iconName) => [ groupOpeningTag, ...readFileSync(path.join(import.meta.dirname, `../icons/${iconName}.svg`), 'utf8') .replace(/(]|\n)*>|<\/svg>/g, '') .split('\n'), ] .map((val) => val.trimEnd()) .filter(Boolean) .join('\n') + '\n', ), ) .join(''); if (oldFileContent !== newFileContent) { console.log(`Updating ${fileName}`); writeFileSync(fileName, newFileContent); } }