원문: https://github.com/facebook/astryx/wiki/Release-Process · 번역 기준: 2026-09-03
상태: Active. 모든 패키지는
@astryxdesign/*scope 아래 공개 npm(npmjs.com)에 동일한 버전으로 출시됩니다. 배포(publishing)는 전용 Release workflow(release.yml)에 있으며 npm **trusted publishing (OIDC)**을 사용합니다 — 어디에도NPM_TOKEN은 없습니다. Stable(latest) 배포는 수동 온디맨드 단계입니다: version-bump PR을 머지해도 배포되지 않습니다 — 그 다음release.yml을 dispatch하여 올라간 버전들을 배포합니다. canary만 자동으로 배포됩니다(main에 push할 때마다). 현재 배포된 baseline:@astryxdesign/[email protected].
Astryx는 명확한 호환성을 위해 모든 패키지를 동일한 버전 번호로 릴리스합니다. 릴리스 프로세스:
main에 안착합니다pnpm version-packages로 changeset을 적용하고, lockfile을 갱신하고, PR을 만듭니다private이 아닌 모든 패키지는 동일한 버전으로 함께 배포됩니다(Changesets fixed 그룹). 배포 가능한 10개 패키지 전부가 @astryxdesign/* scope를 공유하며 공개 npm에 배포됩니다:
| 패키지 | 내용 |
|---|---|
@astryxdesign/core |
컴포넌트, hook, 유틸리티, token, CSS |
@astryxdesign/cli |
CLI 명령: init, swizzle, upgrade, component, docs, template |
@astryxdesign/build |
공유 StyleX 빌드 플러그인 (Babel, PostCSS, Vite, Next) |
@astryxdesign/theme-neutral |
기본 theme (core와 함께 제공) |
@astryxdesign/theme-butter · theme-chocolate · theme-gothic · theme-matcha · theme-stone · theme-y2k |
추가로 배포되는 theme들 |
@astryxdesign/lab과 @astryxdesign/vega, 그리고 apps/internal 패키지들은 private이며 절대 배포되지 않습니다. @astryxdesign/storybook과 @astryxdesign/sandbox는 changesets ignore 목록에 있습니다. (진실의 원천: .changeset/config.json의 fixed 배열.)
규칙: 모든 패키지는 같은 버전으로 bump됩니다. 이는 fixed 그룹으로 강제됩니다 — 단일 changeset이 배포 가능한 모든 패키지를 함께 bump하므로, @astryxdesign/[email protected]을 쓰고 있다면 @astryxdesign/[email protected]을 씁니다.
release-gate.yml은 매일 07:10 PT, cut 50분 전에 실행되며, version bump가 머지되기 전에 릴리스가 반드시 읽어야 할 판정을 발행합니다: