Problem
@croco/transports-http는 exported ParamResolver의 타입 표면에서 zod 타입을 사용하지만, 패키지 자체는 zod를 직접 dependency로 선언하지 않습니다. 소비자와 패키지 매니저 설정에 따라 타입 해석이 transitive dependency에 의존하게 됩니다.
Evidence
packages/transports-http/src/libs/ParamResolver.ts:13가 type { z }를 zod에서 import합니다.
packages/transports-http/src/libs/ParamResolver.ts:163-168의 public method signature가 z.ZodType을 포함합니다.
packages/transports-http/src/index.ts:5와 :43-52가 ParamResolver를 public export로 노출합니다.
packages/transports-http/package.json:30-47의 dependencies에는 zod가 직접 포함되어 있지 않습니다.
Desired Outcome
패키지의 공개 타입 표면에서 참조하는 외부 패키지는 해당 패키지의 직접 dependency 또는 peer dependency로 명확히 선언되어야 합니다.
Suggested Approach
transports-http에 zod 직접 dependency를 추가하거나 타입 표면에서 zod를 숨깁니다.
- package entrypoint type smoke test로 transitive dependency 누락을 잡습니다.
protocols-rest를 통한 우연한 transitive resolution에 의존하지 않도록 정리합니다.
Acceptance Criteria
@croco/transports-http만 설치해도 exported type declarations가 해석됩니다.
ParamResolver public API의 외부 타입 의존성이 manifest에 반영됩니다.
- 패키지 entrypoint smoke test가 추가되거나 기존 smoke matrix에 포함됩니다.
Validation
pnpm test --filter=@croco/transports-http
pnpm typecheck --filter=@croco/transports-http
- isolated package install/type smoke
Problem
@croco/transports-http는 exportedParamResolver의 타입 표면에서zod타입을 사용하지만, 패키지 자체는zod를 직접 dependency로 선언하지 않습니다. 소비자와 패키지 매니저 설정에 따라 타입 해석이 transitive dependency에 의존하게 됩니다.Evidence
packages/transports-http/src/libs/ParamResolver.ts:13가type { z }를zod에서 import합니다.packages/transports-http/src/libs/ParamResolver.ts:163-168의 public method signature가z.ZodType을 포함합니다.packages/transports-http/src/index.ts:5와:43-52가ParamResolver를 public export로 노출합니다.packages/transports-http/package.json:30-47의 dependencies에는zod가 직접 포함되어 있지 않습니다.Desired Outcome
패키지의 공개 타입 표면에서 참조하는 외부 패키지는 해당 패키지의 직접 dependency 또는 peer dependency로 명확히 선언되어야 합니다.
Suggested Approach
transports-http에zod직접 dependency를 추가하거나 타입 표면에서zod를 숨깁니다.protocols-rest를 통한 우연한 transitive resolution에 의존하지 않도록 정리합니다.Acceptance Criteria
@croco/transports-http만 설치해도 exported type declarations가 해석됩니다.ParamResolverpublic API의 외부 타입 의존성이 manifest에 반영됩니다.Validation
pnpm test --filter=@croco/transports-httppnpm typecheck --filter=@croco/transports-http