Перейти к содержимому

Версии

Пакет версионируется по схеме 0.<версия API>.<патч>: минорный сегмент — это версия VK API, из которой сгенерированы типы и схемы. 0.5199.3 — API 5.199, третья сборка пакета на нём. У текущих версий VK API мажор 5, поэтому минор читается напрямую: 5199 → 5.199, 5200 → 5.200.

  • @vkma.dev/[email protected] ↔ VK API 5.199 — минус точка: 5.199 → 5199.
  • Доступные срезы видно в реестре: npm view @vkma.dev/api-schema versions --json — каждый минор это своя версия API.
  • Минор меняется только со сменой версии API: типы и схемы могли измениться, планируй обновление как минорное.
  • Патчи в рамках того же минора — регенерации и исправления того же среза VK API.
  • Версию для параметра v запросов бери из константы, а не дублируй строкой:
import { API_VERSION } from "@vkma.dev/api-schema"; // "5.199"
const url = `https://api.vk.com/method/apps.get?v=${API_VERSION}&…`;

Если в приложении v зашит вручную и расходится с API_VERSION, типы пакета описывают другую версию API, чем реально отвечает сервер.

У версий 0.x стандартные диапазоны не пересекают минор: что ^0.5199.0, что ~0.5199.0 — это диапазон >=0.5199.0 <0.5200.0. Новая версия VK API — новый минор, значит npm update её не подтянет: переход на следующий срез всегда явный (npm install @vkma.dev/api-schema@^0.5200.0 для API 5.200). Внутри минора патчи безопасны — это регенерации того же среза.

Сверь зашитую версию с константой тестом, чтобы расхождение ловилось в CI, а не формой ответа в проде:

import { API_VERSION } from "@vkma.dev/api-schema";
import { expect, test } from "vitest";
import { VK_API_VERSION } from "../src/api/version"; // твоя константа
test("версия API запросов совпадает с версией пакета", () => {
expect(VK_API_VERSION).toBe(API_VERSION);
});

Константа генерируется из поля version схемы при сборке пакета.

Патч в рамках минора — регенерация того же среза API: уточнения описаний в upstream-схеме (из них растут типы и комментарии), исправления генератора. Контракт той же версии VK API не меняется — патч не требует правок в коде приложения.

Пакет собирается из VKCOM/vk-api-schema: когда VK публикует новую версию API, выходит релиз с новым минором (5.199 → 5.200 значит минор 5200).

Типы — в типах, схемы — в валидаторах.