Каналы выпуска
Теги dist-tag stable, canary и LTS, синхронные версии, подтверждение происхождения и выпуск релиза.
Text.js выпускается с тремя dist-тегами npm. Версии всех пакетов (@textjs/app, @textjs/react, @textjs/core, @textjs/font, @textjs/opencode, create-text-app и eslint-plugin-textjs) обновляются синхронно, поэтому один номер версии описывает весь фреймворк.
Каналы
| Канал | dist-tag | Версия | Установка |
|---|---|---|---|
| Стабильный | latest | 1.0.x | bun add @textjs/app |
| Canary | canary | 1.0.x-canary.N | bun add @textjs/app@canary |
| LTS | lts, v1-lts | Публикуется после выхода 2.0.0 | bun add @textjs/app@lts |
Используйте стабильный канал в продакшене. Используйте canary, чтобы пробовать исправления и возможности в день их появления в dev. Когда появится ветка LTS, используйте её, если обновляетесь раз в год.
bun create text-app@canary my-consoleСтабильный канал
Стабильные релизы следуют семантическому версионированию: патч-релизы исправляют ошибки, минорные релизы добавляют обратно совместимые возможности, мажорные релизы могут нарушать совместимость API после периода устаревания. Стабильный релиз создаётся из canary, прошедшего полный набор тестов, и публикуется с подтверждением происхождения npm.
Canary
Каждая отправка изменений в dev в официальном репозитории проходит проверку типов и тесты, затем публикуется как следующая патч-версия с суффиксом -canary.N:
latest | Отправка в dev | Опубликованная версия |
|---|---|---|
1.0.0 | первая | 1.0.1-canary.0 |
1.0.0 | вторая | 1.0.1-canary.1 |
1.0.1 | следующая | 1.0.2-canary.0 |
N продолжает нумерацию с наибольшего номера canary, уже опубликованного в npm, поэтому номера никогда не повторяются. Версии canary не фиксируются в репозитории. Добавьте [skip canary] в сообщение коммита, чтобы пропустить релиз.
Canary — это сборки dev, ветки, в которую сливаются все пул-реквесты. Они могут изменять или удалять ещё не выпущенные API без предупреждения. Закрепите точную версию canary, если зависите от неё.
Подтверждение происхождения
Релизы публикуются из GitHub Actions командой npm publish --provenance, которая связывает каждый tar-архив с точным коммитом и рабочим процессом, создавшим его. Проверьте пакет командой:
npm audit signaturesПодготовка релиза
Сопровождающие синхронно повышают версии всех пакетов рабочего пространства с помощью скриптов релиза:
bun run release:version minor # 1.0.0 → 1.1.0 (also: patch, major, canary, stable, x.y.z)bun run release:publish --tag latest --provenancerelease:version перезаписывает каждый package.json и соответствующие константы версий (VERSION, rendererVersion согласователя), отказывается запускаться, если версии пакетов разошлись, а --dry-run выводит план. release:publish собирает пакеты, упаковывает их (разрешая workspace:*), применяет publishConfig, не позволяет опубликовать предварительную версию с тегом latest или стабильную версию с тегом canary и пропускает версии, уже существующие в npm.
Сроки поддержки каждой ветки релизов см. в политике поддержки.