chapa-cli 0.2.0 → 0.2.2
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.
- package/dist/index.js +17 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -314,14 +314,8 @@ function deleteConfig() {
|
|
|
314
314
|
|
|
315
315
|
// src/login.ts
|
|
316
316
|
import { randomUUID } from "crypto";
|
|
317
|
-
import { exec } from "child_process";
|
|
318
317
|
var POLL_INTERVAL_MS = 2e3;
|
|
319
318
|
var MAX_POLL_ATTEMPTS = 150;
|
|
320
|
-
function openBrowser(url) {
|
|
321
|
-
const cmd = process.platform === "win32" ? `start "" "${url}"` : process.platform === "darwin" ? `open "${url}"` : `xdg-open "${url}"`;
|
|
322
|
-
exec(cmd, () => {
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
319
|
function sleep(ms) {
|
|
326
320
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
327
321
|
}
|
|
@@ -329,20 +323,32 @@ async function login(serverUrl) {
|
|
|
329
323
|
const baseUrl = serverUrl.replace(/\/+$/, "");
|
|
330
324
|
const sessionId = randomUUID();
|
|
331
325
|
const authorizeUrl = `${baseUrl}/cli/authorize?session=${sessionId}`;
|
|
332
|
-
console.log("
|
|
333
|
-
console.log(`
|
|
326
|
+
console.log("\nOpen this URL in a browser where your personal GitHub account is logged in:");
|
|
327
|
+
console.log(`
|
|
334
328
|
${authorizeUrl}
|
|
335
329
|
`);
|
|
336
|
-
|
|
330
|
+
console.log("Tip: If your default browser has your work (EMU) account,");
|
|
331
|
+
console.log(" use a different browser or an incognito/private window.\n");
|
|
337
332
|
console.log("Waiting for approval...");
|
|
333
|
+
let serverErrorLogged = false;
|
|
338
334
|
for (let i = 0; i < MAX_POLL_ATTEMPTS; i++) {
|
|
339
335
|
await sleep(POLL_INTERVAL_MS);
|
|
336
|
+
if (i > 0 && i % 5 === 0) {
|
|
337
|
+
process.stdout.write(".");
|
|
338
|
+
}
|
|
340
339
|
let data = null;
|
|
341
340
|
try {
|
|
342
341
|
const res = await fetch(
|
|
343
342
|
`${baseUrl}/api/cli/auth/poll?session=${sessionId}`
|
|
344
343
|
);
|
|
345
|
-
if (!res.ok)
|
|
344
|
+
if (!res.ok) {
|
|
345
|
+
if (!serverErrorLogged) {
|
|
346
|
+
console.error(`
|
|
347
|
+
Server returned ${res.status}. Retrying...`);
|
|
348
|
+
serverErrorLogged = true;
|
|
349
|
+
}
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
346
352
|
data = await res.json();
|
|
347
353
|
} catch {
|
|
348
354
|
continue;
|
|
@@ -368,7 +374,7 @@ Logged in as ${data.handle}!`);
|
|
|
368
374
|
}
|
|
369
375
|
|
|
370
376
|
// src/index.ts
|
|
371
|
-
var VERSION = true ? "0.2.
|
|
377
|
+
var VERSION = true ? "0.2.2" : "0.0.0-dev";
|
|
372
378
|
var HELP_TEXT = `chapa-cli v${VERSION}
|
|
373
379
|
|
|
374
380
|
Merge GitHub EMU (Enterprise Managed User) contributions into your Chapa badge.
|