배경
eslint.config.mjs의 모듈 경계 강제 규칙이 deprecated된 boundaries/entry-point를 사용 중. CI 로그 및 PR #132에서 deprecation 경고가 출력됨:
[boundaries][warning]: Rule "boundaries/entry-point" is deprecated and will be removed in future versions.
Please migrate to the "boundaries/dependencies" rule with appropriate selectors.
현재 버전 / 상태
eslint-plugin-boundaries: ^6.0.2
- 사용 규칙:
boundaries/entry-point (v6에서 deprecated, 미래 메이저에서 제거 예정, 현재는 정상 동작 + 경고만)
- 현재 설정:
default: 'disallow', target ['common','config','prisma','global'] → allow '**', target ['feature'] → allow 'index.ts' (= cross-feature는 feature의 index.ts로만 import)
목표
boundaries/entry-point → boundaries/dependencies (+ internalPath selector) 마이그레이션.
보류 사유
- 1:1 매핑이 아님.
boundaries/dependencies는 inverted logic(internalPath: '!index.ts' + disallow)이고, default: 'disallow'로 가면 element type 간 모든 허용 의존 엣지를 재열거해야 함. 잘못 옮기면 경계 강제가 조용히 약화될 위험(특히 index.ts 진입 제한 유실).
- deprecated 규칙이 현재 정상 동작하고 제거는 미래 메이저라 긴급하지 않음.
- 이득은 "경고 silence"뿐이라 위험 대비 효용이 낮음.
수행 조건
eslint-plugin-boundaries를 entry-point가 제거되는 메이저로 bump할 때, 또는 boundaries 설정을 어차피 손볼 때.
- 검증 필수: 마이그레이션 후 일부러 cross-feature deep import(예: 다른 feature의
repositories/* 직접 import)를 넣어 lint가 error로 잡는지 확인 → 되돌린다. 경계 강제가 보존됨을 증명한 뒤 머지.
참고
배경
eslint.config.mjs의 모듈 경계 강제 규칙이 deprecated된boundaries/entry-point를 사용 중. CI 로그 및 PR #132에서 deprecation 경고가 출력됨:현재 버전 / 상태
eslint-plugin-boundaries:^6.0.2boundaries/entry-point(v6에서 deprecated, 미래 메이저에서 제거 예정, 현재는 정상 동작 + 경고만)default: 'disallow',target ['common','config','prisma','global'] → allow '**',target ['feature'] → allow 'index.ts'(= cross-feature는 feature의 index.ts로만 import)목표
boundaries/entry-point→boundaries/dependencies(+internalPathselector) 마이그레이션.보류 사유
boundaries/dependencies는 inverted logic(internalPath: '!index.ts'+ disallow)이고,default: 'disallow'로 가면 element type 간 모든 허용 의존 엣지를 재열거해야 함. 잘못 옮기면 경계 강제가 조용히 약화될 위험(특히 index.ts 진입 제한 유실).수행 조건
eslint-plugin-boundaries를 entry-point가 제거되는 메이저로 bump할 때, 또는 boundaries 설정을 어차피 손볼 때.repositories/*직접 import)를 넣어 lint가 error로 잡는지 확인 → 되돌린다. 경계 강제가 보존됨을 증명한 뒤 머지.참고
docs/guide/architecture-conventions.md§2 (배럴=공개 API)