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.
Files changed (2) hide show
  1. package/dist/index.js +17 -11
  2. 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("Opening browser for authentication...");
333
- console.log(`If your browser didn't open, visit:
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
- openBrowser(authorizeUrl);
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) continue;
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.0" : "0.0.0-dev";
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chapa-cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Merge GitHub EMU contributions into your Chapa developer impact badge",
5
5
  "type": "module",
6
6
  "bin": {