
Начало работы
- Установите расширение
- Выгрузите git-репозиторий с необходимой конфигурацией
- Чтобы иметь возможность запускать тесты, установите Node JS версии 20.18.0 или выше с npm версии 10.8.2 или выше.
- Настройте конфигурацию в файле mrsconfig.json (не обязательно)
Ключ |
Значение |
testsDirectory |
Папка для тестов хуков |
S3.accessKeyId |
Ключ доступа к хранилищу |
S3.secretAccessKey |
Секретный ключ доступа к хранилищу |
S3.region |
Регион хранилища |
S3.host |
Хост хранилища |
S3.bucketName |
Название бакета хранилища |
S3.publicDomain |
Публичный домен бакета |
S3.autoUpdate |
Автозагрузка конфигурации при сборке |
S3.pathToUpload (Опциональное поле) |
Папка, куда будет загружаться конфигурация на хранилище |
port |
Порт для сервера локальной разработки |
Для более детальной информации ознакомьтесь с ~~документацией~~.
Команды панели редактора
Авторизация на тенант

📝Note: Кнопка будет активна только тогда, когда вы не авторизованы.
- Нажмите на кнопку «Auth to tenant» или «Авторизация на тенант» в меню панели редактора, чтобы авторизоваться.
- Введите имя тенанта, ваш Email и пароль.
- При успешном входе вы увидите уведомление "You have been logged successfully!" или "Вы успешно вошли в систему"
Деавторизация из тенанта

📝Note: Кнопка будет активна только тогда, когда вы уже авторизованы на тенант.
- Нажмите на кнопку «Unauthorization from tenant» или «Выйти из тенанта» в меню панели редактора, чтобы деавторизоваться.
- При успешной деавторизации вы увидите уведомление "Logout successfully!" или "Выход успешно завершен!"
Сборка и развертывание конфигурации

- Нажмите на кнопку "Build & Deploy" или "Сборка и развертывание" на панели редактора, чтобы собрать и развернуть конфигурацию. (также доступен запуск при помощи хоткея Ctrl+Alt+N)
- Собранная конфигурация будет находиться в папке ./.out
- Также она будет загружена в хранилище вашего тенанта, если вы авторизованы на тенанте, и в конфигурации не указаны другие данные для загрузки в хранилище.
- Ссылка на конфигурацию вашего тенанта будет обновлена автоматически.
Сборка конфигурации

- Нажмите на кнопку «Build configuration» или «Собрать конфигурацию» на панели редактора, чтобы создать конфигурацию. (также доступен запуск при помощи хоткея Alt+N)
- Конфигурация появится в папке ./.out
- Помимо конфигурации, в зависимости от данных, собираются и другие объекты
- Создается файл manifest.json с информацией о app и build из package.json
- При наличии dashboards будут созданы архивы (в ./.out/dashboards) для импорта в superset, имя которых совпадает с названием папки в которой они находятся
- При наличии workflows будет созданa папка ./.out/workflows с собранными функциями workflow
- При наличии templates, файлы шаблонов будут помещены в папку ./.out/templates, а также в папке будет создан сопровождающий файл templates.json с информацией о шаблонах
- При наличии tables, будут созданы файлы ./.out/tables/tables.json и ./.out/tables/items.json, содержащие в себе структуру таблиц и их данные соответственно
- В папке users будут храниться дефолтные группы и пользователи в файлах defaultUsers.json и defaultGroups.json в виде списка пользователей и групп
- Файлы globalVariables.json и globalConstants.json хранят в себе объекты глобальных переменных и констант
Остановка сборки конфигурации
При запуске команды сборки у вас есть возможность остановить ее при необходимости по нажатию на соответствующую кнопку (или при помощи хоткея Ctrl+Alt+M)

Развертывание конфигурации

