@@ -78,7 +78,7 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
7878
7979 // new style, based on process.release so we have a lot of the data we need
8080 if ( defaultRelease && defaultRelease . headersUrl && ! overrideDistUrl ) {
81- baseUrl = url . resolve ( defaultRelease . headersUrl , './' )
81+ baseUrl = new URL ( './' , defaultRelease . headersUrl )
8282 libUrl32 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'x86' , versionSemver . major )
8383 libUrl64 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'x64' , versionSemver . major )
8484 libUrlArm64 = resolveLibUrl ( name , defaultRelease . libUrl || baseUrl || distBaseUrl , 'arm64' , versionSemver . major )
@@ -96,7 +96,7 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
9696 // have a *-headers.tar.gz file in its dist location, even some frankenstein
9797 // custom version
9898 canGetHeaders = semver . satisfies ( versionSemver , headersTarballRange )
99- tarballUrl = url . resolve ( baseUrl , name + '-v' + version + ( canGetHeaders ? '-headers' : '' ) + '.tar.gz' )
99+ tarballUrl = new URL ( name + '-v' + version + ( canGetHeaders ? '-headers' : '' ) + '.tar.gz' , baseUrl )
100100 }
101101
102102 return {
@@ -105,19 +105,19 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
105105 name,
106106 baseUrl,
107107 tarballUrl,
108- shasumsUrl : url . resolve ( baseUrl , 'SHASUMS256.txt' ) ,
108+ shasumsUrl : new URL ( 'SHASUMS256.txt' , baseUrl ) ,
109109 versionDir : ( name !== 'node' ? name + '-' : '' ) + version ,
110110 ia32 : {
111111 libUrl : libUrl32 ,
112- libPath : normalizePath ( path . relative ( new URL ( baseUrl ) . pathname , new URL ( libUrl32 ) . pathname ) )
112+ libPath : normalizePath ( path . relative ( baseUrl . pathname , libUrl32 . pathname ) )
113113 } ,
114114 x64 : {
115115 libUrl : libUrl64 ,
116- libPath : normalizePath ( path . relative ( new URL ( baseUrl ) . pathname , new URL ( libUrl64 ) . pathname ) )
116+ libPath : normalizePath ( path . relative ( baseUrl . pathname , libUrl64 . pathname ) )
117117 } ,
118118 arm64 : {
119119 libUrl : libUrlArm64 ,
120- libPath : normalizePath ( path . relative ( new URL ( baseUrl ) . pathname , new URL ( libUrlArm64 ) . pathname ) )
120+ libPath : normalizePath ( path . relative ( baseUrl . pathname , libUrlArm64 . pathname ) )
121121 }
122122 }
123123}
@@ -127,20 +127,20 @@ function normalizePath (p) {
127127}
128128
129129function resolveLibUrl ( name , defaultUrl , arch , versionMajor ) {
130- const base = url . resolve ( defaultUrl , './' )
131- const hasLibUrl = bitsre . test ( defaultUrl ) || ( versionMajor === 3 && bitsreV3 . test ( defaultUrl ) )
130+ const base = new URL ( './' , defaultUrl )
131+ const hasLibUrl = bitsre . test ( defaultUrl . pathname ) || ( versionMajor === 3 && bitsreV3 . test ( defaultUrl . pathname ) )
132132
133133 if ( ! hasLibUrl ) {
134134 // let's assume it's a baseUrl then
135135 if ( versionMajor >= 1 ) {
136- return url . resolve ( base , 'win-' + arch + '/' + name + '.lib' )
136+ return new URL ( 'win-' + arch + '/' + name + '.lib' , base )
137137 }
138138 // prior to io.js@1.0.0 32-bit node.lib lives in /, 64-bit lives in /x64/
139- return url . resolve ( base , ( arch === 'x86' ? '' : arch + '/' ) + name + '.lib' )
139+ return new URL ( ( arch === 'x86' ? '' : arch + '/' ) + name + '.lib' , base )
140140 }
141141
142142 // else we have a proper url to a .lib, just make sure it's the right arch
143- return defaultUrl . replace ( versionMajor === 3 ? bitsreV3 : bitsre , '/win-' + arch + '/' )
143+ return new URL ( defaultUrl . pathname . replace ( versionMajor === 3 ? bitsreV3 : bitsre , '/win-' + arch + '/' ) , defaultUrl )
144144}
145145
146146module . exports = processRelease
0 commit comments