1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _promise;
|
8 |
|
9 | function _load_promise() {
|
10 | return _promise = _interopRequireDefault(require('babel-runtime/core-js/promise'));
|
11 | }
|
12 |
|
13 | var _toConsumableArray2;
|
14 |
|
15 | function _load_toConsumableArray() {
|
16 | return _toConsumableArray2 = _interopRequireDefault(require('babel-runtime/helpers/toConsumableArray'));
|
17 | }
|
18 |
|
19 | var _getIterator2;
|
20 |
|
21 | function _load_getIterator() {
|
22 | return _getIterator2 = _interopRequireDefault(require('babel-runtime/core-js/get-iterator'));
|
23 | }
|
24 |
|
25 | var _regenerator;
|
26 |
|
27 | function _load_regenerator() {
|
28 | return _regenerator = _interopRequireDefault(require('babel-runtime/regenerator'));
|
29 | }
|
30 |
|
31 | var _asyncToGenerator2;
|
32 |
|
33 | function _load_asyncToGenerator() {
|
34 | return _asyncToGenerator2 = _interopRequireDefault(require('babel-runtime/helpers/asyncToGenerator'));
|
35 | }
|
36 |
|
37 | var checkForUpdateAsync = function () {
|
38 | var _ref3 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)( (_regenerator || _load_regenerator()).default.mark(function _callee3() {
|
39 | var _ref4, state, current, latest, message;
|
40 |
|
41 | return (_regenerator || _load_regenerator()).default.wrap(function _callee3$(_context3) {
|
42 | while (1) {
|
43 | switch (_context3.prev = _context3.next) {
|
44 | case 0:
|
45 | _context3.next = 2;
|
46 | return (_update || _load_update()).default.checkForUpdateAsync();
|
47 |
|
48 | case 2:
|
49 | _ref4 = _context3.sent;
|
50 | state = _ref4.state;
|
51 | current = _ref4.current;
|
52 | latest = _ref4.latest;
|
53 | message = void 0;
|
54 | _context3.t0 = state;
|
55 | _context3.next = _context3.t0 === 'up-to-date' ? 10 : _context3.t0 === 'out-of-date' ? 11 : _context3.t0 === 'ahead-of-published' ? 14 : 15;
|
56 | break;
|
57 |
|
58 | case 10:
|
59 | return _context3.abrupt('break', 15);
|
60 |
|
61 | case 11:
|
62 | message = 'There is a new version of ' + (_package || _load_package()).default.name + ' available (' + latest + ').\nYou are currently using ' + (_package || _load_package()).default.name + ' ' + current + '\nRun `npm install -g ' + (_package || _load_package()).default.name + '` to get the latest version';
|
63 | (_log || _load_log()).default.error((_chalk || _load_chalk()).default.green(message));
|
64 | return _context3.abrupt('break', 15);
|
65 |
|
66 | case 14:
|
67 | return _context3.abrupt('break', 15);
|
68 |
|
69 | case 15:
|
70 | case 'end':
|
71 | return _context3.stop();
|
72 | }
|
73 | }
|
74 | }, _callee3, this);
|
75 | }));
|
76 |
|
77 | return function checkForUpdateAsync() {
|
78 | return _ref3.apply(this, arguments);
|
79 | };
|
80 | }();
|
81 |
|
82 | var writePathAsync = function () {
|
83 | var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)( (_regenerator || _load_regenerator()).default.mark(function _callee4() {
|
84 | var subCommand;
|
85 | return (_regenerator || _load_regenerator()).default.wrap(function _callee4$(_context4) {
|
86 | while (1) {
|
87 | switch (_context4.prev = _context4.next) {
|
88 | case 0:
|
89 | subCommand = process.argv[2];
|
90 |
|
91 | if (!(subCommand === 'prepare-detached-build')) {
|
92 | _context4.next = 3;
|
93 | break;
|
94 | }
|
95 |
|
96 | return _context4.abrupt('return');
|
97 |
|
98 | case 3:
|
99 | _context4.next = 5;
|
100 | return (_xdl || _load_xdl()).Binaries.writePathToUserSettingsAsync();
|
101 |
|
102 | case 5:
|
103 | case 'end':
|
104 | return _context4.stop();
|
105 | }
|
106 | }
|
107 | }, _callee4, this);
|
108 | }));
|
109 |
|
110 | return function writePathAsync() {
|
111 | return _ref5.apply(this, arguments);
|
112 | };
|
113 | }();
|
114 |
|
115 |
|
116 |
|
117 |
|
118 | exports.run = run;
|
119 |
|
120 | var _progress;
|
121 |
|
122 | function _load_progress() {
|
123 | return _progress = _interopRequireDefault(require('progress'));
|
124 | }
|
125 |
|
126 | var _lodash;
|
127 |
|
128 | function _load_lodash() {
|
129 | return _lodash = _interopRequireDefault(require('lodash'));
|
130 | }
|
131 |
|
132 | var _bunyan;
|
133 |
|
134 | function _load_bunyan() {
|
135 | return _bunyan = _interopRequireDefault(require('@expo/bunyan'));
|
136 | }
|
137 |
|
138 | var _chalk;
|
139 |
|
140 | function _load_chalk() {
|
141 | return _chalk = _interopRequireDefault(require('chalk'));
|
142 | }
|
143 |
|
144 | var _glob;
|
145 |
|
146 | function _load_glob() {
|
147 | return _glob = _interopRequireDefault(require('glob'));
|
148 | }
|
149 |
|
150 | var _fs = _interopRequireDefault(require('fs'));
|
151 |
|
152 | var _path = _interopRequireDefault(require('path'));
|
153 |
|
154 | var _simpleSpinner;
|
155 |
|
156 | function _load_simpleSpinner() {
|
157 | return _simpleSpinner = _interopRequireDefault(require('@expo/simple-spinner'));
|
158 | }
|
159 |
|
160 | var _url = _interopRequireDefault(require('url'));
|
161 |
|
162 | var _codeFrame;
|
163 |
|
164 | function _load_codeFrame() {
|
165 | return _codeFrame = require('@babel/code-frame');
|
166 | }
|
167 |
|
168 | var _commander;
|
169 |
|
170 | function _load_commander() {
|
171 | return _commander = _interopRequireDefault(require('commander'));
|
172 | }
|
173 |
|
174 | var _commander2;
|
175 |
|
176 | function _load_commander2() {
|
177 | return _commander2 = require('commander');
|
178 | }
|
179 |
|
180 | var _xdl;
|
181 |
|
182 | function _load_xdl() {
|
183 | return _xdl = require('xdl');
|
184 | }
|
185 |
|
186 | var _accounts;
|
187 |
|
188 | function _load_accounts() {
|
189 | return _accounts = require('./accounts');
|
190 | }
|
191 |
|
192 | var _log;
|
193 |
|
194 | function _load_log() {
|
195 | return _log = _interopRequireDefault(require('./log'));
|
196 | }
|
197 |
|
198 | var _update;
|
199 |
|
200 | function _load_update() {
|
201 | return _update = _interopRequireDefault(require('./update'));
|
202 | }
|
203 |
|
204 | var _urlOpts;
|
205 |
|
206 | function _load_urlOpts() {
|
207 | return _urlOpts = _interopRequireDefault(require('./urlOpts'));
|
208 | }
|
209 |
|
210 | var _commonOptions;
|
211 |
|
212 | function _load_commonOptions() {
|
213 | return _commonOptions = _interopRequireDefault(require('./commonOptions'));
|
214 | }
|
215 |
|
216 | var _package;
|
217 |
|
218 | function _load_package() {
|
219 | return _package = _interopRequireDefault(require('../package.json'));
|
220 | }
|
221 |
|
222 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
223 |
|
224 | if (process.env.NODE_ENV === 'development') {
|
225 | require('source-map-support').install();
|
226 | }
|
227 |
|
228 |
|
229 |
|
230 | (_commander2 || _load_commander2()).Command.prototype.urlOpts = function () {
|
231 | (_urlOpts || _load_urlOpts()).default.addOptions(this);
|
232 | return this;
|
233 | };
|
234 |
|
235 | (_commander2 || _load_commander2()).Command.prototype.allowOffline = function () {
|
236 | this.option('--offline', 'Allows this command to run while offline');
|
237 | return this;
|
238 | };
|
239 |
|
240 |
|
241 |
|
242 | (_commander2 || _load_commander2()).Command.prototype.asyncAction = function (asyncFn, skipUpdateCheck) {
|
243 | var _this = this;
|
244 |
|
245 | (0, (_commonOptions || _load_commonOptions()).default)(this);
|
246 | return this.action(function () {
|
247 | var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)( (_regenerator || _load_regenerator()).default.mark(function _callee() {
|
248 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
249 | args[_key] = arguments[_key];
|
250 | }
|
251 |
|
252 | var options;
|
253 | return (_regenerator || _load_regenerator()).default.wrap(function _callee$(_context) {
|
254 | while (1) {
|
255 | switch (_context.prev = _context.next) {
|
256 | case 0:
|
257 | if (skipUpdateCheck) {
|
258 | _context.next = 8;
|
259 | break;
|
260 | }
|
261 |
|
262 | _context.prev = 1;
|
263 | _context.next = 4;
|
264 | return checkForUpdateAsync();
|
265 |
|
266 | case 4:
|
267 | _context.next = 8;
|
268 | break;
|
269 |
|
270 | case 6:
|
271 | _context.prev = 6;
|
272 | _context.t0 = _context['catch'](1);
|
273 |
|
274 | case 8:
|
275 | _context.prev = 8;
|
276 | options = (_lodash || _load_lodash()).default.last(args);
|
277 |
|
278 | if (options.output === 'raw') {
|
279 | (_log || _load_log()).default.config.raw = true;
|
280 | }
|
281 | if (options.offline) {
|
282 | (_xdl || _load_xdl()).Config.offline = true;
|
283 | }
|
284 | _context.next = 14;
|
285 | return asyncFn.apply(undefined, args);
|
286 |
|
287 | case 14:
|
288 |
|
289 |
|
290 | (_xdl || _load_xdl()).Analytics.flush();
|
291 | _context.next = 21;
|
292 | break;
|
293 |
|
294 | case 17:
|
295 | _context.prev = 17;
|
296 | _context.t1 = _context['catch'](8);
|
297 |
|
298 |
|
299 | if (_context.t1._isCommandError) {
|
300 | (_log || _load_log()).default.error(_context.t1.message);
|
301 | } else if (_context.t1._isApiError) {
|
302 | (_log || _load_log()).default.error((_chalk || _load_chalk()).default.red(_context.t1.message));
|
303 | } else if (_context.t1.isXDLError) {
|
304 | (_log || _load_log()).default.error(_context.t1.message);
|
305 | } else {
|
306 | (_log || _load_log()).default.error(_context.t1.message);
|
307 |
|
308 | if (process.env.EXPO_DEBUG) {
|
309 | (_log || _load_log()).default.error((_chalk || _load_chalk()).default.gray(_context.t1.stack));
|
310 | } else {
|
311 | (_log || _load_log()).default.error((_chalk || _load_chalk()).default.grey('Set EXPO_DEBUG=true in your env to view the stack trace.'));
|
312 | }
|
313 | }
|
314 |
|
315 | process.exit(1);
|
316 |
|
317 | case 21:
|
318 | case 'end':
|
319 | return _context.stop();
|
320 | }
|
321 | }
|
322 | }, _callee, _this, [[1, 6], [8, 17]]);
|
323 | }));
|
324 |
|
325 | return function () {
|
326 | return _ref.apply(this, arguments);
|
327 | };
|
328 | }());
|
329 | };
|
330 |
|
331 |
|
332 |
|
333 |
|
334 |
|
335 |
|
336 |
|
337 |
|
338 |
|
339 |
|
340 |
|
341 | (_commander2 || _load_commander2()).Command.prototype.asyncActionProjectDir = function (asyncFn, skipProjectValidation, skipAuthCheck) {
|
342 | var _this2 = this;
|
343 |
|
344 | return this.asyncAction(function () {
|
345 | var _ref2 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)( (_regenerator || _load_regenerator()).default.mark(function _callee2(projectDir) {
|
346 | for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
347 | args[_key2 - 1] = arguments[_key2];
|
348 | }
|
349 |
|
350 | var opts, pathToConfig, logLines, logStackTrace, logWithLevel, bar, packagerLogsStream, status;
|
351 | return (_regenerator || _load_regenerator()).default.wrap(function _callee2$(_context2) {
|
352 | while (1) {
|
353 | switch (_context2.prev = _context2.next) {
|
354 | case 0:
|
355 | opts = args[0];
|
356 |
|
357 | if (!(!skipAuthCheck && !opts.parent.nonInteractive && !opts.offline)) {
|
358 | _context2.next = 4;
|
359 | break;
|
360 | }
|
361 |
|
362 | _context2.next = 4;
|
363 | return (0, (_accounts || _load_accounts()).loginOrRegisterIfLoggedOut)();
|
364 |
|
365 | case 4:
|
366 | if (skipAuthCheck) {
|
367 | _context2.next = 7;
|
368 | break;
|
369 | }
|
370 |
|
371 | _context2.next = 7;
|
372 | return (_xdl || _load_xdl()).User.ensureLoggedInAsync();
|
373 |
|
374 | case 7:
|
375 |
|
376 | if (!projectDir) {
|
377 | projectDir = process.cwd();
|
378 | } else {
|
379 | projectDir = _path.default.resolve(process.cwd(), projectDir);
|
380 | }
|
381 |
|
382 | if (!opts.config) {
|
383 | _context2.next = 13;
|
384 | break;
|
385 | }
|
386 |
|
387 | pathToConfig = _path.default.resolve(process.cwd(), opts.config);
|
388 |
|
389 | if (_fs.default.existsSync(pathToConfig)) {
|
390 | _context2.next = 12;
|
391 | break;
|
392 | }
|
393 |
|
394 | throw new Error('File at provide config path does not exist: ' + pathToConfig);
|
395 |
|
396 | case 12:
|
397 | (_xdl || _load_xdl()).ProjectUtils.setCustomConfigPath(projectDir, pathToConfig);
|
398 |
|
399 | case 13:
|
400 | logLines = function logLines(msg, logFn) {
|
401 | if (typeof msg === 'string') {
|
402 | var _iteratorNormalCompletion = true;
|
403 | var _didIteratorError = false;
|
404 | var _iteratorError = undefined;
|
405 |
|
406 | try {
|
407 | for (var _iterator = (0, (_getIterator2 || _load_getIterator()).default)(msg.split('\n')), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
408 | var line = _step.value;
|
409 |
|
410 | logFn(line);
|
411 | }
|
412 | } catch (err) {
|
413 | _didIteratorError = true;
|
414 | _iteratorError = err;
|
415 | } finally {
|
416 | try {
|
417 | if (!_iteratorNormalCompletion && _iterator.return) {
|
418 | _iterator.return();
|
419 | }
|
420 | } finally {
|
421 | if (_didIteratorError) {
|
422 | throw _iteratorError;
|
423 | }
|
424 | }
|
425 | }
|
426 | } else {
|
427 | logFn(msg);
|
428 | }
|
429 | };
|
430 |
|
431 | logStackTrace = function logStackTrace(chunk, logFn, nestedLogFn) {
|
432 | var traceInfo = void 0;
|
433 | try {
|
434 | traceInfo = JSON.parse(chunk.msg);
|
435 | } catch (e) {
|
436 | return logFn(chunk.msg);
|
437 | }
|
438 |
|
439 | var _traceInfo = traceInfo,
|
440 | message = _traceInfo.message,
|
441 | stack = _traceInfo.stack;
|
442 |
|
443 | (_log || _load_log()).default.addNewLineIfNone();
|
444 | logFn((_chalk || _load_chalk()).default.bold(message));
|
445 |
|
446 | var isLibraryFrame = function isLibraryFrame(line) {
|
447 | return line.startsWith('node_modules');
|
448 | };
|
449 |
|
450 | var stackFrames = (_lodash || _load_lodash()).default.compact(stack.split('\n'));
|
451 | var lastAppCodeFrameIndex = (_lodash || _load_lodash()).default.findLastIndex(stackFrames, function (line) {
|
452 | return !isLibraryFrame(line);
|
453 | });
|
454 | var lastFrameIndexToLog = Math.min(stackFrames.length - 1, lastAppCodeFrameIndex + 2
|
455 | );
|
456 | var unloggedFrames = stackFrames.length - lastFrameIndexToLog;
|
457 |
|
458 |
|
459 | if (unloggedFrames === 1) {
|
460 | lastFrameIndexToLog = stackFrames.length - 1;
|
461 | unloggedFrames = 0;
|
462 | }
|
463 |
|
464 | for (var i = 0; i <= lastFrameIndexToLog; i++) {
|
465 | var line = stackFrames[i];
|
466 | if (!line) {
|
467 | continue;
|
468 | } else if (line.match(/react-native\/.*YellowBox.js/)) {
|
469 | continue;
|
470 | }
|
471 |
|
472 | if (line.startsWith('node_modules')) {
|
473 | nestedLogFn('- ' + line);
|
474 | } else {
|
475 | nestedLogFn('* ' + line);
|
476 | }
|
477 | }
|
478 |
|
479 | if (unloggedFrames > 0) {
|
480 | nestedLogFn('- ... ' + unloggedFrames + ' more stack frames from framework internals');
|
481 | }
|
482 |
|
483 | (_log || _load_log()).default.printNewLineBeforeNextLog();
|
484 | };
|
485 |
|
486 | logWithLevel = function logWithLevel(chunk) {
|
487 | if (!chunk.msg) {
|
488 | return;
|
489 | }
|
490 | if (chunk.level <= (_bunyan || _load_bunyan()).default.INFO) {
|
491 | if (chunk.includesStack) {
|
492 | logStackTrace(chunk, (_log || _load_log()).default, (_log || _load_log()).default.nested);
|
493 | } else {
|
494 | logLines(chunk.msg, (_log || _load_log()).default);
|
495 | }
|
496 | } else if (chunk.level === (_bunyan || _load_bunyan()).default.WARN) {
|
497 | if (chunk.includesStack) {
|
498 | logStackTrace(chunk, (_log || _load_log()).default.warn, (_log || _load_log()).default.nestedWarn);
|
499 | } else {
|
500 | logLines(chunk.msg, (_log || _load_log()).default.warn);
|
501 | }
|
502 | } else {
|
503 | if (chunk.includesStack) {
|
504 | logStackTrace(chunk, (_log || _load_log()).default.error, (_log || _load_log()).default.nestedError);
|
505 | } else {
|
506 | logLines(chunk.msg, (_log || _load_log()).default.error);
|
507 | }
|
508 | }
|
509 | };
|
510 |
|
511 | bar = void 0;
|
512 | packagerLogsStream = new (_xdl || _load_xdl()).PackagerLogsStream({
|
513 | projectRoot: projectDir,
|
514 | onStartBuildBundle: function onStartBuildBundle() {
|
515 | bar = new (_progress || _load_progress()).default('Building JavaScript bundle [:bar] :percent', {
|
516 | total: 100,
|
517 | clear: true,
|
518 | complete: '=',
|
519 | incomplete: ' '
|
520 | });
|
521 |
|
522 | (_log || _load_log()).default.setBundleProgressBar(bar);
|
523 | },
|
524 | onProgressBuildBundle: function onProgressBuildBundle(percent) {
|
525 | if (!bar || bar.complete) return;
|
526 | var ticks = percent - bar.curr;
|
527 | ticks > 0 && bar.tick(ticks);
|
528 | },
|
529 | onFinishBuildBundle: function onFinishBuildBundle(err, startTime, endTime) {
|
530 | if (bar && !bar.complete) {
|
531 | bar.tick(100 - bar.curr);
|
532 | }
|
533 |
|
534 | if (bar) {
|
535 | (_log || _load_log()).default.setBundleProgressBar(null);
|
536 | bar = null;
|
537 |
|
538 | if (err) {
|
539 | (0, (_log || _load_log()).default)((_chalk || _load_chalk()).default.red('Failed building JavaScript bundle.'));
|
540 | } else {
|
541 | (0, (_log || _load_log()).default)((_chalk || _load_chalk()).default.green('Finished building JavaScript bundle in ' + (endTime - startTime) + 'ms.'));
|
542 | }
|
543 | }
|
544 | },
|
545 | updateLogs: function updateLogs(updater) {
|
546 | var newLogChunks = updater([]);
|
547 | newLogChunks.forEach(function (newLogChunk) {
|
548 | logWithLevel(newLogChunk);
|
549 | });
|
550 | },
|
551 | getSnippetForError: function getSnippetForError(error) {
|
552 | if (!error.filename || !error.lineNumber || !error.column) {
|
553 | return null;
|
554 | }
|
555 | var rawLines = _fs.default.readFileSync(error.filename, 'utf8');
|
556 | var location = { start: { line: error.lineNumber, column: error.column + 1 } };
|
557 | return (0, (_codeFrame || _load_codeFrame()).codeFrameColumns)(rawLines, location, {
|
558 | highlightCode: true
|
559 | });
|
560 | }
|
561 | });
|
562 |
|
563 |
|
564 |
|
565 | (_xdl || _load_xdl()).ProjectUtils.attachLoggerStream(projectDir, {
|
566 | stream: {
|
567 | write: function write(chunk) {
|
568 | if (chunk.tag === 'device') {
|
569 | logWithLevel(chunk);
|
570 | }
|
571 | }
|
572 | },
|
573 | type: 'raw'
|
574 | });
|
575 |
|
576 |
|
577 |
|
578 |
|
579 |
|
580 |
|
581 |
|
582 |
|
583 | _context2.t0 = !skipProjectValidation;
|
584 |
|
585 | if (!_context2.t0) {
|
586 | _context2.next = 25;
|
587 | break;
|
588 | }
|
589 |
|
590 | _context2.next = 23;
|
591 | return (_xdl || _load_xdl()).Project.currentStatus(projectDir);
|
592 |
|
593 | case 23:
|
594 | _context2.t1 = _context2.sent;
|
595 | _context2.t0 = _context2.t1 !== 'running';
|
596 |
|
597 | case 25:
|
598 | if (!_context2.t0) {
|
599 | _context2.next = 35;
|
600 | break;
|
601 | }
|
602 |
|
603 | (0, (_log || _load_log()).default)('Making sure project is set up correctly...');
|
604 | (_simpleSpinner || _load_simpleSpinner()).default.start();
|
605 |
|
606 |
|
607 | _context2.next = 30;
|
608 | return (_xdl || _load_xdl()).Doctor.validateLowLatencyAsync(projectDir);
|
609 |
|
610 | case 30:
|
611 | status = _context2.sent;
|
612 |
|
613 | if (!(status === (_xdl || _load_xdl()).Doctor.FATAL)) {
|
614 | _context2.next = 33;
|
615 | break;
|
616 | }
|
617 |
|
618 | throw new Error('There is an error with your project. See above logs for information.');
|
619 |
|
620 | case 33:
|
621 | (_simpleSpinner || _load_simpleSpinner()).default.stop();
|
622 | (0, (_log || _load_log()).default)('Your project looks good!');
|
623 |
|
624 | case 35:
|
625 | return _context2.abrupt('return', asyncFn.apply(undefined, [projectDir].concat(args)));
|
626 |
|
627 | case 36:
|
628 | case 'end':
|
629 | return _context2.stop();
|
630 | }
|
631 | }
|
632 | }, _callee2, _this2);
|
633 | }));
|
634 |
|
635 | return function (_x) {
|
636 | return _ref2.apply(this, arguments);
|
637 | };
|
638 | }());
|
639 | };
|
640 |
|
641 | function runAsync(programName) {
|
642 | try {
|
643 |
|
644 | (_xdl || _load_xdl()).Analytics.setSegmentNodeKey('vGu92cdmVaggGA26s3lBX6Y5fILm8SQ7');
|
645 | (_xdl || _load_xdl()).Analytics.setVersionName((_package || _load_package()).default.version);
|
646 | _registerLogs();
|
647 |
|
648 | if (process.env.SERVER_URL) {
|
649 | var serverUrl = process.env.SERVER_URL;
|
650 | if (!serverUrl.startsWith('http')) {
|
651 | serverUrl = 'http://' + serverUrl;
|
652 | }
|
653 | var parsedUrl = _url.default.parse(serverUrl);
|
654 | (_xdl || _load_xdl()).Config.api.host = parsedUrl.hostname;
|
655 | (_xdl || _load_xdl()).Config.api.port = parsedUrl.port;
|
656 | }
|
657 |
|
658 | (_xdl || _load_xdl()).Config.developerTool = (_package || _load_package()).default.name;
|
659 |
|
660 |
|
661 | (_commander || _load_commander()).default.name = programName;
|
662 | (_commander || _load_commander()).default.version((_package || _load_package()).default.version).option('-o, --output [format]', 'Output format. pretty (default), raw').option('--non-interactive', 'Fail, if an interactive prompt would be required to continue. Enabled by default if stdin is not a TTY.');
|
663 |
|
664 |
|
665 | var files = (_lodash || _load_lodash()).default.uniqBy([].concat((0, (_toConsumableArray2 || _load_toConsumableArray()).default)(programName === 'exp' ? (_glob || _load_glob()).default.sync('exp_commands/*.js', { cwd: __dirname }) : (_glob || _load_glob()).default.sync('expo_commands/*.js', { cwd: __dirname })), (0, (_toConsumableArray2 || _load_toConsumableArray()).default)((_glob || _load_glob()).default.sync('commands/*.js', { cwd: __dirname }))), _path.default.basename);
|
666 | (_lodash || _load_lodash()).default.sortBy(files, _path.default.basename).forEach(function (file) {
|
667 | var commandModule = require('./' + file);
|
668 | if (typeof commandModule === 'function') {
|
669 | commandModule((_commander || _load_commander()).default);
|
670 | } else if (typeof commandModule.default === 'function') {
|
671 | commandModule.default((_commander || _load_commander()).default);
|
672 | } else {
|
673 | (_log || _load_log()).default.error('\'' + file + '.js\' is not a properly formatted command.');
|
674 | }
|
675 | });
|
676 |
|
677 | if (process.env.EXPO_DEBUG) {
|
678 | (_glob || _load_glob()).default.sync('debug_commands/*.js', {
|
679 | cwd: __dirname
|
680 | }).forEach(function (file) {
|
681 | require('./' + file)((_commander || _load_commander()).default);
|
682 | });
|
683 | }
|
684 |
|
685 | var subCommand = process.argv[2];
|
686 | var argv = process.argv.filter(function (arg) {
|
687 |
|
688 | if (subCommand === 'login' && arg === '--github') {
|
689 | (_log || _load_log()).default.nestedWarn('GitHub login is not currently available.\nPlease log in with your Expo account.');
|
690 | return false;
|
691 | }
|
692 | if (subCommand === 'register' && arg === '--github') {
|
693 | (_log || _load_log()).default.nestedWarn('GitHub sign up is not currently available.');
|
694 | return false;
|
695 | }
|
696 | return true;
|
697 | });
|
698 | (_commander || _load_commander()).default.parse(argv);
|
699 |
|
700 | if (typeof (_commander || _load_commander()).default.nonInteractive === 'undefined') {
|
701 |
|
702 | (_commander || _load_commander()).default.nonInteractive = !process.stdin.isTTY;
|
703 | }
|
704 |
|
705 |
|
706 | if (subCommand) {
|
707 | var commands = [];
|
708 | (_commander || _load_commander()).default.commands.forEach(function (command) {
|
709 | commands.push(command['_name']);
|
710 | var alias = command['_alias'];
|
711 | if (alias) {
|
712 | commands.push(alias);
|
713 | }
|
714 | });
|
715 | if (!(_lodash || _load_lodash()).default.includes(commands, subCommand)) {
|
716 | console.log('"' + subCommand + '" is not an ' + programName + ' command. See "' + programName + ' --help" for the full list of commands.');
|
717 | }
|
718 | } else {
|
719 | (_commander || _load_commander()).default.help();
|
720 | }
|
721 | } catch (e) {
|
722 | console.error(e);
|
723 | throw e;
|
724 | }
|
725 | }
|
726 |
|
727 | function _registerLogs() {
|
728 | var stream = {
|
729 | stream: {
|
730 | write: function write(chunk) {
|
731 | if (chunk.code) {
|
732 | switch (chunk.code) {
|
733 | case (_xdl || _load_xdl()).NotificationCode.START_LOADING:
|
734 | (_simpleSpinner || _load_simpleSpinner()).default.start();
|
735 | return;
|
736 | case (_xdl || _load_xdl()).NotificationCode.STOP_LOADING:
|
737 | (_simpleSpinner || _load_simpleSpinner()).default.stop();
|
738 | return;
|
739 | case (_xdl || _load_xdl()).NotificationCode.DOWNLOAD_CLI_PROGRESS:
|
740 | return;
|
741 | }
|
742 | }
|
743 |
|
744 | if (chunk.level === (_bunyan || _load_bunyan()).default.INFO) {
|
745 | (0, (_log || _load_log()).default)(chunk.msg);
|
746 | } else if (chunk.level === (_bunyan || _load_bunyan()).default.WARN) {
|
747 | (_log || _load_log()).default.warn(chunk.msg);
|
748 | } else if (chunk.level >= (_bunyan || _load_bunyan()).default.ERROR) {
|
749 | (_log || _load_log()).default.error(chunk.msg);
|
750 | }
|
751 | }
|
752 | },
|
753 | type: 'raw'
|
754 | };
|
755 |
|
756 | (_xdl || _load_xdl()).Logger.notifications.addStream(stream);
|
757 | (_xdl || _load_xdl()).Logger.global.addStream(stream);
|
758 | }
|
759 |
|
760 | function run(programName) {
|
761 | (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)( (_regenerator || _load_regenerator()).default.mark(function _callee5() {
|
762 | return (_regenerator || _load_regenerator()).default.wrap(function _callee5$(_context5) {
|
763 | while (1) {
|
764 | switch (_context5.prev = _context5.next) {
|
765 | case 0:
|
766 | _context5.next = 2;
|
767 | return (_promise || _load_promise()).default.all([writePathAsync(), runAsync(programName)]);
|
768 |
|
769 | case 2:
|
770 | case 'end':
|
771 | return _context5.stop();
|
772 | }
|
773 | }
|
774 | }, _callee5, this);
|
775 | }))().catch(function (e) {
|
776 | console.error('Uncaught Error', e);
|
777 | process.exit(1);
|
778 | });
|
779 | }
|
780 |
|