Skip to content

ilyashtrikul/figma_backup

 
 

Repository files navigation

Утилита предназначена для создания локальных бекапов fig файлов

Для работы необходимо:

  1. bash консоль
  2. Установленная node (проверено на версии v16.13.0)
  3. Для полной версии, установленный python (проверено на Python 2.7.18)

Ligth запуск

Предусмотрен вариант запуска в режиме простого скачивания. Для этого необходимо в корне проекта

  1. Установить зависимости node (команда npm i)
  2. Выполнить команду node download_figma_files.js figmaLogin=<ваш логин> figmaPassword=<ваш пароль> figmaUrl=<полный адрес файла, который необходимо скачать> В случае если необходимо скачать несколько файлов, можно подготовить конфигурационный json файл следующего формата: [ { "key": "<ключ файла>", "project": "<название проекта>", "team": "<название команды>" }, ... { "key": "<ключ файла>", "project": "<название проекта>", "team": "<название команды>" } ] Загрузка файлов по конфигурационному файлу осуществляется командой node download_figma_files.js figmaLogin=<ваш логин> figmaPassword=<ваш пароль> igmaFilesList=<путь до файла>

В ligth запуске все файлы будут сохранены в директорию ./process/_download. Если эта директория не пустая, существующие в ней файлы будут переименованы

Full запуск

Требует установленного python, отличается от ligth версии следующим:

  1. Скачивает все файлы для команд, указанных в ./config/get_figme_files_list.yml
  2. Анализирует время изменения файла в figma и если файл не менялся с прошлого запуска пропускает их

Для запуска полной версии необходимо выполнить команду ./manage.sh <ваш логин> <ваш пароль>. Файлы будут сохранены в ./store, если какие-то файлы были обновлены, предыдущие версии сохраняются в ./store/<дата запуска>

Настройки:

  1. ./config/download_settings.json - настройки таймаутов для скачивания файлов 1.1 downloadTimeout - ожидание скачивания файла в секундах. Если указан 0 - таймаут оключается 1.2 selectorTimeout - ожидание появления нужных пунктов меню на странице в миллисекундах 1.3 navigationTimeout - таймаут навигации в миллисекундах 1.4 launchTimeout - таймаут запуска headless хрома в миллисекундах 1.5 loginTimeout - таймаут ожидания логина в миллисекундах 1.6 pageOpenTimeout - таймаут открытия страницы в миллисекундах

  2. get_figme_files_list.yml - настройки для скачивания файлов команд 2.1 access_token - access token для вызовов методов figma api 2.2 teams - список идентификаторов команд (можно подсмотреть в урле https://www.figma.com/files/<...>/team/<нужный ид команды>/...)

About

figma files backup util

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 51.2%
  • Python 41.4%
  • Shell 7.4%