Чтобы иметь возможность запускать тесты, установите Node JS версии 14.18.1 или выше с npm версии 6.14.15 или выше.
Создайте папку для вашего проекта
Нажмите на кнопку «Prepare workspace with needed files» или «Подготовить стартовое рабочее окружение», чтобы создать
базовую структуру проекта.
Настройте конфигурацию в файле mrsconfig.json
Ключ
Значение
url
URL
testsDirectory
Директория с для тестов хуков
mapName
mapName
token
Токен для получения справочников директуса
S3.accessKeyId
Ключ доступа к S3
S3.secretAccessKey
Секретный ключ доступа к S3
S3.region
Регион S3
S3.host
Хост S3
S3.bucketName
Название бакета S3
S3.autoUpdate
autoUpdate
S3.pathToUpload (Опциональное поле)
Папка, куда будет загружаться экспортная конфигурация.
port
Порт
dictionariesCollection
Cписок справочников директуса которые необходимо выгрузить
Сохраните изменения в develop-ветку для выкладки на dev-сервер или в master-ветку для выкладки на prod-сервер
Для более детальной информации ознакомьтесь с документацией.
Запуск тестов
Нажмите на кнопку «Run hook tests» или «Запустить тесты хуков», чтобы создать папку tests c демо-тестом.
Если необходимо, установите необходимые npm-пакеты в папку tests.
Напишите свои тесты и ещё раз нажмите на кнопку «Run hook tests» или «Запустить тесты хуков», чтобы запустить тесты. Результаты тестов
отобразятся в секции Output.
Загрузка экспортной конфигурации на S3
Нажмите на кнопку «Export config in json» или «Создать экспортную конфигурацию», чтобы создать экспортную конфигурацию.
Экспортная конфигурация появится в папке ./.out
Помимо экспортной конфигурации, в зависимости от данных, экспортируются и другие объекты
При наличии файла manifest.json он так же попадает в ./.out
При наличии dictionaries будет создана папка ./.out/dictionaries с экспортированными items и snapshot
При наличии dashboards будут созданы архивы (в ./.out) для импорта в superset, имя которых совпадает с названием папки в которой они находятся
При наличии functions будет создан файл ./.out/triggers.json с триггерами функций и внутри папки ./.out/functions будут собранные облачные функции
Нажмите на кнопку «Upload export config and templates to s3» или «Загрузить экспортную конфигурацию с шаблонами на S3», чтобы загрузить экспортную конфигурацию в хранилище.
Очистка окружения
Нажмите на кнопку «Clear workspace for new config» или «Очистить окружение», чтобы очистить окружение
Note: Вы удалите все свои исходники из папки src.
Авторизация в Directus
Note: Кнопка будет активна только тогда, когда вы не авторизованы в Directus.
Нажмите на кнопку «Auth to directus» или «Авторизация в директус», чтобы авторизироваться в Directus.
Note: Перед тем как авторизироваться убедитесь что вы удалили строчку token в файле конфигурации mrscconfig.json
2. Введите ваш Email и пароль.
3. При успешном входе вы увидите уведомление "You have been logged successfully!" или "Вы успешно вошли в систему"
Деавторизация в Directus
Note: Кнопка будет активна только тогда, когда вы уже авторизованы в Directus.
Нажмите на кнопку «Unauthorization from directus» или «Выйти из директуса», чтобы деавторизироваться в Directus.
При успешной деавторизации вы увидите уведомление "Logout successfully!" или "Выход успешно завершен!"
Выгрузка из Directus
Note: Кнопка будет активна только тогда, когда вы авторизованы в Directus.
Нажмите на кнопку «Pull dictionaries from directus» или «Выгрузка из директуса», чтобы выгрузить справочники в src/dictionaries.
При успешной выгрузке вы увидите уведомление "Data is successfully pulled!!" или "Данные успешно загружены!!"
При выгрузке создается папка dictionaries внутри которой содержатся подпапки с именем справочников (например ./src/dictionaries/testDictionary)
Каждая такая папка содержит два файла: fields.json и items.json
Fields.json - это поля с их типом, названием и свойствами
Items.json - конкретные данные
Superset
Dashboards должны располагаться в папке ./src/dashboards/superset
Каждый дэшборд находится в папке с его именем (например ./src/dashboards/superset/test) , внутри которой находится структура дэшбордов
charts
*.yaml
dashboards
*.yaml
datasets
*.yaml
databases
*.yaml
metadata.yaml
Cloud functions
При создании внутри папки ./src/functions любой другой папки происходит инициализация облачной функции
Note: Имя папки может содержать только символы латинского алфавита и знак "-"
Создаются папки dist, node_modules, src и test
dist - содержит в себе собранный исходник функции из src
node_modules - модули для работы тестов и самой облачной функции
src - содержит исходник функции
test - содержит в себе тесты для функции
Также создаются файлы .eslintrc.json, package.json и webpack.config.js
.eslintrc.json - конфигурация для линтера функции
package.json - туда необходимо прописывать триггеры в functionsParameters и добавлять зависимости в dependencies
webpack.config.js - конфигурация для сборщика webpack
Обратная связь
Если вы столкнулись с какими-то проблемами или у вас есть предложения по улучшению плагина напишите на почту support@mrsapp.ru.