piral-cli 0.15.0-beta.4751 → 0.15.0-beta.4756

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.getTokenInteractively = exports.promptConfirm = exports.promptSelect = void 0;
4
13
  const browser_1 = require("./browser");
@@ -43,21 +52,36 @@ function getTokenInteractively(url, httpsAgent) {
43
52
  headers: Object.assign(Object.assign({}, info_1.standardHeaders), { 'content-type': 'application/json' }),
44
53
  httpsAgent,
45
54
  })
46
- .then((res) => {
55
+ .then((res) => __awaiter(this, void 0, void 0, function* () {
47
56
  const { loginUrl, callbackUrl, expires } = res.data;
48
57
  const now = new Date();
49
58
  const then = new Date(expires);
50
59
  const diff = ~~((then.valueOf() - now.valueOf()) / (60 * 1000));
51
- console.log(`Use the URL below to complete the login. The link expires in ${diff} minutes (${then}).`);
52
- console.log('===');
53
- console.log(loginUrl);
54
- console.log('===');
60
+ (0, log_1.logInfo)(`Use the URL below to complete the login. The link expires in ${diff} minutes (${then}).`);
61
+ (0, log_1.logInfo)('===');
62
+ (0, log_1.logInfo)(loginUrl);
63
+ (0, log_1.logInfo)('===');
55
64
  (0, browser_1.openBrowserAt)(loginUrl);
56
- return external_1.axios.default
57
- .get(callbackUrl)
58
- .then(({ data }) => (Object.assign({}, data)))
59
- .finally(logResume);
60
- });
65
+ try {
66
+ while (true) {
67
+ const { data, status } = yield external_1.axios.default.get(callbackUrl);
68
+ if (status === 202) {
69
+ yield new Promise(resolve => setTimeout(resolve, 5000));
70
+ continue;
71
+ }
72
+ if (status === 200) {
73
+ return Object.assign({}, data);
74
+ }
75
+ throw new Error(`Could not get status from interactive login endpoint.`);
76
+ }
77
+ }
78
+ catch (ex) {
79
+ throw ex;
80
+ }
81
+ finally {
82
+ logResume();
83
+ }
84
+ }));
61
85
  }
62
86
  return tokenRetrievers[url];
63
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/common/interactive.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAC1C,iCAAyC;AACzC,+BAAmC;AACnC,0CAA8C;AAG9C,SAAgB,YAAY,CAAC,OAAe,EAAE,MAAqB,EAAE,YAAoB;IACvF,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,MAAM;YACf,OAAO;YACP,OAAO,EAAE,YAAY;SACtB;KACF,CAAC;IACF,OAAO,mBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAXD,oCAWC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,YAAqB;IAClE,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,SAAkB;YACxB,OAAO;YACP,OAAO,EAAE,YAAY;SACtB;KACF,CAAC;IACF,OAAO,mBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAVD,sCAUC;AAID,MAAM,eAAe,GAAgC,EAAE,CAAC;AAExD,SAAgB,qBAAqB,CAAC,GAAW,EAAE,UAAiB;IAClE,IAAI,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC;QAE/B,eAAe,CAAC,GAAG,CAAC,GAAG,gBAAK,CAAC,OAAO;aACjC,IAAI,CACH,GAAG,EACH;YACE,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,sEAAsE;SACpF,EACD;YACE,OAAO,kCACF,sBAAe,KAClB,cAAc,EAAE,kBAAkB,GACnC;YACD,UAAU;SACX,CACF;aACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAEhE,OAAO,CAAC,GAAG,CAAC,gEAAgE,IAAI,aAAa,IAAI,IAAI,CAAC,CAAC;YACvG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEnB,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC;YAExB,OAAO,gBAAK,CAAC,OAAO;iBACjB,GAAG,CAAC,WAAW,CAAC;iBAChB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,mBAAM,IAAI,EAAG,CAAC;iBACjC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;KACN;IAED,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAzCD,sDAyCC"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/common/interactive.ts"],"names":[],"mappings":"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"}
@@ -56876,9 +56876,9 @@ var require_asynckit = __commonJS({
56876
56876
  }
56877
56877
  });
