릴리스 채널

Stable, canary, LTS dist-tag, 버전 동기화, 출처 증명, 릴리스 발행.

Text.js는 npm dist-tag 3개로 배포해요. 모든 패키지(@textjs/app, @textjs/react, @textjs/core, @textjs/font, @textjs/opencode, create-text-app, eslint-plugin-textjs)의 버전을 함께 올리므로, 버전 번호 하나가 프레임워크 전체를 나타내요.

채널

채널dist-tag버전설치
안정latest1.0.xbun add @textjs/app
카나리canary1.0.x-canary.Nbun add @textjs/app@canary
LTSlts, v1-lts2.0.0 출시 후 배포bun add @textjs/app@lts

프로덕션에서는 안정 버전을 사용하세요. 수정 사항과 기능이 dev에 반영된 날 바로 사용해 보려면 카나리 버전을 사용하세요. LTS 계열이 생기면, 1년에 한 번 업그레이드하는 경우 LTS를 사용하세요.

bun create text-app@canary my-console

안정 버전

안정 릴리스는 유의적 버전을 따라요: 패치 버전은 버그를 수정하고, 마이너 버전은 하위 호환 기능을 추가하며, 메이저 버전은 사용 중단 예고 기간 후 API 호환성을 깨뜨릴 수 있어요. 안정 릴리스는 전체 테스트 모음을 통과한 카나리 버전에서 승격되며, npm 출처 증명과 함께 배포돼요.

카나리

공식 저장소의 dev에 푸시할 때마다 타입 검사와 테스트를 거쳐 -canary.N 접미사가 붙은 다음 패치 버전으로 배포돼요:

latestdev 푸시배포 버전
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은 npm에 이미 배포된 가장 높은 카나리 번호에서 이어지므로 번호가 반복되지 않아요. 카나리 버전은 저장소에 커밋하지 않아요. 릴리스를 건너뛰려면 커밋 메시지에 [skip canary]를 추가하세요.

카나리는 모든 풀 리퀘스트가 병합되는 브랜치인 dev의 빌드예요. 미출시 API가 사전 안내 없이 변경되거나 제거될 수 있어요. 카나리 버전에 의존한다면 정확한 버전을 고정하세요.

출처 증명

릴리스는 GitHub Actions에서 npm publish --provenance로 배포하며, 각 타르볼을 빌드한 정확한 커밋과 워크플로에 연결해요. 패키지를 검증하려면 다음 명령을 실행하세요:

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에서 이 페이지 편집