Каналы выпуска

Теги 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ВерсияУстановка
Стабильныйlatest1.0.xbun add @textjs/app
Canarycanary1.0.x-canary.Nbun add @textjs/app@canary
LTSlts, v1-ltsПубликуется после выхода 2.0.0bun 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 --provenance

release:version перезаписывает каждый package.json и соответствующие константы версий (VERSION, rendererVersion согласователя), отказывается запускаться, если версии пакетов разошлись, а --dry-run выводит план. release:publish собирает пакеты, упаковывает их (разрешая workspace:*), применяет publishConfig, не позволяет опубликовать предварительную версию с тегом latest или стабильную версию с тегом canary и пропускает версии, уже существующие в npm.

Сроки поддержки каждой ветки релизов см. в политике поддержки.

Изменить эту страницу на GitHub