33const path = require ( 'path' ) ;
44const os = require ( 'os' ) ;
55const URL = require ( 'url' ) ;
6- const download = require ( 'download' ) ;
6+ const download = require ( '@serverless/utils/ download' ) ;
77const BbPromise = require ( 'bluebird' ) ;
88const fse = require ( 'fs-extra' ) ;
99const qs = require ( 'querystring' ) ;
@@ -81,7 +81,8 @@ function parseGitHubURL(url) {
8181 downloadUrl,
8282 isSubdirectory,
8383 pathToDirectory : getPathDirectory ( pathLength + 1 , parts ) ,
84- auth : url . auth || '' ,
84+ username : url . username || '' ,
85+ password : url . password || '' ,
8586 } ;
8687}
8788
@@ -111,7 +112,8 @@ function parseBitbucketURL(url) {
111112 downloadUrl,
112113 isSubdirectory,
113114 pathToDirectory : getPathDirectory ( pathLength + 1 , parts ) ,
114- auth : '' ,
115+ username : url . username || '' ,
116+ password : url . password || '' ,
115117 } ;
116118}
117119
@@ -134,7 +136,8 @@ function parseBitbucketServerURL(url) {
134136 downloadUrl,
135137 isSubdirectory,
136138 pathToDirectory : getPathDirectory ( pathLength + 1 , parts ) ,
137- auth : url . auth || '' ,
139+ username : url . username || '' ,
140+ password : url . password || '' ,
138141 } ;
139142}
140143
@@ -176,7 +179,8 @@ function parseGitlabURL(url) {
176179 downloadUrl,
177180 isSubdirectory,
178181 pathToDirectory : getPathDirectory ( pathLength + 1 , parts ) ,
179- auth : '' ,
182+ username : url . username || '' ,
183+ password : url . password || '' ,
180184 } ;
181185}
182186
@@ -197,7 +201,8 @@ function parsePlainGitURL(url) {
197201 branch,
198202 downloadUrl,
199203 isSubdirectory,
200- auth : url . auth || '' ,
204+ username : url . username || '' ,
205+ password : url . password || '' ,
201206 } ;
202207}
203208
@@ -215,6 +220,11 @@ function parseRepoURL(inputUrl) {
215220 }
216221
217222 const url = URL . parse ( inputUrl . replace ( / \/ $ / , '' ) ) ;
223+ if ( url . auth ) {
224+ const [ username , password ] = url . auth . split ( ':' ) ;
225+ url . username = username ;
226+ url . password = password ;
227+ }
218228
219229 // check if url parameter is a valid url
220230 if ( ! url . host && ! url . href . startsWith ( 'git@' ) ) {
@@ -259,7 +269,7 @@ function downloadTemplateFromRepo(inputUrl, templateName, downloadPath, options
259269 let serviceName ;
260270 let dirName ;
261271 let downloadServicePath ;
262- const { auth } = repoInformation ;
272+ const { username , password } = repoInformation ;
263273
264274 if ( repoInformation . isSubdirectory ) {
265275 const folderName = repoInformation . pathToDirectory . split ( '/' ) . splice ( - 1 ) [ 0 ] ;
@@ -296,7 +306,8 @@ function downloadTemplateFromRepo(inputUrl, templateName, downloadPath, options
296306 extract : true ,
297307 strip : 1 ,
298308 mode : '755' ,
299- auth,
309+ username,
310+ password,
300311 } ;
301312 // download service
302313 return download ( repoInformation . downloadUrl , downloadServicePath , downloadOptions )
0 commit comments