@shoal/sdk 패키지는 런타임 의존성이 없고, 타입 정의가 포함된 ESM·CommonJS 빌드를 제공합니다.
Terminal
npm install @shoal/sdkTerminal
pnpm add @shoal/sdkTerminal
yarn add @shoal/sdkTerminal
bun add @shoal/sdk지원 런타임
| 런타임 | 최소 버전 | 비고 |
|---|---|---|
| Node.js | 18 | 내장 fetch 사용 |
| Bun | 1.0 | |
| Deno | 1.40 | npm:@shoal/sdk로 가져오기 |
| 브라우저 | 최신 2개 버전 | 클라이언트 키 사용 |
| 엣지 (Cloudflare, Vercel, Netlify) | — | 스트리밍 대신 폴링 |
프레임워크 패키지
코어 SDK 위에 프레임워크에 맞는 헬퍼를 더한 얇은 래퍼입니다. 해당 프레임워크에서만 쓴다면 코어 패키지 대신 이것만 설치하세요.
Terminal
npm install @shoal/reactTerminal
pnpm add @shoal/reactTerminal
yarn add @shoal/reactTerminal
bun add @shoal/reactApp.tsx
import { ShoalProvider, useFlag } from "@shoal/react";
function Banner() {
const on = useFlag("summer-banner");
return on ? <p>Summer sale — 20% off</p> : null;
}Terminal
npm install @shoal/nextTerminal
pnpm add @shoal/nextTerminal
yarn add @shoal/nextTerminal
bun add @shoal/next서버 컴포넌트와 미들웨어는 Next.js 가이드를 참고하세요.
Terminal
npm install @shoal/vueTerminal
pnpm add @shoal/vueTerminal
yarn add @shoal/vueTerminal
bun add @shoal/vuemain.ts
import { shoal } from "@shoal/vue";
app.use(shoal, { key: import.meta.env.VITE_SHOAL_CLIENT_KEY });플래그 타입 생성
CLI가 프로젝트를 읽어 타입 파일을 만들어 주므로, 플래그 키를 컴파일 시점에 검사할 수 있습니다.
Terminal
npm install -D @shoal/cliTerminal
pnpm add -D @shoal/cliTerminal
yarn add -D @shoal/cliTerminal
bun add -d @shoal/cliTerminal
npx shoal generate --out src/shoal.d.tsTypeScript
shoal.isOn("new-chekout");
// ^ Argument of type '"new-chekout"' is not assignable to parameter of type FlagKey