@sitepong/fastnode 0.3.0 → 0.3.1

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 (64) hide show
  1. package/README.md +6 -0
  2. package/dist/actions/index.cjs +80 -0
  3. package/dist/actions/index.cjs.map +1 -1
  4. package/dist/actions/index.mjs +81 -1
  5. package/dist/actions/index.mjs.map +1 -1
  6. package/dist/cert/index.d.cts +3 -3
  7. package/dist/cert/index.d.ts +3 -3
  8. package/dist/{cert-RvXmdMke.d.ts → cert-ClacRx9y.d.ts} +1 -1
  9. package/dist/{cert-eOoxGMN1.d.cts → cert-DffLKURp.d.cts} +1 -1
  10. package/dist/cli/index.cjs +115 -28
  11. package/dist/cli/index.cjs.map +1 -1
  12. package/dist/cli/index.d.cts +1 -1
  13. package/dist/cli/index.d.ts +1 -1
  14. package/dist/cli/index.mjs +116 -29
  15. package/dist/cli/index.mjs.map +1 -1
  16. package/dist/client/index.cjs +76 -0
  17. package/dist/client/index.cjs.map +1 -1
  18. package/dist/client/index.d.cts +1 -1
  19. package/dist/client/index.d.ts +1 -1
  20. package/dist/client/index.mjs +71 -1
  21. package/dist/client/index.mjs.map +1 -1
  22. package/dist/deliver/index.d.cts +2 -2
  23. package/dist/deliver/index.d.ts +2 -2
  24. package/dist/{index-DGkgRnZp.d.cts → index-925_Ov7X.d.cts} +1 -1
  25. package/dist/{index-DfkIz7i0.d.cts → index-BbVQzSV1.d.cts} +1 -1
  26. package/dist/{index-BaNcf7jt.d.cts → index-BhGaVlK1.d.cts} +1 -1
  27. package/dist/{index-DjC_gmnL.d.ts → index-C-EEYXSE.d.ts} +1 -1
  28. package/dist/{index-D1GHEM3c.d.ts → index-C18cijCd.d.ts} +1 -1
  29. package/dist/{index-rTZOdMRE.d.ts → index-CBM5XZKC.d.ts} +1 -1
  30. package/dist/{index-lsuS2R1T.d.ts → index-CemR3UI9.d.ts} +32 -1
  31. package/dist/{index-laE3_wm9.d.cts → index-CmcFPn_G.d.cts} +1 -1
  32. package/dist/{index-DrmS802s.d.cts → index-CpGV1f0L.d.cts} +32 -1
  33. package/dist/{index-C01Rkrir.d.ts → index-D9YQQ3FM.d.ts} +1 -1
  34. package/dist/{index-C9mHBJED.d.ts → index-Dkf5sH1E.d.ts} +1 -1
  35. package/dist/{index-CAEiXVWd.d.ts → index-N6eV5yym.d.ts} +1 -1
  36. package/dist/{index-icIH5e5V.d.cts → index-O3EMrd5s.d.cts} +3 -3
  37. package/dist/{index-BvyZ4uiw.d.ts → index-Ol0RtbQA.d.ts} +3 -3
  38. package/dist/{index-DLJso7Vs.d.cts → index-_24DRp3a.d.cts} +1 -1
  39. package/dist/{index-DWOLZNlz.d.cts → index-isT08RuY.d.cts} +1 -1
  40. package/dist/{index-BE7bwNff.d.cts → index-on573dnO.d.cts} +1 -1
  41. package/dist/{index-CBf0-NUQ.d.ts → index-s2PigtDM.d.ts} +1 -1
  42. package/dist/index.cjs +118 -31
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.d.cts +11 -11
  45. package/dist/index.d.ts +11 -11
  46. package/dist/index.mjs +118 -31
  47. package/dist/index.mjs.map +1 -1
  48. package/dist/lane/index.cjs +80 -0
  49. package/dist/lane/index.cjs.map +1 -1
  50. package/dist/lane/index.mjs +81 -1
  51. package/dist/lane/index.mjs.map +1 -1
  52. package/dist/match/index.d.cts +4 -4
  53. package/dist/match/index.d.ts +4 -4
  54. package/dist/pem/index.d.cts +2 -2
  55. package/dist/pem/index.d.ts +2 -2
  56. package/dist/pilot/index.d.cts +2 -2
  57. package/dist/pilot/index.d.ts +2 -2
  58. package/dist/precheck/index.d.cts +2 -2
  59. package/dist/precheck/index.d.ts +2 -2
  60. package/dist/produce/index.d.cts +2 -2
  61. package/dist/produce/index.d.ts +2 -2
  62. package/dist/sigh/index.d.cts +2 -2
  63. package/dist/sigh/index.d.ts +2 -2
  64. package/package.json +1 -1
@@ -3,6 +3,9 @@
3
3
  var jose = require('jose');
