Skip to content

데모 'Show code'가 설치 불가능한 비공개 패키지(@hyperglobe/core)를 import 하도록 표시 #55

Description

@Malloc72P

페르소나 리뷰(적대적 검증 통과)에서 정리된 항목입니다.

관점: 일반 사용자(Docs 사이트) · 구분: 미흡 · 심각도: medium · 난이도: 낮음

현상

데모 파일들은 '../../src'에서 import하고, 빌드 시 scripts/prepare-storybook-internal/build-dummy-code.js:20이 정규식 /(?:../)+src|./src/g 로 그 경로를 '@hyperglobe/core'로 치환해 DUMMY_CODE를 만든다. 이 코드가 데모 스토리의 docs.source.code로 그대로 노출된다(예: nations2.stories.tsx, round-the-world.stories.tsx, colorscale-bar-demo.stories.tsx). 그러나 packages/hyperglobe/package.json:2-3에서 @hyperglobe/core는 private:true 이며 npm에 게시되지 않는다. 실제 공개 패키지명은 환영 페이지(Welcome.mdx:17)에 적힌 @malloc72p/hyperglobe 이다. 즉 방문자가 데모 'Show code'를 눌러 복사하면 존재하지 않는 패키지를 import하게 된다.

근거

packages/hyperglobe/scripts/prepare-storybook-internal/build-dummy-code.js:20 / packages/hyperglobe/package.json:2 (private:true) / packages/hyperglobe/pages/Welcome.mdx:17 (@malloc72p/hyperglobe)

권고

build-dummy-code.js의 치환 대상을 실제 공개 패키지명 '@malloc72p/hyperglobe'로 변경한다(상수화해 한 곳에서 관리). 가능하면 함께 import하는 보조 export(Colors 등)도 동일 패키지에서 나오는지 확인.

검증 메모

전제는 정확하나 오히려 과소평가된 측면이 있음. round-the-world.demo.tsx:2-3은 Colors, SvgStyle, HyperglobeRef 외에 '../../src/types/hyperglobe-props'에서 타입도 import함. 정규식은 이 경로를 '@hyperglobe/core/types/hyperglobe-props'로 치환하는데, 이는 패키지명만 고쳐도 게시 패키지에 존재하지 않는 서브패스라 여전히 깨짐. 따라서 권고는 단순 패키지명 치환에 더해 (a) 보조 import(Colors 등)와 타입 import가 실제 공개 패키지 진입점에서 export되는지, (b) 서브패스 import를 공개 export로 매핑할지까지 확인 필요. 또한 Welcome.mdx(설치 가이드)가 데모 바로 옆에 올바른 패키지명/동작 예시를 제시하므로 방문자가 교차 참조 시 회복 가능하다는 완화 요인이 있음.

Metadata

Metadata

Assignees

No one assigned

    Labels

    review페르소나 리뷰에서 도출된 항목tech-debt유지보수성/빌드/테스트 기술부채

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions