Skip to content

Commit 6d974a0

Browse files
committed
Indicate upload and deployment stages, closes #163
1 parent 81f6059 commit 6d974a0

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

src/commands/deploy.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,20 @@ const formatServices = require('../util/formatServices');
1717

1818
const defaultIgnores = ['.git', 'node_modules', '.exoframeignore'];
1919

20-
const streamToResponse = ({tarStream, remoteUrl, options, verbose}) =>
20+
const streamToResponse = ({tarStream, remoteUrl, options, verbose, handleUpload, handleDownload}) =>
2121
new Promise((resolve, reject) => {
2222
// store error and result
2323
let error;
2424
let result = {};
2525
// pipe stream to remote
26-
const stream = _(tarStream.pipe(got.stream.post(remoteUrl, options)))
26+
const stream = _(
27+
tarStream.pipe(
28+
got.stream
29+
.post(remoteUrl, options)
30+
.on('uploadProgress', handleUpload)
31+
.on('downloadProgress', handleDownload)
32+
)
33+
)
2734
.split()
2835
.filter(l => l && l.length);
2936
// store output
@@ -188,14 +195,20 @@ exports.handler = async (args = {}) => {
188195

189196
// pipe stream to remote
190197
try {
191-
const res = await streamToResponse({tarStream, remoteUrl, options, verbose});
198+
const handleUpload = () => {
199+
spinner.text = `Uploading project..`;
200+
};
201+
const handleDownload = () => {
202+
spinner.text = 'Project uploaded! Waiting for deployment..';
203+
};
204+
const res = await streamToResponse({tarStream, remoteUrl, options, verbose, handleUpload, handleDownload});
192205
// check deployments
193206
if (!res.deployments || !res.deployments.length) {
194207
const err = new Error('Something went wrong!');
195208
err.response = res;
196209
throw err;
197210
}
198-
spinner && spinner.succeed('Upload finished!');
211+
spinner && spinner.succeed('Deployment finished!');
199212

200213
// log response in verbose-verbose mode
201214
verbose > 2 && console.log(chalk.gray('Server response:'), JSON.stringify(res, null, 2), '\n');

0 commit comments

Comments
 (0)