HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/design.system/src/icons/utils/fixSvgColor.ts
import fs from 'fs/promises';
import path from 'path';

const sizes = ['16', '20', '24'];
const baseDir = './src/icons';

const replaceColors = async (filePath: string) => {
  const content = await fs.readFile(filePath, 'utf-8');

  const result = content
    .replace(/stroke="(?!none)([^"]+)"/g, 'stroke="currentColor"')
    .replace(/fill="(?!none)([^"]+)"/g, 'fill="currentColor"')
    .replace(/color="(?!none)([^"]+)"/g, 'color="currentColor"');

  if (result !== content) {
    await fs.writeFile(filePath, result, 'utf-8');
  }
};

const run = async () => {
  for (const size of sizes) {
    const dir = path.join(baseDir, size);
    const files = await fs.readdir(dir);
    await Promise.all(
      files.filter((f) => f.endsWith('.svg')).map((file) => replaceColors(path.join(dir, file)))
    );
  }
};

run();