@infomaximum/package-cli - предоставляет разработчикам набор команд и функций для сборки пакетов, запуска пакетов в режиме разработки и создания шаблонного кода для виджетов, приложений и интеграций.
Для создания нового пакета с виджетом необходимо выполнить следующую команду:
npx @infomaximum/package-cli widget init my_widget
После выполнения данной команды будет создан шаблонный проект my_widget и инициализирован git репозиторий.
Для разработки виджета нужно выполнить команду:
yarn im-package-cli widget build --dev
Данная команда выполняет сборку пакета для разработки. Далее, пакет (собранный архив из папки build) необходимо загрузить в систему. Для этого добавляем пакет в маркетплейс либо в пространство, а так же добавляем разрабатываемый виджет на холст (дашбординг).
Затем необходимо запустить сервер разработки следующей командой:
yarn im-package-cli widget start
В результате будет запущен сервер отслеживающий изменения проекта и выполняющий горячую перезагрузку разрабатываемого компонента.
Для того чтобы пользователи имели возможность использовать разработанный вами виджет, необходимо выполнить сборку пакета, для этого выполняем команду:
yarn im-package-cli widget build
Полученный в результате выполнения данной команды пакет можно загрузить в систему.
{
"$schema": "node_modules/@infomaximum/package-cli/schemas/widgetConfigSchema.json",
"entry": "src/index.tsx",
"widgetManifest": "manifest.json",
"packageManifest": "package/manifest.json",
"packageDir": "package",
"assetsDir": "_resources",
"buildDir": "build",
"port": 5555,
"host": "localhost"
}
-
entry
: Путь к точке входа вашего приложения -
widgetManifest
: Путь к файлу манифеста виджета -
packageManifest
: Путь к файлу манифеста пакета -
packageDir
: Путь к каталогу пакета -
assetsDir
: Путь к каталогу ресурсов -
buildDir
: Путь к каталогу сборки -
port
: Порт, на котором будет запущен сервер разработки -
host
: Хост, на котором будет запущен сервер разработки
Этот файл должен называться widgetrc.json
, но также может иметь расширение .js
, .yaml
. Кроме того, конфигурацию можно добавить в package.json
в поле widget
.
{
"name": "my_widget",
"version": "1.0.0",
"dependencies": {
...
},
"widget": {
"entry": "src/index.tsx",
"widgetManifest": "manifest.json",
"packageManifest": "package/manifest.json",
"packageDir": "package",
"assetsDir": "_resources",
"buildDir": "build",
"port": 5555,
"host": "localhost"
}
}
Эта конфигурация определяет, как будет собираться и запускаться ваш пакет с использованием @infomaximum/package-cli
.
@infomaximum/package-cli
реализует возможность автоматизированного семантического версионирования для управления версиями пакетов. Версия пакета автоматически вычисляется на основе сообщений коммитов в репозиторий:
fix: увеличивает патч-версию (например, с 1.0.0 до 1.0.1)
feat: увеличивает минорную версию (например, с 1.0.0 до 1.1.0)
BREAKING CHANGE: увеличивает мажорную версию (например, с 1.0.0 до 2.0.0)
После вычисления новой версии автоматически генерируется CHANGELOG.md, который включает список изменений, а также создается соответствующий тег в системе контроля версий.
Создать релиз можно используя команду
yarn im-package-cli widget release
Для создания нового пакета с интеграцией необходимо выполнить следующую команду:
npx @infomaximum/package-cli integration init my_integration
После выполнения данной команды будет создан шаблонный проект my_integration и инициализирован git репозиторий.
Для сборки пакета интеграции необходимо выполнить команду
yarn im-package-cli integration build
Для сборки скрипта интеграции необходимо выполнить команду
yarn im-package-cli integration build --type=script
Для отслеживания изменений в файлах и пересборки скрипта интеграции необходимо выполнить команду
yarn im-package-cli integration build --watch
Вы можете использовать флаг -h
, чтобы просмотреть список всех доступных команд и их описаний:
yarn im-package-cli -h