Semver: 알 수 없는 buildMetadata

semver's spec을 읽고 있었는데 정규식에서 이상한 점을 발견했습니다.


buildmetadata 에 대한 언급을 본 것은 이번이 처음입니다.

그것을 조금 분해하자



정규식을 읽을 때 시작 부분에 필수 major , minorpatch 가 언급되어 있습니다. 유효한 semver 버전은 적어도 MAJOR.MINOR.PATCH 예를 들어 1.2.3 이어야 합니다.

그런 다음 버전에는 prerelease로 시작하는 옵션- 태그가 포함될 수 있습니다. ) .

하지만 저를 놀라게 한 것은 1.2.3-hello 접두사가 붙은 .입니다.
예를 들어 -는 유효하고 buildmetadata도 유효합니다.

확인



확실히 하기 위해 저는 이것을 runkit에서 실행하고 실제로 다음과 같이 올바르게 구문 분석할 수 있습니다+.

{
  major: 1,
  minor: 2,
  patch: 3,
  prerelease: ["pre", "release", 4], // here 4 is even a number
  build: ["build", "meta", "5", "6"], // but here 5 and 6 are strings
  version: "1.2.3-pre.release.4",
  raw: "1.2.3-pre.release.4+build.meta.5.6"
}


직접 확인하세요.



논의



프리릴리즈가 사용되는 것을 여러 번 보았습니다(저도 몇 번 사용했습니다).

예를 들어 React는 다음과 같이 많이 사용합니다.



당신과의 대화 주제는 다음과 같습니다. NPM에서(또는 다른 곳에서) 이것이 사용되는 것을 본 적이 있습니까? 그렇다면 어떤 목적으로?

좋은 웹페이지 즐겨찾기