테마
패키지와 설치
업무패키지(Business Package, 이하 BP)를 만들 때 사내 레지스트리 https://npm.mdpert.com/에서 받는 패키지와 그 버전입니다. 아래 표의 버전은 이 문서를 빌드한 날(2026-11-03) 레지스트리에서 받은 값입니다.
1. 레지스트리 설정
@starj-portal 스코프만 사내 레지스트리로 보내고, 나머지 의존성은 npmjs에서 그대로 받습니다. 설치에는 계정이나 토큰이 필요 없습니다.
ini
# .npmrc
@starj-portal:registry=https://npm.mdpert.com/registry=로 모든 패키지를 사내 레지스트리로 보내지 마십시오. 사내 레지스트리는 @starj-portal 밖의 패키지를 익명 사용자에게 내주지 않으므로, 일반 의존성 설치가 401로 실패합니다.
2. 패키지
| 패키지 | 최신 버전 | 쓰임 |
|---|---|---|
@starj-portal/bp-backend-sdk | 2.1.0 | 서버 로직·REST API·자체 테이블이 있는 업무패키지의 백엔드 계약 |
@starj-portal/bp-frontend-sdk | 2.1.0 | Portal Shell 안에 화면을 렌더링하는 업무패키지의 프론트엔드 계약 |
@starj-portal/bp-ui-kit | 0.1.0 | 업무패키지 화면을 portal-admin과 같은 모양으로 그리는 선택 UI 키트(호스트 계약 아님) |
@starj-portal/bp-dev-shell | 0.1.1 | 포탈 없이 위젯과 백엔드를 가상 호스트 위에서 함께 실행하는 로컬 개발 셸(starj-bp-dev) |
@starj-portal/cli | 0.3.0 | 프로젝트 생성, 배포 전 점검, 패키지 아카이브 생성·서명·검증(starj CLI) |
@starj-portal/sap-odata-client | 0.1.0 | SAP OData 요청 조립(Destination 호출과 함께 쓴다) |
"저장소 기준"은 빌드할 때 레지스트리에 닿지 못해 개발 키트 저장소의 버전을 대신 적었다는 뜻입니다. 폐쇄망에서 빌드한 문서에서 이렇게 표시됩니다.
설치 명령은 다음과 같습니다. 어떤 패키지가 필요한지는 시작하기 §1에 있습니다.
pnpm add -D @starj-portal/bp-backend-sdk
pnpm add @starj-portal/bp-frontend-sdk
pnpm add @starj-portal/bp-ui-kit
pnpm add -D @starj-portal/bp-dev-shell
pnpm add -D @starj-portal/cli
pnpm add @starj-portal/sap-odata-client
3. 개발 키트 버전과 호스트 계약 버전
@starj-portal/bp-backend-sdk와 @starj-portal/bp-frontend-sdk의 major·minor는 그 개발 키트가 선언하는 호스트 계약(연계 규약) 버전과 같습니다. 예를 들어 개발 키트 1.4.x는 호스트 계약 1.4.0을 선언합니다. patch는 계약을 바꾸지 않는 수정에만 올립니다.
@starj-portal/bp-ui-kit은 호스트 계약이 아니므로 버전이 계약 버전과 따로 움직입니다. 어느 포탈 버전에서나 같은 키트를 쓸 수 있습니다.
BP는 bp-manifest.yaml의 runtime.hostContract에 요구하는 계약 범위를 적고, 포탈은 자기가 제공하는 계약 버전과 대조해 범위 밖이면 적재하지 않습니다. 버전별로 무엇이 바뀌었고 BP가 무엇을 해야 하는지는 호스트 계약의 변경 이력 표에 있습니다. 설치할 포탈이 어느 계약 버전을 제공하는지는 같은 문서의 포탈 정보 API로 확인합니다.
4. 게시된 버전 목록
@starj-portal/bp-backend-sdk
2.1.0, 2.0.0, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 0.1.0
@starj-portal/bp-frontend-sdk
2.1.0, 2.0.0, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 0.1.0
@starj-portal/bp-ui-kit
0.1.0
@starj-portal/bp-dev-shell
0.1.1, 0.1.0
@starj-portal/cli
0.3.0, 0.2.0, 0.1.0
@starj-portal/sap-odata-client
0.1.0
갓 게시한 버전은 pnpm의 최소 공개 경과시간 정책 때문에 설치되지 않을 수 있습니다. 그때는 정책이 정한 시간이 지나기를 기다리거나, pnpm-workspace.yaml의 minimumReleaseAgeExclude에 그 버전을 넣습니다.