배경
devtools #371(탐색, 결정 코멘트)에서 실 @apps-in-toss/webview-bridge@3.0.0-beta spec에 대고 bridge-level 디스패처를 프로토타입해 측정했다. 결론: 두 옵션(A: fake global 주입 / B: utils/web subpath alias) 다 기술적으로 성립하고 ~86 손제작 mock 함수를 디스패처 1 + 핸들러 N으로 줄이나, 착수는 web-framework 3.0 GA flip(#370) 직후가 자연스러운 시점이다 — 비공식 seam(raw global + types-only spec)이 GA 라인에 고정되기 전엔 마이너마다 깨질 risk가 최대이고, transitive 패키지(@apps-in-toss/webview-bridge)를 직접 의존으로 승격하는 비용이 GA 전엔 정당화가 약하기 때문.
이 이슈는 #371이 제안한 후속 구현 작업이다. blocked by #370 (GA flip) — GA flip 완료 후 착수한다.
Scope (Option B 권고)
GA flip(#370) 이후, web-framework public-API 대체(full-barrel alias)를 **bridge-level 주입(Option B: @apps-in-toss/webview-bridge/utils/web subpath alias)**으로 역전한다:
- (a)
@apps-in-toss/webview-bridge를 직접 의존으로 추가.
- (b) spec Map(
AsyncMethodsMap/EventMethodsMap/ConstantsMap)으로 타이핑한 디스패처 3함수(callAsyncMethod/callEventMethod/getConstant) 구현 + 단일 utils/web Assert로 __typecheck.ts의 ~80 per-symbol Assert 대체.
- (c) 디스패처에
observe 로깅 단일화 + 미등록 메서드 throw(현 proxy.ts 트립와이어 승계).
- (d) 특수케이스 재배선 — device web/prompt fidelity 핸들러, panel state→
__appsInTossConstants 패치 reactivity, 이벤트 트리거(callEventMethod 핸들러) 배선. unplugin alias 자산은 현 full-barrel에서 재사용.
Acceptance
참고
배경
devtools #371(탐색, 결정 코멘트)에서 실
@apps-in-toss/webview-bridge@3.0.0-betaspec에 대고 bridge-level 디스패처를 프로토타입해 측정했다. 결론: 두 옵션(A: fake global 주입 / B:utils/websubpath alias) 다 기술적으로 성립하고 ~86 손제작 mock 함수를 디스패처 1 + 핸들러 N으로 줄이나, 착수는 web-framework 3.0 GA flip(#370) 직후가 자연스러운 시점이다 — 비공식 seam(raw global + types-only spec)이 GA 라인에 고정되기 전엔 마이너마다 깨질 risk가 최대이고, transitive 패키지(@apps-in-toss/webview-bridge)를 직접 의존으로 승격하는 비용이 GA 전엔 정당화가 약하기 때문.이 이슈는 #371이 제안한 후속 구현 작업이다. blocked by #370 (GA flip) — GA flip 완료 후 착수한다.
Scope (Option B 권고)
GA flip(#370) 이후, web-framework public-API 대체(full-barrel alias)를 **bridge-level 주입(Option B:
@apps-in-toss/webview-bridge/utils/websubpath alias)**으로 역전한다:@apps-in-toss/webview-bridge를 직접 의존으로 추가.AsyncMethodsMap/EventMethodsMap/ConstantsMap)으로 타이핑한 디스패처 3함수(callAsyncMethod/callEventMethod/getConstant) 구현 + 단일utils/webAssert로__typecheck.ts의 ~80 per-symbol Assert 대체.observe로깅 단일화 + 미등록 메서드 throw(현proxy.ts트립와이어 승계).__appsInTossConstants패치 reactivity, 이벤트 트리거(callEventMethod핸들러) 배선. unplugin alias 자산은 현 full-barrel에서 재사용.Acceptance
__typecheck.ts의 per-symbol Assert가 단일utils/webAssert로 대체되되 타입 커버리지 동등.참고
c40edfb).