distributions can have a suffix (separated with +) that denote major
engine changes or platform components.
the version should generally be semver compliant
(- denotes pre release, + denotes build meta)
Hence parsing is "distro name up to first -", semver after;
Subdivide distro name by + for "augmentations". Words joined by
underscores.
Omitting the leading distro name implies "node" and must then begin with
a digit.
This has left the rc, nightly, and v8-canary builds not quite
following the pattern. With the upcoming improvements to version
listings, we need more stable naming.
This simply adds the missing node- prefix for nightly and rc builds.
v8-canary is more complicated. It is technically still a nightly build
(thus -nightly)
but with different v8 engine; so that's an augmentation within the
"distro name" and "v8 canary" is just word split thus +v8_canary.
Despite the names of the build defs, the installed versions are named like:
The filename structure is:
{distribution}-{version}
distributions can have a suffix (separated with +) that denote major engine changes or platform components. the version should generally be semver compliant (- denotes pre release, + denotes build meta)
Hence parsing is "distro name up to first -", semver after; Subdivide distro name by + for "augmentations". Words joined by underscores.
Omitting the leading distro name implies "node" and must then begin with a digit.
This has left the
rc
,nightly
, andv8-canary
builds not quite following the pattern. With the upcoming improvements to version listings, we need more stable naming.This simply adds the missing node- prefix for nightly and rc builds. v8-canary is more complicated. It is technically still a nightly build (thus -nightly) but with different v8 engine; so that's an augmentation within the "distro name" and "v8 canary" is just word split thus +v8_canary.
Despite the names of the build defs, the installed versions are named like:
v22.0.0-rc.2
v23.0.0-nightly202405231b965270a9
v23.0.0-v8-canary202405238df84f17b2