11/* jshint node: true */
22'use strict' ;
33
4- var RSVP = require ( 'rsvp' ) ;
5- var path = require ( 'path' ) ;
6- var fs = require ( 'fs' ) ;
4+ let path = require ( 'path' ) ;
5+ let fs = require ( 'fs' ) ;
76
8- var denodeify = require ( 'rsvp' ) . denodeify ;
9- var readFile = denodeify ( fs . readFile ) ;
10-
11- var DeployPluginBase = require ( 'ember-cli-deploy-plugin' ) ;
7+ let DeployPluginBase = require ( 'ember-cli-deploy-plugin' ) ;
128
139module . exports = {
1410 name : 'ember-cli-deploy-redis' ,
@@ -87,57 +83,58 @@ module.exports = {
8783 this . log ( 'config ok' , { verbose : true } ) ;
8884 } ,
8985
90- upload : function ( /* context */ ) {
91- var redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
92- var revisionKey = this . readConfig ( 'revisionKey' ) ;
93- var distDir = this . readConfig ( 'distDir' ) ;
94- var filePattern = this . readConfig ( 'filePattern' ) ;
95- var keyPrefix = this . readConfig ( 'keyPrefix' ) ;
96- var filePath = path . join ( distDir , filePattern ) ;
86+ upload : async function ( /* context */ ) {
87+ let redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
88+ let revisionKey = this . readConfig ( 'revisionKey' ) ;
89+ let distDir = this . readConfig ( 'distDir' ) ;
90+ let filePattern = this . readConfig ( 'filePattern' ) ;
91+ let keyPrefix = this . readConfig ( 'keyPrefix' ) ;
92+ let filePath = path . join ( distDir , filePattern ) ;
9793
9894 this . log ( 'Uploading `' + filePath + '`' , { verbose : true } ) ;
99- return this . _readFileContents ( filePath )
100- . then ( redisDeployClient . upload . bind ( redisDeployClient , keyPrefix , revisionKey , this . readConfig ( 'revisionData' ) ) )
101- . then ( this . _uploadSuccessMessage . bind ( this ) )
102- . then ( function ( key ) {
103- return { redisKey : key } ;
104- } )
105- . catch ( this . _errorMessage . bind ( this ) ) ;
95+ try {
96+ let fileContents = await this . _readFileContents ( filePath ) ;
97+ let key = await redisDeployClient . upload ( keyPrefix , revisionKey , this . readConfig ( 'revisionData' ) , fileContents ) ;
98+ this . _logUploadSuccessMessage ( key ) ;
99+ return { redisKey : key } ;
100+ } catch ( e ) {
101+ this . _logErrorMessage ( e ) ;
102+ throw e ;
103+ }
106104 } ,
107105
108- willActivate : function ( /* context */ ) {
109- var redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
110- var keyPrefix = this . readConfig ( 'keyPrefix' ) ;
106+ willActivate : async function ( /* context */ ) {
107+ let redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
108+ let keyPrefix = this . readConfig ( 'keyPrefix' ) ;
109+
110+ let previousRevisionKey = await redisDeployClient . activeRevision ( keyPrefix ) ;
111+ return {
112+ revisionData : {
113+ previousRevisionKey
114+ }
115+ } ;
116+ } ,
111117
112- var revisionKey = redisDeployClient . activeRevision ( keyPrefix ) ;
118+ activate : async function ( /* context */ ) {
119+ let redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
120+ let revisionKey = this . readConfig ( 'revisionKey' ) ;
121+ let keyPrefix = this . readConfig ( 'keyPrefix' ) ;
122+ let activationSuffix = this . readConfig ( 'activationSuffix' ) ;
123+ let activeContentSuffix = this . readConfig ( 'activeContentSuffix' ) ;
113124
114- return RSVP . resolve ( revisionKey ) . then ( function ( previousRevisionKey ) {
125+ this . log ( 'Activating revision `' + revisionKey + '`' , { verbose : true } ) ;
126+ try {
127+ await redisDeployClient . activate ( keyPrefix , revisionKey , activationSuffix , activeContentSuffix ) ;
128+ this . log ( '✔ Activated revision `' + revisionKey + '`' , { } ) ;
115129 return {
116130 revisionData : {
117- previousRevisionKey : previousRevisionKey
131+ activatedRevisionKey : revisionKey
118132 }
119133 } ;
120- } ) ;
121- } ,
122-
123- activate : function ( /* context */ ) {
124- var redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
125- var revisionKey = this . readConfig ( 'revisionKey' ) ;
126- var keyPrefix = this . readConfig ( 'keyPrefix' ) ;
127- var activationSuffix = this . readConfig ( 'activationSuffix' ) ;
128- var activeContentSuffix = this . readConfig ( 'activeContentSuffix' ) ;
129-
130- this . log ( 'Activating revision `' + revisionKey + '`' , { verbose : true } ) ;
131- return RSVP . resolve ( redisDeployClient . activate ( keyPrefix , revisionKey , activationSuffix , activeContentSuffix ) )
132- . then ( this . log . bind ( this , '✔ Activated revision `' + revisionKey + '`' , { } ) )
133- . then ( function ( ) {
134- return {
135- revisionData : {
136- activatedRevisionKey : revisionKey
137- }
138- } ;
139- } )
140- . catch ( this . _errorMessage . bind ( this ) ) ;
134+ } catch ( e ) {
135+ this . _logErrorMessage ( e ) ;
136+ throw e ;
137+ }
141138 } ,
142139
143140 didDeploy : function ( /* context */ ) {
@@ -147,49 +144,49 @@ module.exports = {
147144 }
148145 } ,
149146
150- fetchInitialRevisions : function ( /* context */ ) {
151- var redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
152- var keyPrefix = this . readConfig ( 'keyPrefix' ) ;
147+ fetchInitialRevisions : async function ( /* context */ ) {
148+ let redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
149+ let keyPrefix = this . readConfig ( 'keyPrefix' ) ;
153150
154151 this . log ( 'Listing initial revisions for key: `' + keyPrefix + '`' , { verbose : true } ) ;
155- return RSVP . resolve ( redisDeployClient . fetchRevisions ( keyPrefix ) )
156- . then ( function ( revisions ) {
157- return {
158- initialRevisions : revisions
159- } ;
160- } )
161- . catch ( this . _errorMessage . bind ( this ) ) ;
152+ try {
153+ let initialRevisions = await redisDeployClient . fetchRevisions ( keyPrefix ) ;
154+ return {
155+ initialRevisions
156+ } ;
157+ } catch ( e ) {
158+ this . _logErrorMessage ( e ) ;
159+ throw e ;
160+ }
162161 } ,
163162
164- fetchRevisions : function ( /* context */ ) {
165- var redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
166- var keyPrefix = this . readConfig ( 'keyPrefix' ) ;
163+ fetchRevisions : async function ( /* context */ ) {
164+ let redisDeployClient = this . readConfig ( 'redisDeployClient' ) ;
165+ let keyPrefix = this . readConfig ( 'keyPrefix' ) ;
167166
168167 this . log ( 'Listing revisions for key: `' + keyPrefix + '`' ) ;
169- return RSVP . resolve ( redisDeployClient . fetchRevisions ( keyPrefix ) )
170- . then ( function ( revisions ) {
171- return {
172- revisions : revisions
173- } ;
174- } )
175- . catch ( this . _errorMessage . bind ( this ) ) ;
168+ try {
169+ let revisions = await redisDeployClient . fetchRevisions ( keyPrefix ) ;
170+ return {
171+ revisions
172+ } ;
173+ } catch ( e ) {
174+ this . _logErrorMessage ( e ) ;
175+ throw e ;
176+ }
176177 } ,
177178
178- _readFileContents : function ( path ) {
179- return readFile ( path )
180- . then ( function ( buffer ) {
181- return buffer . toString ( ) ;
182- } ) ;
179+ _readFileContents : async function ( path ) {
180+ let buffer = await fs . promises . readFile ( path ) ;
181+ return buffer . toString ( ) ;
183182 } ,
184183
185- _uploadSuccessMessage : function ( key ) {
184+ _logUploadSuccessMessage : function ( key ) {
186185 this . log ( 'Uploaded with key `' + key + '`' , { verbose : true } ) ;
187- return RSVP . resolve ( key ) ;
188186 } ,
189187
190- _errorMessage : function ( error ) {
188+ _logErrorMessage : function ( error ) {
191189 this . log ( error , { color : 'red' } ) ;
192- return RSVP . reject ( error ) ;
193190 }
194191 } ) ;
195192
0 commit comments