# @infomaximum/package-cli

> @infomaximum/package-cli - предоставляет разработчикам набор команд и функций для сборки пакетов, запуска пакетов в режиме разработки и создания шаблонного кода для виджетов, приложений и интеграций.

Latest version **2.33.0** (published 2026-06-08) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @infomaximum/package-cli
pnpm add @infomaximum/package-cli
yarn add @infomaximum/package-cli
bun add @infomaximum/package-cli
```

Provides the command `im-package-cli`.

## Health

**Score 55/100 (C)** — status: active.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 2.33.0 |
| Published | 2026-06-08 |
| First published | 2023-11-16 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM |
| Node | >=16 |
| Dependencies | 54 |
| Unpacked size | 257.1 KB |
| Known vulnerabilities | 0 (+6 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 2 |
| Maintainers | pimenovv95, saneksa20 |
| Keywords | package, builder, widgets, cli |

## Links

- npm: https://www.npmjs.com/package/@infomaximum/package-cli
- Repository: https://github.com/Infomaximum/package-cli
- Issues: https://github.com/Infomaximum/package-cli/issues
- npm.io page: https://npm.io/package/@infomaximum/package-cli

## Dependencies (54)

- [less](https://npm.io/package/less.md) ^4.2.0
- [sass](https://npm.io/package/sass.md) ^1.69.5
- [util](https://npm.io/package/util.md) ^0.12.5
- [chalk](https://npm.io/package/chalk.md) ^5.3.0
- [assert](https://npm.io/package/assert.md) ^2.1.0
- [buffer](https://npm.io/package/buffer.md) ^6.0.3
- [events](https://npm.io/package/events.md) ^3.3.0
- [semver](https://npm.io/package/semver.md) ^7.6.3
- [postcss](https://npm.io/package/postcss.md) ^8.4.32
- [process](https://npm.io/package/process.md) ^0.11.10
- [webpack](https://npm.io/package/webpack.md) ^5.94.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^11.2.0
- [commander](https://npm.io/package/commander.md) ^11.1.0
- [node-plop](https://npm.io/package/node-plop.md) ^0.32.0
- [ts-loader](https://npm.io/package/ts-loader.md) ^9.5.2
- [clipboardy](https://npm.io/package/clipboardy.md) ^4.0.0
- [css-loader](https://npm.io/package/css-loader.md) ^6.8.1
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.23.6
- [less-loader](https://npm.io/package/less-loader.md) ^11.1.3
- [sass-loader](https://npm.io/package/sass-loader.md) ^13.3.2
- [autoprefixer](https://npm.io/package/autoprefixer.md) ^10.4.16
- [babel-loader](https://npm.io/package/babel-loader.md) ^9.1.3
- [style-loader](https://npm.io/package/style-loader.md) ^3.3.3
- [@svgr/webpack](https://npm.io/package/@svgr/webpack.md) ^8.1.0
- [detect-indent](https://npm.io/package/detect-indent.md) ^7.0.1
- [react-refresh](https://npm.io/package/react-refresh.md) ^0.14.0
- [vm-browserify](https://npm.io/package/vm-browserify.md) ^1.1.2
- [webpack-merge](https://npm.io/package/webpack-merge.md) ^5.10.0
- [detect-newline](https://npm.io/package/detect-newline.md) ^4.0.1
- [postcss-loader](https://npm.io/package/postcss-loader.md) ^7.3.3
- [browserify-zlib](https://npm.io/package/browserify-zlib.md) ^0.2.0
- [rc-config-loader](https://npm.io/package/rc-config-loader.md) ^4.1.3
- [standard-version](https://npm.io/package/standard-version.md) =9.5.0
- [crypto-browserify](https://npm.io/package/crypto-browserify.md) ^3.12.1
- [stream-browserify](https://npm.io/package/stream-browserify.md) ^3.0.0
- [stringify-package](https://npm.io/package/stringify-package.md) ^1.0.1
- [postcss-preset-env](https://npm.io/package/postcss-preset-env.md) ^9.3.0
- [webpack-dev-server](https://npm.io/package/webpack-dev-server.md) ^4.15.1
- [zip-webpack-plugin](https://npm.io/package/zip-webpack-plugin.md) ^4.0.1
- [@infomaximum/assert](https://npm.io/package/@infomaximum/assert.md) ^1.1.3
- [copy-webpack-plugin](https://npm.io/package/copy-webpack-plugin.md) ^11.0.0
- [terser-webpack-plugin](https://npm.io/package/terser-webpack-plugin.md) ^5.3.9
- [remove-files-webpack-plugin](https://npm.io/package/remove-files-webpack-plugin.md) ^1.5.0
- [css-minimizer-webpack-plugin](https://npm.io/package/css-minimizer-webpack-plugin.md) ^5.0.1
- [conventional-recommended-bump](https://npm.io/package/conventional-recommended-bump.md) ^10.0.0
- [tsconfig-paths-webpack-plugin](https://npm.io/package/tsconfig-paths-webpack-plugin.md) ^4.1.0
- [conventional-changelog-angular](https://npm.io/package/conventional-changelog-angular.md) ^8.0.0
- [fork-ts-checker-webpack-plugin](https://npm.io/package/fork-ts-checker-webpack-plugin.md) ^9.0.2
- [@babel/plugin-transform-runtime](https://npm.io/package/@babel/plugin-transform-runtime.md) ^7.23.6
- [babel-plugin-inline-json-import](https://npm.io/package/babel-plugin-inline-json-import.md) ^0.3.2
- [@infomaximum/integration-debugger](https://npm.io/package/@infomaximum/integration-debugger.md) ^1.7.1
- [@pmmmwh/react-refresh-webpack-plugin](https://npm.io/package/@pmmmwh/react-refresh-webpack-plugin.md) ^0.5.11
- [conventional-changelog-preset-loader](https://npm.io/package/conventional-changelog-preset-loader.md) ^5.0.0
- [@infomaximum/json-modify-webpack-plugin](https://npm.io/package/@infomaximum/json-modify-webpack-plugin.md) ^1.1.0

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 2.33.0 (latest) — 2026-06-08
- 2.24.0-2 (prerelease) — 2025-06-20
- 2.22.0-1 (rc) — 2025-03-27
- 2.32.0 — 2026-06-05
- 2.31.0 — 2026-04-07
- 2.30.1 — 2026-04-02
- 2.30.0 — 2026-03-30
- 2.29.0 — 2026-03-03
- 2.28.0 — 2026-02-18
- 2.27.2 — 2026-02-16
- 2.27.1 — 2026-02-16
- 2.27.0 — 2026-02-13
- 2.26.3 — 2026-01-29
- 2.26.2 — 2026-01-22
- 2.26.1 — 2026-01-22
- … 98 more at https://npm.io/package/@infomaximum/package-cli/versions

## README

# @infomaximum/package-cli

@infomaximum/package-cli - предоставляет разработчикам набор команд и функций для сборки пакетов, запуска пакетов в режиме разработки и создания шаблонного кода для виджетов, приложений и интеграций.

<a href="https://www.npmjs.com/package/@infomaximum/package-cli">
    <img alt="npm" src="https://img.shields.io/npm/v/@infomaximum/package-cli?style=for-the-badge">
</a>

---

## Разработка виджета

### Инициализация проекта

Для создания нового пакета с виджетом необходимо выполнить следующую команду:

`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`

Полученный в результате выполнения данной команды пакет можно загрузить в систему.

### Файл конфигурации виджета

#### **`widgetrc.json`**

```json
{
  "$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`.

#### **`package.json`**

```json
{
  "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`.

### Версионирование `(2.10.0)`

`@infomaximum/package-cli` реализует возможность автоматизированного [семантического версионирования](https://semver.org/lang/ru/) для управления версиями пакетов. Версия пакета автоматически вычисляется на основе сообщений коммитов в репозиторий:

    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`, чтобы просмотреть список всех доступных команд и их описаний:

```bash
yarn im-package-cli -h
```

---
_Source: https://npm.io/package/@infomaximum/package-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
