@@ -10,9 +10,9 @@ const config = require("./config"),
1010 Constants = require ( "./constants" ) ,
1111 utils = require ( "./utils" ) ;
1212
13- const uploadSuits = ( bsConfig , filePath , opts ) => {
13+ const uploadSuits = ( bsConfig , filePath , opts , obj ) => {
1414 return new Promise ( function ( resolve , reject ) {
15- let startTime = Date . now ( ) ;
15+ obj . startTime = Date . now ( ) ;
1616
1717 if ( opts . urlPresent ) {
1818 return resolve ( { [ opts . md5ReturnKey ] : opts . url } ) ;
@@ -21,28 +21,26 @@ const uploadSuits = (bsConfig, filePath, opts) => {
2121 return resolve ( { } ) ;
2222 }
2323
24- let size = fs . lstatSync ( filePath ) . size ;
24+ let size = obj . size ;
2525
2626 // create new progress bar
27- let bar1 = new cliProgress . SingleBar ( {
28- format : `${ filePath } [{bar}] {percentage}% | ETA: {eta}s | Speed: {speed} kbps | Duration: {duration}s [${ ( size / 1000000 ) . toFixed ( 2 ) } MB]` ,
29- hideCursor : true ,
27+ obj . bar1 = new cliProgress . SingleBar ( {
28+ format : `${ filePath } [{bar}] {percentage}% | ETA: {eta}s | Speed: {speed} kbps | Duration: {duration}s [${ ( size / 1000000 ) . toFixed ( 2 ) } MB]`
3029 } ) ;
3130
32- bar1 . start ( 100 , 0 , {
31+ obj . bar1 . start ( 100 , 0 , {
3332 speed : "N/A"
3433 } ) ;
3534
36- bar1 . on ( 'start' , ( ) => {
35+ obj . bar1 . on ( 'start' , ( ) => {
3736 } ) ;
3837
39- bar1 . on ( 'stop' , ( ) => {
38+ obj . bar1 . on ( 'stop' , ( ) => {
4039 } ) ;
4140
4241 let options = utils . generateUploadParams ( bsConfig , filePath , opts . md5Data , opts . fileDetails )
4342 let responseData = null ;
4443 var r = request . post ( options , function ( err , resp , body ) {
45- clearInterval ( q ) ;
4644
4745 if ( err ) {
4846 reject ( err ) ;
@@ -55,7 +53,7 @@ const uploadSuits = (bsConfig, filePath, opts) => {
5553 if ( resp . statusCode != 200 ) {
5654 if ( resp . statusCode == 401 ) {
5755 if ( responseData && responseData [ "error" ] ) {
58- responseData [ "time" ] = Date . now ( ) - startTime ;
56+ responseData [ "time" ] = Date . now ( ) - obj . startTime ;
5957 return reject ( responseData [ "error" ] ) ;
6058 } else {
6159 return reject ( Constants . validationMessages . INVALID_DEFAULT_AUTH_PARAMS ) ;
@@ -65,7 +63,7 @@ const uploadSuits = (bsConfig, filePath, opts) => {
6563 return resolve ( { } ) ;
6664 }
6765 if ( responseData && responseData [ "error" ] ) {
68- responseData [ "time" ] = Date . now ( ) - startTime ;
66+ responseData [ "time" ] = Date . now ( ) - obj . startTime ;
6967 reject ( responseData [ "error" ] ) ;
7068 } else {
7169 if ( resp . statusCode == 413 ) {
@@ -75,30 +73,35 @@ const uploadSuits = (bsConfig, filePath, opts) => {
7573 }
7674 }
7775 } else {
78- bar1 . update ( 100 , {
79- speed : ( ( size / ( Date . now ( ) - startTime ) ) / 125 ) . toFixed ( 2 ) //kbits per sec
80- } ) ;
81- bar1 . stop ( ) ;
76+ purgeUploadBar ( obj ) ;
8277 logger . info ( `${ opts . messages . uploadingSuccess } (${ responseData [ opts . md5ReturnKey ] } )` ) ;
8378 opts . cleanupMethod ( ) ;
84- responseData [ "time" ] = Date . now ( ) - startTime ;
79+ responseData [ "time" ] = Date . now ( ) - obj . startTime ;
8580 resolve ( responseData ) ;
8681 }
8782 }
8883 } ) ;
8984
90- var q = setInterval ( function ( ) {
85+ obj . zipInterval = setInterval ( function ( ) {
9186 let dispatched = r . req . connection . _bytesDispatched ;
9287 let percent = dispatched * 100.0 / size ;
93- bar1 . update ( percent , {
94- speed : ( ( dispatched / ( Date . now ( ) - startTime ) ) / 125 ) . toFixed ( 2 ) //kbits per sec
88+ obj . bar1 . update ( percent , {
89+ speed : ( ( dispatched / ( Date . now ( ) - obj . startTime ) ) / 125 ) . toFixed ( 2 ) //kbits per sec
9590 } ) ;
9691 } , 150 ) ;
9792
9893 } ) ;
9994}
10095
10196
97+ const purgeUploadBar = ( obj ) => {
98+ obj . bar1 . update ( 100 , {
99+ speed : ( ( obj . size / ( Date . now ( ) - obj . startTime ) ) / 125 ) . toFixed ( 2 ) //kbits per sec
100+ } ) ;
101+ obj . bar1 . stop ( ) ;
102+ clearInterval ( obj . zipInterval ) ;
103+ }
104+
102105const uploadCypressZip = ( bsConfig , md5data , packageData ) => {
103106 return new Promise ( function ( resolve , reject ) {
104107 let obj = { }
@@ -116,8 +119,22 @@ const uploadCypressZip = (bsConfig, md5data, packageData) => {
116119 logger . info ( npmOptions . messages . uploading ) ;
117120 }
118121
119- let zipUpload = uploadSuits ( bsConfig , config . fileName , zipOptions ) ;
120- let npmPackageUpload = uploadSuits ( bsConfig , config . packageFileName , npmOptions ) ;
122+ var testZipUploadObj = {
123+ bar1 : null ,
124+ zipInterval : null ,
125+ size : fs . existsSync ( config . fileName ) ? fs . lstatSync ( config . fileName ) . size : 0 ,
126+ startTime : null
127+ }
128+
129+ var npmPackageZipUploadObj = {
130+ bar1 : null ,
131+ zipInterval : null ,
132+ size : fs . existsSync ( config . packageFileName ) ? fs . lstatSync ( config . packageFileName ) . size : 0 ,
133+ startTime : null
134+ }
135+
136+ let zipUpload = uploadSuits ( bsConfig , config . fileName , zipOptions , testZipUploadObj ) ;
137+ let npmPackageUpload = uploadSuits ( bsConfig , config . packageFileName , npmOptions , npmPackageZipUploadObj ) ;
121138 Promise . all ( [ zipUpload , npmPackageUpload ] ) . then ( function ( uploads ) {
122139 uploads . forEach ( upload => {
123140 if ( upload . zip_url && upload . time ) {
@@ -130,6 +147,8 @@ const uploadCypressZip = (bsConfig, md5data, packageData) => {
130147 } ) ;
131148 return resolve ( obj ) ;
132149 } ) . catch ( ( error ) => {
150+ purgeUploadBar ( testZipUploadObj ) ;
151+ purgeUploadBar ( npmPackageZipUploadObj ) ;
133152 return reject ( error ) ;
134153 } )
135154 } )
0 commit comments