Skip to content

[Feature] mode footgun 경고를 region-only override까지 확장 (#39 후속) #49

Description

@jkas2016

Background

#39 / PR #48에서 mode-derivation footgun을 --mode/HOSTDOC_MODE(강제) + shadow 경고(감지)로 해결했다. shadow 경고는 bucket이 domain보다 높은 precedence로 들어왔는데도 cloudfront로 파생될 때 stderr로 뜬다(src/lib/config.ts resolveConfig, bucketS.level < domainS.level).

PR #48 최종 whole-branch 리뷰가 남긴 non-blocking Minor 후속이다.

Problem

shadow 감지가 bucket만 본다. 사용자가 bucket은 파일에서 오게 두고 HOSTDOC_REGION(또는 --region)만 파일의 domain보다 높은 precedence로 주면, 그 region도 mode 선택 관점에선 똑같이 가려지지만 경고가 뜨지 않는다.

s3-website의 canonical override는 bucket+region을 함께 주는 것이라 실사용에서 잘 드러나지 않고, 스펙이 감지 범위를 의도적으로 bucket으로 좁혔으므로 현재 동작은 스펙 준수다. 대칭 커버리지를 위한 선택적 개선이지 버그는 아니다.

Scope

  • resolveConfig의 shadow 조건을 bucketS.level < domainS.level 에 더해 regionS.level < domainS.level 도 트리거하도록 확장 (OR).
  • 경고는 한 번만(중복 경고 방지) — bucket·region 둘 다 shadow여도 단일 메시지.
  • 테스트: HOSTDOC_REGION만 높은 precedence + 파일 domain → 경고 1건. bucket·region 동시 shadow → 여전히 1건. 기존 무경고 케이스(pure cloudfront/s3-website/self-hosted) 회귀 없음.

Non-goals

  • 강제 mode(--mode) 동작 변경 — 무관.
  • domain/distributionId 방향의 shadow 감지 — 의도적 override라 대상 아님(현재도 단방향 < 유지).

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions