@@ -38,7 +38,8 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
38
38
isIojs = name === 'iojs'
39
39
} else {
40
40
// old node or alternative --target=
41
- isIojs = semver . satisfies ( version , '>=1.0.0 <4.0.0' )
41
+ // semver.satisfies() doesn't like prerelease tags so test major directly
42
+ isIojs = versionSemver . major >= 1 & versionSemver . major < 4
42
43
name = isIojs ? 'iojs' : 'node'
43
44
}
44
45
@@ -60,8 +61,8 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
60
61
// new style, based on process.release so we have a lot of the data we need
61
62
if ( defaultRelease && defaultRelease . headersUrl && ! overrideDistUrl ) {
62
63
baseUrl = url . resolve ( defaultRelease . headersUrl , './' )
63
- libUrl32 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'x86' , version )
64
- libUrl64 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'x64' , version )
64
+ libUrl32 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'x86' , versionSemver . major )
65
+ libUrl64 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'x64' , versionSemver . major )
65
66
66
67
return {
67
68
version : version ,
@@ -83,12 +84,12 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
83
84
// current process.release
84
85
85
86
baseUrl = distBaseUrl
86
- libUrl32 = resolveLibUrl ( name , baseUrl , 'x86' , version )
87
- libUrl64 = resolveLibUrl ( name , baseUrl , 'x64' , version )
87
+ libUrl32 = resolveLibUrl ( name , baseUrl , 'x86' , versionSemver . major )
88
+ libUrl64 = resolveLibUrl ( name , baseUrl , 'x64' , versionSemver . major )
88
89
// making the bold assumption that anything with a version number >3.0.0 will
89
90
// have a *-headers.tar.gz file in its dist location, even some frankenstein
90
91
// custom version
91
- tarballUrl = url . resolve ( baseUrl , name + '-v' + version + ( semver . satisfies ( version , '>=3' ) ? '-headers' : '' ) + '.tar.gz' )
92
+ tarballUrl = url . resolve ( baseUrl , name + '-v' + version + ( versionSemver . major >= 3 ? '-headers' : '' ) + '.tar.gz' )
92
93
93
94
return {
94
95
version : version ,
@@ -109,21 +110,20 @@ function normalizePath (p) {
109
110
return path . normalize ( p ) . replace ( / \\ / g, '/' )
110
111
}
111
112
112
- function resolveLibUrl ( name , defaultUrl , arch , version ) {
113
+ function resolveLibUrl ( name , defaultUrl , arch , versionMajor ) {
113
114
var base = url . resolve ( defaultUrl , './' )
114
- , isV3 = semver . satisfies ( version , '^3' )
115
- , hasLibUrl = bitsre . test ( defaultUrl ) || ( isV3 && bitsreV3 . test ( defaultUrl ) )
115
+ , hasLibUrl = bitsre . test ( defaultUrl ) || ( versionMajor === 3 && bitsreV3 . test ( defaultUrl ) )
116
116
117
117
if ( ! hasLibUrl ) {
118
118
// let's assume it's a baseUrl then
119
- if ( semver . gte ( version , '1.0.0' ) )
119
+ if ( versionMajor >= 1 )
120
120
return url . resolve ( base , 'win-' + arch + '/' + name + '.lib' )
121
121
// prior to io.js@1.0.0 32-bit node.lib lives in /, 64-bit lives in /x64/
122
122
return url . resolve ( base , ( arch === 'x64' ? 'x64/' : '' ) + name + '.lib' )
123
123
}
124
124
125
125
// else we have a proper url to a .lib, just make sure it's the right arch
126
- return defaultUrl . replace ( isV3 ? bitsreV3 : bitsre , '/win-' + arch + '/' )
126
+ return defaultUrl . replace ( versionMajor === 3 ? bitsreV3 : bitsre , '/win-' + arch + '/' )
127
127
}
128
128
129
129
module . exports = processRelease
0 commit comments