fix: compatible with more node pre-release versions (#9292)
* fix: compatible with more node pre-release versions * fix: match prerelease regex * docs: remove changeset --------- Co-authored-by: Zoltan Kochan <z@kochan.io>
This commit is contained in:
1 parent
aec8c50d01
commit
32289be423
2 files changed
+3
-2
No files matched your search
+2
-2
@@ -6,7 +6,7 @@ export interface NodeSpecifier {
|
||||
}
|
||||
|
||||
const isStableVersion = (version: string): boolean => /^\d+\.\d+\.\d+$/.test(version)
|
||||
const matchPrereleaseVersion = (version: string): RegExpMatchArray | null => version.match(/^\d+\.\d+\.\d+-(nightly|rc|test|v8-canary)(\..+)$/)
|
||||
const matchPrereleaseVersion = (version: string): RegExpMatchArray | null => version.match(/^\d+\.\d+\.\d+-((rc)(\..+)|(test|v8-canary|nightly)(.+))$/)
|
||||
|
||||
const STABLE_RELEASE_ERROR_HINT = 'The correct syntax for stable release is strictly X.Y.Z or release/X.Y.Z'
|
||||
|
||||
@@ -43,7 +43,7 @@ export function parseNodeSpecifier (specifier: string): NodeSpecifier {
|
||||
|
||||
const prereleaseMatch = matchPrereleaseVersion(specifier)
|
||||
if (prereleaseMatch != null) {
|
||||
return { releaseChannel: prereleaseMatch[1], useNodeVersion: specifier }
|
||||
return { releaseChannel: prereleaseMatch[2], useNodeVersion: specifier }
|
||||
}
|
||||
|
||||
if (isStableVersion(specifier)) {
|
||||
|
||||
@@ -49,6 +49,7 @@ test.each([
|
||||
['16.0.0-rc.0', '16.0.0-rc.0', 'rc'],
|
||||
['release/16.0.0', '16.0.0', 'release'],
|
||||
['16.0.0', '16.0.0', 'release'],
|
||||
['24.0.0-nightly20250315d765e70802', '24.0.0-nightly20250315d765e70802', 'nightly'],
|
||||
])('valid Node.js specifier', async (specifier) => {
|
||||
expect(isValidVersion(specifier)).toBe(true)
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user