프로젝트 소개

Bundle Drop은 새로운 네이티브 스토어 빌드 없이 호환되는 iOS 및 Android React Native 바이너리에 JavaScript와 에셋 업데이트를 제공합니다. Expo SDK 54-57과 bare React Native 0.71+를 지원하며, New Architecture와 호환됩니다. 주요 기능에는 채널 기반 배포(develop, production, beta 또는 사용자 지정 채널), 특정 사용자 코호트를 대상으로 하는 단계적 롤아웃, 그리고 롤백이 로컬 포인터 전환인 불변 검증 번들을 통한 롤백 안전성이 포함됩니다. 전송 계층은 전체 번들 무결성과 지원 기기용 패치 크기 다운로드를 갖춘 하이브리드 OTA를 지원합니다. 타임 게이팅은 업데이트가 호환되는 네이티브 바이너리에만 도달하도록 보장하고, 관측 가능성 메타데이터는 크래시 보고서가 올바른 릴리스에 속되도록 유지합니다. 패키지에는 브라우저에서 프로션 JavaScript 번들을 분석하는 Bundle Drop Sight라는 CLI 도구가 포함되어 있습니다. 소스 맵을 사용해 패키지와 파일에 대한 크기 속을 수행하고, 드를 Git 기준선과 비교하며, OTA 아카이브 크기 추정치를 생성합니다. 비교는 소스 코드나 번들을 서버에 업로드하지 않고 비공개 임시 Git 작업 트리에서 로컬로 실행됩니다. 설치에는 관리형 워크플로를 위한 Expo 구성 플러그인 또는 bare React Native용 자동 링킹을 사용합니다. 설정에는 npx bundle-drop login을 통한 인증이 필요하며, 그다음 npx bundle-drop doctor로 구성, 런타임 ID, 네이티브 통합 및 시작 소유권을 검증합니다. CI/CD 지원은 모든 파이프라인에서 Personal Access Token 업로드를 통해 사용할 수 있습니다. 런타임은 구성 가능한 채널, 환경 및 정책 설정과 함께 BundleDrop.init()를 통해 앱 프로세스 초기에 초기화됩니다.