Skip to content

Commit 802f712

Browse files
committed
perf: Update promise chain and global logging.
1 parent f3535c2 commit 802f712

6 files changed

Lines changed: 110 additions & 122 deletions

File tree

bin/veeva.js

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
'use strict';
44
var chalk = require('chalk'),
55
gulp = require('gulp'),
6-
pkg = require('../package.json');
6+
pkg = require('../package.json'),
7+
Q = require('q');
78

89
var nodeVersion = process.version.replace('v',''),
910
nodeVersionRequired = pkg.engines.node.replace('>=','');
@@ -38,40 +39,42 @@ function checkForCommand(command) {
3839

3940
veeva.cli(args).then(function(options) {
4041

42+
var deferred = Q.defer();
4143

42-
if (options) {
44+
// import gulp tasks
45+
require('../lib/gulp')(gulp, options);
4346

44-
// import gulp tasks
45-
require('../gulp')(gulp, options);
47+
var gulpCommand = checkForCommand(args[0]) ? args[0] : 'default';
4648

47-
var gulpCommand = checkForCommand(args[0]) ? args[0] : 'default';
48-
49-
console.log();
50-
console.log(chalk.yellow.bold(' ⤷ Running command: '), chalk.underline.yellow(gulpCommand));
51-
console.log();
52-
53-
/**
54-
* @notes:
55-
* * gulp.start will be depreciated in Gulp v4
56-
* * replace with gulp.series
57-
*/
58-
gulp.start(gulpCommand);
49+
console.log();
50+
console.log(chalk.yellow.bold(' ⤷ Running veeva workflow: '), chalk.underline.yellow(gulpCommand));
51+
console.log();
5952

60-
}
61-
else {
62-
process.exit(exitCode);
63-
}
53+
/**
54+
* @notes:
55+
* * gulp.start will be depreciated in Gulp v4
56+
* * replace with gulp.series
57+
*/
58+
gulp.start(gulpCommand, function(err){
59+
60+
if(err){
61+
deferred.reject(err);
62+
}
63+
else{
64+
deferred.resolve();
65+
}
66+
});
67+
68+
return deferred.promise;
69+
70+
}).then(function(){
71+
//process.exit(exitCode);
6472
}).catch(function(err) {
6573
exitCode = 1;
66-
if (!isDebug) {
67-
console.error(err);
68-
} else {
69-
throw new Error(err);
70-
}
74+
console.log(('\n\n', chalk.red.bold('✗ '), err));
7175
});
7276

7377

74-
7578
process.on('exit', function() {
76-
process.exit(exitCode);
79+
//process.exit(exitCode);
7780
});

lib/gulp/assemble.js

Lines changed: 11 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ module.exports = function(gulp, options) {
217217

218218

219219
if (!options.sitemap) {
220-
utils.log.log(utils.log.chalk.yellow.bold(' ✗ Skipping generateSitemapFile: Key Message Sitemap does not exist'));
220+
utils.log.log(utils.log.chalk.yellow(' ✗ Skipping generateSitemapFile: Key Message Sitemap does not exist'));
221221
deferred.resolve();
222222
return deferred.promise;
223223
}
@@ -271,82 +271,53 @@ module.exports = function(gulp, options) {
271271
}
272272

273273

274-
utils.executeWhen(!options.modeSingleKeyMessage, assembleTemplates, ' ✔︎ Assembling Key Messages')
274+
utils.executeWhen(!options.modeSingleKeyMessage, assembleTemplates, ' ✔︎ Assembling Key Messages')
275275

276276
// single Key Message Mode
277277
.then(function() {
278278
return utils.executeWhen(options.modeSingleKeyMessage, function() {
279279
return assembleSingleTemplate(options.deploy.keyMessage);
280-
}, ' ✔︎ Assembling Single Key Message: ' + options.deploy.keyMessage.key_message);
280+
}, ' ✔︎ Assembling Single Key Message: ' + options.deploy.keyMessage.key_message);
281281
})
282282

283283
.then(function() {
284284
return utils.executeWhen(options.modeSingleKeyMessage, function() {
285285
return assembleSingleTemplate({ 'key_message': 'global' });
286-
}, ' ✔︎ Assembling Global Key Message');
286+
}, ' ✔︎ Assembling Global Key Message');
287287
})
288288

289289
.then(function() {
290290
return utils.executeWhen(options.modeSingleKeyMessage, function() {
291291
return copyTemplateAssets({ 'key_message': 'global' });
292-
}, ' ✔︎ Copying Global Key Message Assets');
292+
}, ' ✔︎ Copying Global Key Message Assets');
293293
})
294294