4
4
  var crypto = require('crypto');
5
5
  var readline = require('readline');
6
+ var fs = require('fs');
7
+ var os = require('os');
8
+ var path = require('path');
6
9
 
7
10
  // src/client/auth.ts
8
11
  var MAX_TOKEN_DURATION = 1200;
@@ -2518,6 +2521,73 @@ var AppAssetLibraryPlacementsResource = class {
2518
2521
  });
2519
2522
  }
2520
2523
  };
2524
+ var OLYMPUS_SESSION2 = "https://appstoreconnect.apple.com/olympus/v1/session";
2525
+ function sessionDir() {
2526
+ return process.env.FASTNODE_SESSION_DIR || path.join(os.homedir(), ".fastnode", "sessions");
2527
+ }
2528
+ function fileFor(email) {
2529
+ const key = crypto.createHash("sha256").update(email.trim().toLowerCase()).digest("hex").slice(0, 16);
2530
+ return path.join(sessionDir(), `${key}.json`);
2531
+ }
2532
+ function ensureDir() {
2533
+ const dir = sessionDir();
2534
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true, mode: 448 });
2535
+ fs.chmodSync(dir, 448);
2536
+ }
2537
+ function saveAppleSession(session) {
2538
+ ensureDir();
2539
+ const stored = { email: session.userEmail, savedAt: (/* @__PURE__ */ new Date()).toISOString(), session };
2540
+ const path$1 = fileFor(session.userEmail);
2541
+ fs.writeFileSync(path$1, JSON.stringify(stored), { mode: 384 });
2542
+ fs.chmodSync(path$1, 384);
2543
+ fs.writeFileSync(path.join(sessionDir(), "last-apple-id"), session.userEmail, { mode: 384 });
2544
+ }
2545
+ function clearAppleSession(email) {
2546
+ const path = fileFor(email);
2547
+ if (fs.existsSync(path)) fs.unlinkSync(path);
2548
+ }
2549
+ function lastAppleId() {
2550
+ try {
2551
+ return fs.readFileSync(path.join(sessionDir(), "last-apple-id"), "utf8").trim() || null;
2552
+ } catch {
2553
+ return null;
2554
+ }
2555
+ }
2556
+ async function loadAppleSession(email, fetchImpl = fetch) {
2557
+ const path = fileFor(email);
2558
+ if (!fs.existsSync(path)) return null;
2559
+ let stored;
2560
+ try {
2561
+ stored = JSON.parse(fs.readFileSync(path, "utf8"));
2562
+ } catch {
2563
+ return null;
2564
+ }
2565
+ const cookie = Object.entries(stored.session.cookies).map(([k, v]) => `${k}=${v}`).join("; ");
2566
+ try {
2567
+ const res = await fetchImpl(OLYMPUS_SESSION2, { headers: { Cookie: cookie, Accept: "application/json" } });
2568
+ if (!res.ok) {
2569
+ clearAppleSession(email);
2570
+ return null;
2571
+ }
2572
+ } catch {
2573
+ return null;
2574
+ }
2575
+ return stored.session;
2576
+ }
2577
+ async function signInWithAppleId(options) {
2578
+ const email = options.email || lastAppleId() || await options.askEmail();
2579
+ if (!options.fresh) {
2580
+ const saved = await loadAppleSession(email);
2581
+ if (saved) {
2582
+ options.onLog?.(`Using saved Apple ID session for ${email}`);
2583
+ return saved;
2584
+ }
2585
+ }
2586
+ const password = await options.askPassword(email);
2587
+ const session = await loginWithAppleId({ email, password, onLog: options.onLog });
2588
+ saveAppleSession(session);
2589
+ return session;
2590
+ }
2521
2591
 
2522
2592
  // src/client/portal.ts
2523
2593
  var PORTAL_BASE = "https://developer.apple.com/services-account/QH65B2";
@@ -3676,8 +3746,14 @@ exports.RequestClient = RequestClient;
3676
3746
  exports.TokenManager = TokenManager;
3677
3747
  exports.beginLogin = beginLogin;
3678
3748
  exports.checkPortalResponse = checkPortalResponse;
3749
+ exports.clearAppleSession = clearAppleSession;
3750
+ exports.lastAppleId = lastAppleId;
3751
+ exports.loadAppleSession = loadAppleSession;
3679
3752
  exports.loginWithAppleId = loginWithAppleId;
3680
3753
  exports.requestSmsCode = requestSmsCode;
3754
+ exports.saveAppleSession = saveAppleSession;
3755
+ exports.sessionDir = sessionDir;
3756
+ exports.signInWithAppleId = signInWithAppleId;
3681
3757
  exports.submitTwoFactorCode = submitTwoFactorCode;
3682
3758
  //# sourceMappingURL=index.cjs.map
3683
3759
  //# sourceMappingURL=index.cjs.map