Pull to refresh

Бекапер Figma

Reading time2 min
Views8.9K

Предыстория. В свое время я очень долго сопротивлялся переходу на Figma. Причиной была  жесткая политика vendor lock-in, серьезная итоговая цена и невозможность нормально хранить исходники макетов у себя. Кроме того, в сети были описаны несколько случаев, когда люди теряли макеты в Figma, и никакая техподдержка ни за какие деньги им не могла помочь.

2020-й год. Чувак реально потерял ВСЕ!
2020-й год. Чувак реально потерял ВСЕ!

Добавим сюда, что сами файлы в формате .fig в некоторых случаях не открывались самой Фигмой. Однако дизайнеры сильно хотели в ней работать. Через официальное API скачать исходники было невозможно. Из быстрых вариантов оставался chrome-webdriver и имитация действий пользователя. Кто бы мог подумать, что через пару лет эта штука станет сильно актуальной?

Итак. Бэкапим Figma через имитацию действий пользователя. Магии там не много, берем Chrome, chrome-webdriver и Node.JS. Авторизуемся. Бегаем по папкам.

В процессе эксплуатации выявили несколько подводных камней:

  • Фигма упорно не отдает большие файлы. Если загрузка длится больше 20 секунд — есть шанс не дождаться ее никогда.

  • Время от времени файлы отдаются с 3-й попытки. Видимо, Figma предусмотрела лимит на скачивания и борется с ними. Либо есть какая-то очередь. Но факт остается фактом: некоторые файлы скачиваются через раз. Противоядие: распиливать огромные файлы проектов на более мелкие и просматривать отчеты о скачиваниях.

В свете недавних блокировок мы решили поделится скриптом “как есть”. Инструкции для системных администраторов по настройке и исходный код доступны здесь.

К сожалению, помогать с настройкой не сможем — у нас, как и у вас, 10 пальцев на руках и 24 часа в сутки. Извините. Возможно, кто-нибудь добрый сделает fork и какой-нибудь SaaS-сервис :)

Другие полезные штуки, которыми я готов безвозмездно делиться (например, курс по управлению digital-проектами) — регулярно публикуются телеге @sibirix

Берегите исходники. И — успехов!

Tags:
Hubs:
Total votes 30: ↑27 and ↓3+24
Comments0

Articles