Как бекапить фигму
Сегодня фигма написала, что из-за ***** она прекращает продажи в России (figma.com/blog/our-response-to-ukraine). Меня спрашивают и коллеги, и не только, что делать. Пишу, как забекапить файлы из фигмы.
Скачать в png
Если вы хотите скачать макеты в png, см. пост Автоматическое скачивание новых экранов из Цеплина и Фигмы
Скачать исходники
Формат фигмы проприетарный, исходники фигмы можно будет только загрузить в другую фигму (другую команды или личный аккаунт).
Если нужно скачать лишь несколько файлов, скачайте вручную, и не заморачивайтесь со скриптом:
File > Save local copy…
Если нужно скачать несколько файлов, то вручную можно задолбаться. Вот как сделать автоматически
- Выпускаете токен доступа (лучше завести пользователя только с read-only-правами). См. figma.com/developers/api#access-tokens
- Устанавливаете figma-backup из npm (github.com/mimshins/figma-backup). Пакет не наш, ответственности не несу.
npm install -g figma-backup
- Устанавливаете jq:
brew install jq
- Запускаете скрипт, заменив {{переменные}} на значения.
FIGMA_TOKEN={{token}}
TEAM_ID={{team-id}}
PROJECTS_ID=$(curl -H "X-FIGMA-TOKEN: $FIGMA_TOKEN" "https://api.figma.com/v1/teams/$TEAM_ID/projects" | jq -j '.projects[] | .id, " "')
echo "$PROJECTS_ID"
echo "====="
npx figma-backup -e "{{email}}" -p "{{password}}" -t "$FIGMA_TOKEN" --projects-ids $PROJECTS_ID
- Вы получите папку, в которой будет лежать все файлы, с которым имеет доступ пользователь {{email}}.
- Если нужно запускать регулярно, добавьте в крон и/или в CI-пайплайн.
Готовьтесь, это все работает медленно. Наши 2,5 гигабайта файлов экспортируются 3 часа.
Наверное, как-то можно сделать параллельно, не смотрели. Точно можно сделать вариант «не качать файлы, если они не менялись», пока не заморачивались.