- Нажмите на кнопку «Deploy configuration» или «Развертывание конфигурации» в меню панели редактора, чтобы загрузить конфигурацию в хранилище.
📝Note: Кнопка будет доступна только когда вы авторизовались на тенант или перезаписали конфигурацию.
- Если вы хотите загрузить данные не в хранилище того тенанта, в котором вы авторизованы, а в другое хранилище, вы можете перезаписать данные хранилища в файле конфигурации mrscconfig.json
- Для этого в файле конфигурации mrscconfig.json необходимо указать S3.host, S3.region, S3.accessKeyId, S3.secretAccessKey, S3.bucketName и S3.publicDomain
📝Note: Для загрузки конфигурацию в папку, отличную от стандартной (configuration), необходимо указать S3.pathToUpload.
- После этого нажмите на кнопку «Deploy configuration» или «Развертывание конфигурации», чтобы загрузить конфигурацию в хранилище.
❗ Warning: Данные из конфигурации mrscconfig.json будут преобладать над данными тенанта.
- При успешной загрузке вы увидите уведомление "Deployed successfully!" или "Развертывание успешно завершено!"
Применение миграций

- Нажмите на кнопку «Migrate configuration» или «Мигрировать конфигурацию» в меню панели редактора, чтобы применить миграции к конфигурации.
❗ Warning: Конфигурация будет изменена, использовать с осторожностью.
- Миграции будут применены, в зависимости от поля lastMigration в package.json (все, после последней миграции).
📝Note: Если поле lastMigration отсутствует, будут применены все миграции.
Команды контекстного меню
Создание шаблонов элементов
Entities
По нажатию ПКМ на папку ./src/enitites через контекстное меню можно создать entity
📝Note: Имя entity может содержать только символы латинского алфавита, цифры и знак "_"

Создаются файлы {{entity_name}}_entity.json и файлы хуков
- {{entity_name}}_entity.json содержит в себе стандартную структуру entity
- Файлы хуков содержат в себе пустую экспортную функцию с одним из стандартных предопределенных названий:
- canCreate
- canDelete
- canSave
- onChange
- onCreate
- onSave
- viewUpdate
Workflows
По нажатию ПКМ на папку ./src/workflows через контекстное меню можно создать workflow
📝Note: Имя папки может содержать только символы латинского алфавита, цифры и знак "-"

Создаются папки node_modules и src
- node_modules - модули для работы тестов и самого workflow
- src - содержит основную функцию
Также создаются файлы .eslintrc.json, package.json и webpack.config.js
- .eslintrc.json - конфигурация для линтера функции
- package.json - туда необходимо прописывать триггеры в functionsParameters и добавлять зависимости в dependencies
- webpack.config.js - конфигурация для сборщика webpack
Пересборка отдельных элементов
Также в контекстном меню есть команды для сборки каждого из элементов src, и при нажатии на соответствующий элемент, можно пересобрать только его, а не всю конфигурацию полностью
Название элемента |
Пункт меню |
Что пересобирается |
dashboards |
build dashboards |
дэшборды |
entities |
build entities |
сущности |
entities |
build hooks |
хуки |
static |
build icons |
иконки |
static |
build static |
статические элементы |
package.json |
build manifest |
manifest (app, build) |
package.json |
build modularComponents |
модульные компоненты |
menu |
build menu |
меню |
relations |
build relations |
релейшенс |
tables |
build table |
таблицы |
templates |
build templates |
шаблоны документов |
users |
build users |
дефолтные пользователи и группы |
views |
build views |
представления |
workflows |
build workflows |
воркфлоу скрипты |
Пример пунктов меню на entities:

Обнаружение тестов и запуск в Test Explorer

При активации расширения, все тесты, доступные по пути ./tests будут обнаружены и отображены в окне Test Explorer VSCode
Имеются возможности:
- Запуска тестов

- Запуска тестов в режиме отладки

- Отображение тестового покрытия кода (подсчитывается автоматически при выполнении тестов)

Superset
- Dashboards должны располагаться в папке ./src/dashboards/superset
- Каждый дэшборд находится в папке с его именем (например ./src/dashboards/superset/test) , внутри которой находится структура дэшбордов
- charts
- dashboards
- datasets
- databases
- metadata.yaml
Обратная связь
Если вы столкнулись с какими-то проблемами или у вас есть предложения по улучшению плагина напишите на почту support@mrsapp.ru.
| |