@@ -3,7 +3,6 @@ import fs from "fs";
33import jwt from "jsonwebtoken" ;
44import os from "os" ;
55import path from "path" ;
6- import q from "q" ;
76import * as rimraf from "rimraf" ;
87import { generatePackageHashFromDirectory } from "../lib/hash-utils" ;
98
@@ -17,7 +16,7 @@ interface CodeSigningClaims {
1716 contentHash : string ;
1817}
1918
20- const deletePreviousSignatureIfExists = ( targetPackage : string ) : q . Promise < any > => {
19+ const deletePreviousSignatureIfExists = ( targetPackage : string ) : Promise < any > => {
2120 let signatureFilePath : string = path . join ( targetPackage , METADATA_FILE_NAME ) ;
2221 let prevSignatureExists : boolean = true ;
2322 try {
@@ -26,7 +25,7 @@ const deletePreviousSignatureIfExists = (targetPackage: string): q.Promise<any>
2625 if ( err . code === "ENOENT" ) {
2726 prevSignatureExists = false ;
2827 } else {
29- return q . reject (
28+ return Promise . reject (
3029 new Error (
3130 `Could not delete previous release signature at ${ signatureFilePath } .
3231 Please, check your access rights.`
@@ -40,35 +39,35 @@ const deletePreviousSignatureIfExists = (targetPackage: string): q.Promise<any>
4039 rimraf . sync ( signatureFilePath ) ;
4140 }
4241
43- return q . resolve ( < void > null ) ;
42+ return Promise . resolve ( < void > null ) ;
4443} ;
4544
4645var sign : cli . ReleaseHook = (
4746 currentCommand : cli . IReleaseCommand ,
4847 originalCommand : cli . IReleaseCommand ,
4948 sdk : AccountManager
50- ) : q . Promise < cli . IReleaseCommand > => {
49+ ) : Promise < cli . IReleaseCommand > => {
5150 if ( ! currentCommand . privateKeyPath ) {
5251 if ( fs . lstatSync ( currentCommand . package ) . isDirectory ( ) ) {
5352 // If new update wasn't signed, but signature file for some reason still appears in the package directory - delete it
5453 return deletePreviousSignatureIfExists ( currentCommand . package ) . then ( ( ) => {
55- return q . resolve < cli . IReleaseCommand > ( currentCommand ) ;
54+ return Promise . resolve < cli . IReleaseCommand > ( currentCommand ) ;
5655 } ) ;
5756 } else {
58- return q . resolve < cli . IReleaseCommand > ( currentCommand ) ;
57+ return Promise . resolve < cli . IReleaseCommand > ( currentCommand ) ;
5958 }
6059 }
6160
6261 let privateKey : Buffer ;
6362 let signatureFilePath : string ;
6463
65- return q ( < void > null )
64+ return Promise . resolve ( < void > null )
6665 . then ( ( ) => {
6766 signatureFilePath = path . join ( currentCommand . package , METADATA_FILE_NAME ) ;
6867 try {
6968 privateKey = fs . readFileSync ( currentCommand . privateKeyPath ) ;
7069 } catch ( err ) {
71- return q . reject ( new Error ( `The path specified for the signing key ("${ currentCommand . privateKeyPath } ") was not valid` ) ) ;
70+ return Promise . reject ( new Error ( `The path specified for the signing key ("${ currentCommand . privateKeyPath } ") was not valid` ) ) ;
7271 }
7372
7473 if ( ! fs . lstatSync ( currentCommand . package ) . isDirectory ( ) ) {
@@ -89,39 +88,45 @@ var sign: cli.ReleaseHook = (
8988 return generatePackageHashFromDirectory ( currentCommand . package , path . join ( currentCommand . package , ".." ) ) ;
9089 } )
9190 . then ( ( hash : string ) => {
92- var claims : CodeSigningClaims = {
93- claimVersion : CURRENT_CLAIM_VERSION ,
94- contentHash : hash ,
95- } ;
96-
97- return q
98- . nfcall < string > ( jwt . sign , claims , privateKey , {
99- algorithm : "RS256" ,
100- } )
101- . catch ( ( err : Error ) => {
102- return q . reject < string > ( new Error ( "The specified signing key file was not valid" ) ) ;
103- } ) ;
91+ return new Promise < string > ( ( resolve , reject ) => {
92+ const claims : CodeSigningClaims = {
93+ claimVersion : CURRENT_CLAIM_VERSION ,
94+ contentHash : hash ,
95+ } ;
96+
97+ jwt . sign (
98+ claims ,
99+ privateKey ,
100+ {
101+ algorithm : "RS256" ,
102+ } ,
103+ ( err , token ) => {
104+ if ( err ) {
105+ return reject ( new Error ( "The specified signing key file was not valid" ) ) ;
106+ }
107+ resolve ( token ) ;
108+ }
109+ ) ;
110+ } ) ;
104111 } )
105112 . then ( ( signedJwt : string ) => {
106- var deferred = q . defer < void > ( ) ;
107-
108- fs . writeFile ( signatureFilePath , signedJwt , ( err : Error ) => {
109- if ( err ) {
110- deferred . reject ( err ) ;
111- } else {
112- console . log ( `Generated a release signature and wrote it to ${ signatureFilePath } ` ) ;
113- deferred . resolve ( < void > null ) ;
114- }
113+ return new Promise < void > ( ( resolve , reject ) => {
114+ fs . writeFile ( signatureFilePath , signedJwt , ( err : Error ) => {
115+ if ( err ) {
116+ reject ( err ) ;
117+ } else {
118+ console . log ( `Generated a release signature and wrote it to ${ signatureFilePath } ` ) ;
119+ resolve ( < void > null ) ;
120+ }
121+ } ) ;
115122 } ) ;
116-
117- return deferred . promise ;
118123 } )
119124 . then ( ( ) => {
120125 return currentCommand ;
121126 } )
122127 . catch ( ( err : Error ) => {
123128 err . message = `Could not sign package: ${ err . message } ` ;
124- return q . reject < cli . IReleaseCommand > ( err ) ;
129+ return Promise . reject < cli . IReleaseCommand > ( err ) ;
125130 } ) ;
126131} ;
127132
0 commit comments