295295
.then(function() {
296296
return utils.executeWhen(options.modeSingleKeyMessage, function() {
297297
return copyTemplateAssets(options.deploy.keyMessage);
298-
}, ' ✔︎ Copying Single Key Message Assets');
298+
}, ' ✔︎ Copying Single Key Message Assets');
299299
})
300300

301301
.then(function() {
302-
return utils.executeWhen(!options.modeSingleKeyMessage, copyTemplateAssets, ' ✔︎ Copying Key Message Assets');
302+
return utils.executeWhen(!options.modeSingleKeyMessage, copyTemplateAssets, ' ✔︎ Copying Key Message Assets');
303303
})
304304
.then(function() {
305-
return utils.executeWhen(true, generateGlobalAppConfig, ' ✔︎ Generating Global app.json file');
305+
return utils.executeWhen(true, generateGlobalAppConfig, ' ✔︎ Generating Global app.json file');
306306
})
307307
.then(function() {
308-
return utils.executeWhen(!options.modeSingleKeyMessage, generateSitemapFile, ' ✔︎ Generating sitemap.json file');
308+
return utils.executeWhen(!options.modeSingleKeyMessage, generateSitemapFile, ' ✔︎ Generating sitemap.json file');
309309
})
310310
.then(function() {
311-
utils.log.log(utils.log.chalk.green.bold(' ✔︎ Copying Global Assets to Key Messages'));
311+
utils.log.log(utils.log.chalk.green.bold(' ✔︎ Copying Global Assets to Key Messages'));
312312
return handleGlobalAssets(arrKeyMessages);
313313
})
314314
.done(function() {
315-
utils.log.log(utils.log.chalk.green.bold(' ✔︎ Done Assembling Key Messages\n'));
315+
utils.log.log(utils.log.chalk.green.bold(' ✔︎ Done Assembling Key Messages'));
316316
browserSync.reload();
317317

318318
deferred.resolve();
319319
},
320320
function(err) {
321-
utils.log.error(err);
322-
deferred.reject(err);
323-
});
324-
325-
return deferred.promise;
326-
});
327-
328-
329-
gulp.task('assemble:test', function() {
330-
331-
var deferred = Q.defer();
332-
333-
options.modeSingleKeyMessage = true;
334-
335-
336-
utils.executeWhen(!options.modeSingleKeyMessage, assembleTemplates, '⤷ Assembling Key Messages')
337-
338-
// single Key Message Mode
339-
.then(function() {
340-
return utils.executeWhen(options.modeSingleKeyMessage, function() {
341-
return assembleSingleTemplate(options.deploy.keyMessage);
342-
}, '⤷ Assembling Single Key Message: ' + options.deploy.keyMessage.key_message);
343-
}).done(function() {
344-
utils.log.success('Done Assembling Key Messages');
345-
346-
deferred.resolve();
347-
},
348-
function(err) {
349-
utils.log.error(err);
350321
deferred.reject(err);
351322
});
352323

lib/gulp/build.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,11 @@ module.exports = function(gulp, options) {
105105
* @date 2015-02-06
106106
*/
107107
gulp.task('build', ['clean'], function() {
108+
109+
utils.log.log(utils.log.chalk.yellow.bold(' ⤷ Running task: '), utils.log.chalk.underline.yellow('build'));
110+
108111
return build().then(function() {
109-
utils.log.success('Done Building Key Messages');
112+
utils.log.log(utils.log.chalk.yellow.bold(' ⤷ Finished running task: '), utils.log.chalk.underline.yellow('build'));
110113
});
111114
});
112115

lib/gulp/deploy.js

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ module.exports = function(gulp, options) {
5454

5555
});
5656

57-
json2csv({ data: buildArray, fields: vaultFields }, function(err, csv) {
57+
json2csv({
58+
data: buildArray,
59+
fields: vaultFields
60+
}, function(err, csv) {
5861

5962
// create directory if it doesn't exist
6063
if (!fs.existsSync(options.paths.deploy)) {
@@ -160,6 +163,7 @@ module.exports = function(gulp, options) {
160163
}))
161164
.pipe(gulp.dest(options.paths.deploy))
162165
.on('error', function(err) {
166+
console.log(err);
163167
deferred.reject(err);
164168
})
165169
.on('end', function() {
@@ -171,7 +175,7 @@ module.exports = function(gulp, options) {
171175
'Description_vod__c=' + keyMessage['description'] + '\n' +
172176
'FILENAME=' + keyMessage['key_message'] + '.zip';
173177

174-
fs.writeFile(options.paths.deploy + '/' + keyMessage['key_message'] + '.ctl', controlFile);
178+
fs.writeFile(path.join(options.paths.deploy, keyMessage['key_message'] + '.ctl'), controlFile);
175179

176180
deferred.resolve();
177181
});
@@ -180,20 +184,19 @@ module.exports = function(gulp, options) {
180184
return deferred.promise;
181185
}
182186

187+
utils.isDirectory(options.paths.deploy, function() {
188+
keyMessages.map(function(keyMessage) {
189+
stageKeyMessage(keyMessage).done(function() {
183190

184-
keyMessages.map(function(keyMessage) {
185-
186-
stageKeyMessage(keyMessage).done(function() {
187-
188-
if (numKeyMessage === iZipped) {
189-
deferred.resolve();
190-
}
191-
iZipped++;
191+
if (numKeyMessage === iZipped) {
192+
deferred.resolve();
193+
}
194+
iZipped++;
195+
});
192196
});
193197
});
194198

195199
return deferred.promise;
196-
197200
}
198201

199202

@@ -220,23 +223,21 @@ module.exports = function(gulp, options) {
220223

221224

222225
utils.executeWhen(true, function() {
223-
utils.log.note('⤷ Staging Key Messages.');
224-
return handleStaging(mergeKeyMessages);
225-
})
226-
.then(function() {
226+
227+
utils.log.log(utils.log.chalk.yellow.bold(' ⤷ Running task: '), utils.log.chalk.underline.yellow('stage'));
228+
229+
return handleStaging(mergeKeyMessages);
230+
}).then(function() {
227231
return utils.executeWhen(autoDeploy, handleFTPZips, '⤷ Auto deploying zipped files');
228-
})
229-
.then(function() {
232+
}).then(function() {
230233
return utils.executeWhen(autoDeploy, handleFTPCtls, '⤷ Auto deploying control files');
231-
})
232-
.done(function() {
233-
utils.log.success('Done Staging Key Messages');
234-
deferred.resolve();
235-
},
236-
function(err) {
237-
utils.log.error(err);
238-
deferred.reject(err);
239-
});
234+
}).done(function() {
235+
utils.log.success('Done Staging Key Messages');
236+
deferred.resolve();
237+
},
238+
function(err) {
239+
deferred.reject(err);
240+
});
240241

241242
return deferred.promise;
242243

lib/gulp/screenshot.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ module.exports = function(gulp, options) {
1616
var deferred = Q.defer();
1717

1818
if (!options.sitemap) {
19-
utils.log.warn('⤷ Skipping copyVeevaThumbsSitemap: Key Message Sitemap does not exist');
19+
utils.log.log(utils.log.chalk.yellow(' ✗ Skipping copyVeevaThumbsSitemap: Key Message Sitemap does not exist'));
2020
deferred.resolve();
21-
return deferred.promise;
2221
}
2322

2423
gulp.src(path.join(options.paths.dist, '**', '*-thumb.jpg'))
@@ -117,8 +116,7 @@ module.exports = function(gulp, options) {
117116
.done(function() {
118117
deferred.resolve();
119118
}, function(err) {
120-
utils.log.error(err);
121-
deferred.reject();
119+
deferred.reject(err);
122120
});
123121

124122
return deferred.promise;
@@ -165,10 +163,10 @@ module.exports = function(gulp, options) {
165163
notSingleKeyMessageMode = options.deploy.keyMessage === false ? true : false;
166164

167165
utils.executeWhen(true, function() {
168-
return utils.executeWhen(true, screenshots, 'Generating Veeva Thumbnails');
166+
return utils.executeWhen(true, screenshots, ' ✔︎ Generating Veeva Thumbnails\n');
169167
})
170168
.then(function() {
171-
return utils.executeWhen(notSingleKeyMessageMode, copyVeevaThumbsSitemap, ' Copying generated thumbnails to Key Message: ' + options.clm.product.name + options.clm.product.suffix + 'sitemap');
169+
return utils.executeWhen(notSingleKeyMessageMode, copyVeevaThumbsSitemap, ' ✔︎ Copying generated thumbnails to Key Message: ' + options.clm.product.name + options.clm.product.suffix + 'sitemap');
172170
})
173171
.then(function() {
174172

@@ -182,11 +180,10 @@ module.exports = function(gulp, options) {
182180
}
183181
})
184182
.done(function() {
185-
utils.log.success('Done generating Veeva thumbnails');
183+
utils.log.log(utils.log.chalk.green.bold(' ✔︎ Done generating Veeva thumbnails\n'));
186184
deferred.resolve();
187185
},
188186
function(err) {
189-
utils.log.error(err);
190187
deferred.reject(err);
191188
});
192189

0 commit comments

Comments
 (0)