Skip to content

MCP 환경변수 활성화 및 tsdown 빌드 통일#45

Merged
ohah merged 2 commits intomainfrom
feat/env-mcp-and-tsdown
Feb 18, 2026
Merged

MCP 환경변수 활성화 및 tsdown 빌드 통일#45
ohah merged 2 commits intomainfrom
feat/env-mcp-and-tsdown

Conversation

@ohah
Copy link
Copy Markdown
Owner

@ohah ohah commented Feb 18, 2026

MCP 환경변수 활성화 및 tsdown 빌드 통일

제목(목적)

앱 진입점에서 enable() 호출 없이 빌드 시 환경변수로 MCP를 켜고 끌 수 있게 하고, server·client·test 패키지 빌드를 tsdown으로 통일하여 bunup을 제거한다.

작업 내용

  • REACT_NATIVE_MCP_ENABLED: Metro 실행 시 true/1이면 transformer가 진입점에 global.__REACT_NATIVE_MCP_ENABLED__와 runtime require를 주입하고 AppRegistry를 치환한다. 미설정이면 transformer와 Babel 프리셋이 MCP 변환을 하지 않아 번들에 MCP 코드가 포함되지 않는다. Metro transformer 캐시 키에 env를 넣어 env 변경 시 캐시가 갱신되도록 했다.
  • 앱 코드 정리: 데모 앱과 문서에서 __REACT_NATIVE_MCP__?.enable() 호출을 제거하고, 활성화는 환경변수만 안내하도록 README·mcp-usage·트러블슈팅·DESIGN 문서를 수정했다.
  • 빌드 통일: server는 tsdown 배열 설정으로 runtime(IIFE), dist(index·transformer-entry), Babel 플러그인(CJS)을 한 번에 빌드하고, client·test는 각각 tsdown 단일 설정으로 빌드한다. bunup 의존성과 스크립트를 제거하고, 빌드/개발 스크립트는 bunx tsdown을 사용한다. server는 출력 확장자를 package.json과 맞추기 위해 fixedExtension: false를 사용했다.
  • 테스트: Metro AST transformer 테스트는 env 미설정 시 변환하지 않는 동작에 맞게 transformWithMcpEnabled 헬퍼와 기대값을 수정했고, require 문자열 검사는 따옴표 차이를 고려해 정규식으로 하도록 바꿨다.

- REACT_NATIVE_MCP_ENABLED로 빌드 시 활성화, 미설정 시 transformer·Babel
  미적용(번들에 MCP 코드 미포함). Metro 캐시 키에 env 반영.
- 앱 진입점 __REACT_NATIVE_MCP__?.enable() 제거, 문서·트러블슈팅 정리.
- server·client·test 빌드를 tsdown으로 통일, bunup 제거. server는
  runtime·dist·babel 플러그인을 tsdown 배열 설정으로 일괄 빌드.
@ohah ohah self-assigned this Feb 18, 2026
@ohah ohah added the enhancement New feature or request label Feb 18, 2026
@ohah ohah merged commit 93df7bd into main Feb 18, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant