버전 제약 충돌 분석기
이 브라우저 로컬 도구는 패키지마다 입력한 버전 후보에 여러 범위를 교집합으로 적용한 뒤 서로 독립적인 패키지 조합을 나열합니다. 고정된 node-semver 6.3.1로 캐럿·틸드·비교 연산자·OR·사전 출시 판정을 수행합니다. 녹색 후보는 해당 패키지의 모든 범위를 만족합니다. 결과가 0이면 입력 목록에 맞는 버전이 없다는 뜻이며, 앞으로 나오거나 입력하지 않은 모든 버전까지 불가능하다는 증명은 아닙니다. npm 레지스트리 조회·peer 의존성 해석·설치 성공 보증은 하지 않습니다.
주요 기능
- node-semver 규칙으로 캐럿·틸드·비교 연산자 AND·OR 검사
- 입력한 모든 후보를 제약별 통과/실패 표로 표시
- 기본 사전 출시 동일 버전 옵트인과 명시적인 전체 포함 모드 설명
- 공통 후보가 없는 최소 제약 묶음을 찾아 표시
- 패키지 간 독립 조합 수를 정확히 세고 앞 100개 표시
- 입력과 제한된 결과를 로컬 JSON 파일로 저장
사용 방법
- 안전한 예제를 불러오거나 이름이 있는 패키지를 최대 6개 추가합니다.
- 정확한 X.Y.Z 후보 버전을 줄마다 또는 쉼표로 입력하고 범위를 줄마다 입력합니다. 한 범위의 대안은 ||로 구분합니다.
- 사전 출시 버전 포함 정책을 선택하고 분석합니다.
- 패키지별 후보 표와 일치 항목이 없을 때 최소 충돌 규칙을 확인합니다.
- 호환 패키지 조합을 살펴보고 필요하면 JSON 보고서를 저장합니다.
활용 예시
- 두 의존성 선언을 동시에 만족하는 입력된 릴리스 찾기
- ^0.2.3이 0.3.0을, ~1.2.3이 1.3.0을 제외하는 이유 확인
- 사전 출시 버전의 기본 제외와 전체 포함 정책 비교
- 독립적인 여러 패키지의 작은 업그레이드 후보 집합 열거
자주 묻는 질문
조합이 0개면 범위 자체가 불가능한가요?
아닙니다. 여기 입력한 후보의 조합이 없다는 뜻입니다. 목록에서 빠진 버전이나 미래 릴리스가 맞을 수 있습니다. 강조한 충돌 규칙도 입력 후보에 대해서만 계산합니다.
OR와 여러 줄은 어떻게 결합되나요?
한 줄은 node-semver 문법을 따릅니다. 공백으로 연결한 비교 연산자는 AND, ||는 OR입니다. 같은 패키지에 적은 여러 줄은 모두 통과해야 하므로 교집합을 이룹니다.
숫자 범위 안의 사전 출시 버전이 왜 거부되나요?
기본 node-semver 규칙은 같은 major.minor.patch 조합의 사전 출시 값을 비교 연산자가 명시적으로 선택한 경우에만 허용합니다. 체크박스를 켜면 모든 범위 검사에 includePrerelease를 적용해 다른 사전 출시 값도 통과할 수 있습니다.
npm install을 위한 의존성 해결기인가요?
아닙니다. 각 패키지는 독립적인 선택 축입니다. 레지스트리·재귀 의존성·peer/optional/플랫폼/workspace 규칙을 읽거나 npm을 실행하지 않습니다. 실제 설치는 패키지 관리자에서 별도로 검증하세요.
조합을 100개까지만 표시하는 이유는 무엇인가요?
허용 후보 수를 곱한 유한 조합의 정확한 개수는 계산합니다. 큰 카르테시안 곱이 페이지를 멈추지 않도록 앞 100개만 화면과 보고서에 넣습니다.
버전이나 패키지 정보가 업로드되나요?
아닙니다. 파싱·필터링·JSON 생성은 이 브라우저 탭에서 이뤄집니다. 레지스트리 요청·자동 저장·애플리케이션 API 제출은 없습니다.
개인정보 안내
패키지 이름·후보 버전·범위는 브라우저 메모리에 머뭅니다. 분석과 선택적인 JSON 저장은 로컬 작업이며 레지스트리나 애플리케이션 API로 보내지 않습니다.
댓글과 질문