@gj-kit/expo-media
명시적 adapter와 지속 파일 경계를 갖춘 하드닝된 Expo·React Native 미디어 파이프라인입니다.
현재 npm 최신판:
0.6.1
사용할 때
섹션 제목: “사용할 때”앱이 API와 저장소 정책을 직접 소유하면서 미디어 선택, 업로드 준비, 해싱, 기기 라이브러리, 지속 로컬 파일을 다룰 때 사용합니다.
사용하지 않을 때
섹션 제목: “사용하지 않을 때”레코드 소유권, presign 권한, orphan 정리 정책을 이 라이브러리에 넣지 마세요.
Golden path
섹션 제목: “Golden path”완료 상태: 앱이 업로드 권한을 계속 소유하는 Expo 기반 미디어 kit을 만듭니다.
1. 설치
섹션 제목: “1. 설치”pnpm add @gj-kit/expo-media2. 앱이 소유할 경계를 정합니다
섹션 제목: “2. 앱이 소유할 경계를 정합니다”앱에서 upload intent와 완료를 담당하는 uploadApi를 구현하고, 파일 제한을 명시합니다.
3. 최소 연결부터 시작합니다
섹션 제목: “3. 최소 연결부터 시작합니다”먼저 아래 코드를 복사한 뒤, 위에서 언급한 앱 소유 값만 교체하세요.
import { createMediaKit, type MediaUploadApi } from '@gj-kit/expo-media';
type Asset = { readonly id: string };declare const uploadApi: MediaUploadApi<Asset>; // Your app owns auth and upload URLs.
export const media = createMediaKit({ api: uploadApi, limits: { image: { maxBytes: 15 * 1024 * 1024 } },});환경과 peer
섹션 제목: “환경과 peer”엔진: node >=20
| Peer | 지원 범위 | 필요한 위치 |
|---|---|---|
expo |
>=56.0.0 <58.0.0 |
문서화된 optional subpath에서만 |
expo-file-system |
>=56.0.0 |
문서화된 optional subpath에서만 |
expo-image-manipulator |
>=56.0.0 |
문서화된 optional subpath에서만 |
expo-image-picker |
>=16.0.0 |
문서화된 optional subpath에서만 |
expo-media-library |
>=56.0.5 |
문서화된 optional subpath에서만 |
expo-video-thumbnails |
>=8.0.0 |
문서화된 optional subpath에서만 |
react-native |
>=0.71.0 |
문서화된 optional subpath에서만 |
공개 subpath
섹션 제목: “공개 subpath”| Entry | Exported symbols |
|---|---|
Root entry |
167 |
./core |
157 |
./device |
1 |
./image |
12 |
./image/pure |
6 |
./picker |
1 |
./save |
1 |
./storage |
10 |
./testing |
36 |
./video |
1 |
./web |
5 |
안전 경계
섹션 제목: “안전 경계”presigned URL이나 native URI 세부 정보를 공개 오류에 노출하지 말고, 정리 권한과 attachment 트랜잭션은 소비 앱에 둡니다.
API reference
섹션 제목: “API reference”전체 API reference에는 선언 파일에서 생성한 모든 공개 함수, 클래스, 타입, 상수, 오류 계약이 있습니다. 각 항목은 import path, release signature, package version을 표시합니다.