GithubHelp home page GithubHelp logo

figma-backuper's Introduction

Figma backuper

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

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

Установка

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

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

Если вы используете Windows, следует вписать путь до папки сохранения в таком виде: "С:\figma\backup\". Если *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", значит в конфиге не указана необходимость сохранять драфты, либо у пользователя нет драфтов.

figma-backuper's People

Contributors

sibirixscrum avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.