1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | import 'babel-polyfill';
|
11 | import * as Tasks from './tasks';
|
12 |
|
13 | function format(time) {
|
14 | return time.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, '$1');
|
15 | }
|
16 |
|
17 | export default function run(fn, options) {
|
18 | const start = new Date();
|
19 | console.log(`[${format(start)}] Starting '${fn.name}'...`);
|
20 | return fn(options).then(() => {
|
21 | const end = new Date();
|
22 | const time = end.getTime() - start.getTime();
|
23 | console.log(`[${format(end)}] Finished '${fn.name}' after ${time} ms`);
|
24 | });
|
25 | }
|
26 |
|
27 |
|
28 | if (process.argv.length > 2) {
|
29 | delete require.cache[__filename];
|
30 | const taskName = process.argv[2];
|
31 | run(Tasks[taskName], process.argv[3]).catch(err => {
|
32 | console.error(err.stack);
|
33 | });
|
34 | }
|