56878
56878
 
56879
- // ../../../node_modules/form-data/lib/populate.js
56879
+ // node_modules/form-data/lib/populate.js
56880
56880
  var require_populate = __commonJS({
56881
- "../../../node_modules/form-data/lib/populate.js"(exports, module2) {
56881
+ "node_modules/form-data/lib/populate.js"(exports, module2) {
56882
56882
  module2.exports = function(dst, src) {
56883
56883
  Object.keys(src).forEach(function(prop) {
56884
56884
  dst[prop] = dst[prop] || src[prop];
@@ -56888,9 +56888,9 @@ var require_populate = __commonJS({
56888
56888
  }
56889
56889
  });
56890
56890
 
56891
- // ../../../node_modules/form-data/lib/form_data.js
56891
+ // node_modules/form-data/lib/form_data.js
56892
56892
  var require_form_data = __commonJS({
56893
- "../../../node_modules/form-data/lib/form_data.js"(exports, module2) {
56893
+ "node_modules/form-data/lib/form_data.js"(exports, module2) {
56894
56894
  var CombinedStream = require_combined_stream();
56895
56895
  var util = require("util");
56896
56896
  var path = require("path");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-cli",
3
- "version": "0.15.0-beta.4751",
3
+ "version": "0.15.0-beta.4756",
4
4
  "description": "The standard CLI for creating and building a Piral instance or a Pilet.",
5
5
  "keywords": [
6
6
  "portal",
@@ -80,5 +80,5 @@
80
80
  "typescript": "^4.7.3",
81
81
  "yargs": "^15.4.1"
82
82
  },
83
- "gitHead": "b919766c22a76e2e815815d8becf645e45a1aa96"
83
+ "gitHead": "ef910b00c2fca5f4df24f6e370bfda8e2ab7822e"
84
84
  }
@@ -1,7 +1,7 @@
1
1
  import { Agent } from 'https';
2
2
  import { openBrowserAt } from './browser';
3
3
  import { standardHeaders } from './info';
4
- import { logSuspend } from './log';
4
+ import { logSuspend, logInfo } from './log';
5
5
  import { axios, inquirer } from '../external';
6
6
  import { PiletPublishScheme } from '../types';
7
7
 
@@ -54,23 +54,39 @@ export function getTokenInteractively(url: string, httpsAgent: Agent): TokenResu
54
54
  httpsAgent,
55
55
  },
56
56
  )
57
- .then((res) => {
57
+ .then(async (res) => {
58
58
  const { loginUrl, callbackUrl, expires } = res.data;
59
59
  const now = new Date();
60
60
  const then = new Date(expires);
61
61
  const diff = ~~((then.valueOf() - now.valueOf()) / (60 * 1000));
62
62
 
63
- console.log(`Use the URL below to complete the login. The link expires in ${diff} minutes (${then}).`);
64
- console.log('===');
65
- console.log(loginUrl);
66
- console.log('===');
63
+ logInfo(`Use the URL below to complete the login. The link expires in ${diff} minutes (${then}).`);
64
+ logInfo('===');
65
+ logInfo(loginUrl);
66
+ logInfo('===');
67
67
 
68
68
  openBrowserAt(loginUrl);
69
69
 
70
- return axios.default
71
- .get(callbackUrl)
72
- .then(({ data }) => ({ ...data }))
73
- .finally(logResume);
70
+ try {
71
+ while (true) {
72
+ const { data, status } = await axios.default.get(callbackUrl);
73
+
74
+ if (status === 202) {
75
+ await new Promise(resolve => setTimeout(resolve, 5000));
76
+ continue;
77
+ }
78
+
79
+ if (status === 200) {
80
+ return { ...data };
81
+ }
82
+
83
+ throw new Error(`Could not get status from interactive login endpoint.`);
84
+ }
85
+ } catch (ex) {
86
+ throw ex;
87
+ } finally {
88
+ logResume();
89
+ }
74
90
  });
75
91
  }
76
92