# @redcup/vk-mini-cli

> VKMA CLI

Latest version **0.2.17** (published 2024-04-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install @redcup/vk-mini-cli
pnpm add @redcup/vk-mini-cli
yarn add @redcup/vk-mini-cli
bun add @redcup/vk-mini-cli
```

Provides the command `vkma`.

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.17 |
| Published | 2024-04-16 |
| First published | 2024-04-16 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=12.3.0 |
| Dependencies | 23 |
| Unpacked size | 61.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | e.zavalishin |
| Maintainers | redcuproot |
| Keywords | oclif |

## Links

- npm: https://www.npmjs.com/package/@redcup/vk-mini-cli
- Repository: https://github.com/sites/hello-world
- Issues: https://github.com/sites/hello-world/issues
- npm.io page: https://npm.io/package/@redcup/vk-mini-cli

## Dependencies (23)

- [ws](https://npm.io/package/ws.md) ^8.11.0
- [glob](https://npm.io/package/glob.md) ^8.0.3
- [pino](https://npm.io/package/pino.md) ^8.7.0
- [chalk](https://npm.io/package/chalk.md) ^5.1.2
- [dotenv](https://npm.io/package/dotenv.md) ^16.0.3
- [inquirer](https://npm.io/package/inquirer.md) ^9.1.4
- [form-data](https://npm.io/package/form-data.md) ^4.0.0
- [websocket](https://npm.io/package/websocket.md) ^1.0.34
- [node-fetch](https://npm.io/package/node-fetch.md) ^3.3.0
- [@oclif/core](https://npm.io/package/@oclif/core.md) ^1.19.1
- [configstore](https://npm.io/package/configstore.md) ^6.0.0
- [localtunnel](https://npm.io/package/localtunnel.md) ^2.0.2
- [pino-pretty](https://npm.io/package/pino-pretty.md) ^9.1.1
- [@ngrok/ngrok](https://npm.io/package/@ngrok/ngrok.md) ^0.4.1
- [zip-a-folder](https://npm.io/package/zip-a-folder.md) ^1.1.5
- [@commitlint/cli](https://npm.io/package/@commitlint/cli.md) ^17.4.2
- [standard-version](https://npm.io/package/standard-version.md) ^9.5.0
- [@oclif/plugin-help](https://npm.io/package/@oclif/plugin-help.md) ^5
- [@types/configstore](https://npm.io/package/@types/configstore.md) ^6.0.0
- [http-string-parser](https://npm.io/package/http-string-parser.md) ^0.0.6
- [@oclif/plugin-plugins](https://npm.io/package/@oclif/plugin-plugins.md) ^2.1.7
- [@commitlint/config-conventional](https://npm.io/package/@commitlint/config-conventional.md) ^17.4.2
- [@vkontakte/api-schema-typescript](https://npm.io/package/@vkontakte/api-schema-typescript.md) ^1.5131.2

## Recent versions

- 0.2.17 (latest) — 2024-04-16
- 0.2.16 — 2024-04-16

## README

VMA CLI
=================

VKMA CLI

[![vkma](https://img.shields.io/badge/cli-vkma-brightgreen.svg)](https://oclif.io)
[![Version](https://img.shields.io/npm/v/@redcup/vk-mini-cli.svg)](https://npmjs.org/package/@redcup/vk-mini-cli)
[![Downloads/week](https://img.shields.io/npm/dw/@redcup/vk-mini-cli.svg)](https://npmjs.org/package/@redcup/vk-mini-cli)
[![License](https://img.shields.io/npm/l/@redcup/vk-mini-cli.svg)](https://github.com/oclif/hello-world/blob/main/package.json)


* [Установка](#установка)
* [Команды](#команды)
* [Примеры использования](#примеры-использования)

# Установка

## Глобально
```sh-session
$ npm install -g @redcup/vk-mini-cli
```

## Локально в проект
Может пригодиться для вашей CI
```sh-session
$ npm install @redcup/vk-mini-cli
```

# Команды

* [`vkma deploy`](#vkma-deploy)
* [`vkma tunnel`](#vkma-tunnel)

## `vkma deploy`

Деплой на хостинг статики


<details>
<summary>Опции</summary>

| Переменная              | Опция         | Описание                                                                                                                  |
|-------------------------|---------------|---------------------------------------------------------------------------------------------------------------------------|
| VKMA_APP_ID             | --appId       | **Обязательно**. АЙДИ мини-приложения                                                                                     |
| VKMA_ACCESS_TOKEN       | --accessToken | Сервисный ключ мини-приложения. Необходим для деплоя через CI и для работы с тестовыми группами локально (временно)       |
| VKMA_DEPLOY_GROUP_NAME  | --groupName   | Название группы для деплоя в тестовую группу. %branch - для подстановки текущей git ветки                                 |
| VKMA_DEPLOY_ENDPOINTS   | --endpoints   | По-умолчанию: **web:index.html,mobile:index.html,mvk:index.html**. Точки входа для урлов.                                 |
| VKMA_DEPLOY_ENVIRONMENT | --environment | По-умолчанию: **all**. Куда подставить урлы. Возможные значения: prod -- только в прод. dev -- только в дев. all -- в оба |
</details>

```
  $ vkma deploy --appId <value> [--groupName <value> --accessToken <value>] [--staticPath <value>]
    [--environment production|dev|all] [--endpoints <value>]
```

## `vkma tunnel`

Туннель

<details>
<summary>Опции</summary>

| Переменная             | Опция          | Описание                                                                                 |
|------------------------|----------------|------------------------------------------------------------------------------------------|
| VKMA_APP_ID            | --appId        | **Обязательно**. АЙДИ мини-приложения                                                    |
| VKMA_ACCESS_TOKEN      | --accessToken  | Сервисный ключ мини-приложения. Необходим для туннеля в тестовую группу (временно).      |
| VKMA_TUNNEL_GROUP_NAME | --groupName    | Название группы для туннеля в тестовую группу. %me - для подстановки имени пользователя  |
| PROXY_HOST             | --host         | По-умолчанию: **localhost**. Хост вашего dev-сервера                                     |
| PROXY_PORT             | --port         | По-умолчанию: **3000**. Порт вашего dev-сервера                                          |
| PROXY_HTTP_PROTO       | --httpProtocol | По-умолчанию: **http**. Возможные значения: http,https. HTTP протокол вашего dev-сервера |
| PROXY_WS_PROTO         | --wsProtocol   | По-умолчанию: **ws**. Возможные значения: ws,wss. WS протокол вашего dev-сервера         |
| PROXY_TIMEOUT          | --timeout      | По-умолчанию: **5000**. Таймаут подключения к дев-серверу, в миллисекундах               |
</details>

```
  $ vkma tunnel [--appId <value>] [--httpProtocol http|https] [--wsProtocol ws|wss] [--host <value>]
    [--port <value>] [--timeout <value>] [--groupName <value> --accessToken <value>]
```
<!-- commandsstop -->


# Примеры использования

На данный момент API для тестовых групп не поддерживает работу с пользовательским ключом, из-за чего необходимо использовать **сервисный ключ** приложения. Чтобы это было не так больно: можно создать файл `.env.vkma`, добавить его в `.gitignore`, прописать туда `VKMA_ACCESS_TOKEN`

И с помощью пакета `dotenv` (или другого аналога) прокидывать переменные


## При разработке

В `package.json` добавить в `scripts` следующие команды:

```json
{
  "deploy:prod": "vkma deploy --appId=000",
  "deploy:stage": "dotenv -e .env.vkma vkma deploy -- --appId=111 --groupName=%branch",
  "tunnel": "dotenv -e .env.vkma vkma tunnel -- --appId=111 --groupName=%me"
}
```

### `(yarn/npm run) deploy:prod`

Произведет загрузку бандла и установку урлов с подтверждением в приложение `000`

### `(yarn/npm run) deploy:stage`

Произведет загрузку бандла и создание/обновление группы тестирования с названием текущей git ветки для приложения `111`

### `(yarn/npm run) deploy:tunnel`

Произведет поднятие туннеля с вашим локальным хостом и подставит урл в тестовую группу с названием вашей учетной записи ОС

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