UNPKG

3.3 kBJavaScriptView Raw
1'use strict';
2
3var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
4
5var _commander = require('commander');
6
7var _commander2 = _interopRequireDefault(_commander);
8
9var _chalk = require('chalk');
10
11var _chalk2 = _interopRequireDefault(_chalk);
12
13var _updateNotifier = require('update-notifier');
14
15var _updateNotifier2 = _interopRequireDefault(_updateNotifier);
16
17var _errorReporter = require('./errorReporter');
18
19var _errorReporter2 = _interopRequireDefault(_errorReporter);
20
21var _package = require('../package.json');
22
23var _package2 = _interopRequireDefault(_package);
24
25var _upload = require('./upload');
26
27var _upload2 = _interopRequireDefault(_upload);
28
29var _display = require('./display');
30
31function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
33function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } /* eslint-disable no-console */
34
35(0, _updateNotifier2.default)({ pkg: _package2.default }).notify();
36(0, _errorReporter.initializeErrorReporter)();
37
38if (process.env.NODE_ENV !== 'production') {
39 process.on('exit', code => {
40 console.info(`exit code: ${code}`);
41 });
42}
43
44const list = value => value.split(',');
45
46_commander2.default.version(_package2.default.version).command('upload <directory>').description('Upload screenshots').option('-C, --commit <commit>', 'Git commit').option('-B, --branch <branch>', 'Git branch').option('-T, --token <token>', 'Repository token').option('--ignore <list>', 'List of glob files to ignore (ex: "**/*.png,**/diff.jpg")', list).action((() => {
47 var _ref = _asyncToGenerator(function* (directory, command) {
48 console.log(`=== argos-cli: uploading '${directory}' directory...\n`);
49
50 let json;
51
52 try {
53 const res = yield (0, _upload2.default)(_extends({
54 directory
55 }, command));
56 json = yield res.json();
57
58 if (json.error) {
59 throw new _upload.UploadError(json.error.message);
60 }
61 } catch (error) {
62 (0, _display.displayError)('Sorry an error happened:');
63
64 if (error instanceof _upload.UploadError) {
65 console.error(_chalk2.default.bold.red(error.message));
66 } else {
67 _errorReporter2.default.captureException(error);
68 console.error(_chalk2.default.bold.red(error.message));
69 console.error(_chalk2.default.bold.red(error.stack));
70 }
71
72 process.exit(1);
73 }
74
75 (0, _display.displaySuccess)('Upload complete!');
76 console.log(_chalk2.default.green(`build created id: ${json.build.id}`));
77 });
78
79 return function (_x, _x2) {
80 return _ref.apply(this, arguments);
81 };
82})());
83
84if (!process.argv.slice(2).length) {
85 _commander2.default.outputHelp();
86} else {
87 _commander2.default.parse(process.argv);
88}
\No newline at end of file