Skip to content

SibirixScrum/figma-backuper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Figma backuper

Скрипт для выполнения бекапа проектов, в формате .fig. Для работы использует Chrome, chrome-webdriver и Node.JS.

  • Может сохранять либо все файлы, либо только измененные за заданное время
  • Отправляет отчет на почту

Установка

  • Клонируйте код скрипта
  • Создайте папку в которую будут скачиваться бекапы
  • В папке проекта, вы увидите файл config.json.example

Уберите расширение ".example" и заполните файл config.json своими данными.

Если вы используете Windows, следует вписать путь до папки сохранения в таком виде: "С:\\figma\\backup\\" (должно быть по 2 слеша подряд!). Если *nix - то "/home/user/figma-backup/".

"hoursForPartialBackup": 1 означает, что будут скачиваться файлы за последний час. При этом, значение 0 равносильно установке флага --all в true и означает что будут скачаны все файлы, находящиеся в проектах.

токен

Чтобы получить токен фигмы, зайдите в настройки профиля фигмы (клик по своему аватару) и нажмите "Create presonal access token". После этого введите название токена и дождитесь его генерации. Скопируйте токен из желтого поля в файл config.json.

id команды

Чтобы получить id и название своей команды, кликните на нее. В адресной строке вы получите ссылку вида: https://www.figma.com/files/team/812231708750477310/team2, где:

/files/team/<id команды>/<название команды>

почта

Отправка через любой почтовый сервер, поддерживающий SMTP.

Чтобы разрешить отправку почты с почтового ящика gmail, нужно включить "Небезопасные приложения" в настройках Google аккаута https://myaccount.google.com/lesssecureapps?pli=1

Запуск

  • У вас должен быть установлен Node.JS и Google Chrome.
  • В файле package.json измените версию chromedriver'а на версию хрома, установленную у вас в системе. Например, если установлена версия 99.0.4844.51, возьмите от неё только первое число (99), и укажите его в версию в формате "chromedriver": "^99.0.0",
  • Откройте командную строку или терминал в папке с клонированным кодом скрипта
  • Установите зависимости (только для первого запуска) - npm install
  • Скомпилируйте TypeScript файлы в JavaScript (для первого запуска или в случае изменений исходного кода) - npm run tsc
  • Запустите основной файл программы, из папки скомпилированных файлов - node build/runner.js

Допустимые ключи при запуске бекапера:

  • --verbose - выводить в консоль информационные сообщения
  • --debug - выводить в консоль отладочные сообщения
  • --all - выполнить скачивание всех файлов. При отсутствии этого флага будут загружены только файлы, изменившиеся за последние hoursForPartialBackup часов
  • --auto-incremental - автоматический выбор полного/частичного скачивания. Полное скачивание будет выполнено, если скрипт запущен в субботу. Этот флаг позволяет в течение недели выполнять только частичный бекап, и 1 раз в неделю в субботу выполнять полный бекап. При наличии этого флага будет игнорироваться флаг --all.

Пример запуска:

node build/runner.js --verbose --debug --auto-incremental

Отчет

Отчет состоит из сообщения успешности ("Все Ок" или "Не ОК") и мини-отчетов по каждому пользователю. Если рядом с логином пользователя написано "есть ошибки", значит во время работы программы были перехвачены исключения: страница не была загружена во время, или произошла ошибка в очереди запуска окон.

Также в отчете присутствуют числа обозначающие количество сохраненных файлов по сравнению с количеством файлов, которые должны быть сохранены (например: 2/4). Если указаны числа "0/0", значит пользователь не изменял файлы в проектах за последне указанное количество часов. Последними в строке указаны числа сохраненных драфтов по отношению к общему числу драфтов пользователя. Если указаны числа "0/0", значит в конфиге не указана необходимость сохранять драфты, либо у пользователя нет драфтов.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages