@pipelab/plugin-discord 1.0.0-beta.28 → 1.0.0-beta.31

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.cjs CHANGED
@@ -151202,6 +151202,17 @@ async function isOnline() {
151202
151202
  lastCheckTime = now;
151203
151203
  return isOnlineCached;
151204
151204
  }
151205
+ function allowPrereleaseInRange(rangeStr) {
151206
+ try {
151207
+ return new import_semver.default.Range(rangeStr).set.map((conj) => conj.map((c) => {
151208
+ const v = c.semver;
151209
+ if (v.prerelease && v.prerelease.length) return c.operator + v.format();
151210
+ return c.operator + v.major + "." + v.minor + "." + v.patch + "-0";
151211
+ }).join(" ")).join(" || ");
151212
+ } catch {
151213
+ return rangeStr;
151214
+ }
151215
+ }
151205
151216
  /**
151206
151217
  * Robust utility to fetch, cache, and resolve an NPM package.
151207
151218
  * Centralized in core-node to avoid circular dependencies.
@@ -151224,6 +151235,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
151224
151235
  const ctx = options.context;
151225
151236
  const baseDir = ctx.getPackagesPath(packageName);
151226
151237
  let resolvedVersion;
151238
+ const includePrerelease = !!(ctx.releaseTag && ctx.releaseTag !== "latest");
151227
151239
  let resolvedVersionOrRange = versionOrRange;
151228
151240
  if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
151229
151241
  console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
@@ -151231,7 +151243,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
151231
151243
  if (!await isOnline()) {
151232
151244
  console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
151233
151245
  const fallbackStart = Date.now();
151234
- const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
151246
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName, includePrerelease);
151235
151247
  if (fallbackVersion) {
151236
151248
  resolvedVersion = fallbackVersion;
151237
151249
  console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
@@ -151246,7 +151258,27 @@ async function fetchPackage(packageName, versionOrRange, options) {
151246
151258
  const packument = await packumentPromise;
151247
151259
  const versions = Object.keys(packument.versions);
151248
151260
  const range = resolvedVersionOrRange || "latest";
151249
- let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
151261
+ let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range, { includePrerelease });
151262
+ if (!foundVersion && ctx.releaseTag && ctx.releaseTag !== "latest") {
151263
+ const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
151264
+ if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
151265
+ const rewrittenRangeForCheck = allowPrereleaseInRange(range);
151266
+ if (import_semver.default.satisfies(releaseTagVersion, rewrittenRangeForCheck, { includePrerelease: true })) {
151267
+ console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) for ${packageName}@${range} because it satisfies the range`);
151268
+ foundVersion = releaseTagVersion;
151269
+ }
151270
+ }
151271
+ }
151272
+ if (!foundVersion && includePrerelease) {
151273
+ const rewrittenRange = allowPrereleaseInRange(range);
151274
+ if (rewrittenRange !== range) {
151275
+ const matched = import_semver.default.maxSatisfying(versions, rewrittenRange, { includePrerelease });
151276
+ if (matched) {
151277
+ console.log(`[Fetcher] Resolved ${packageName}@${range} to ${matched} via rewritten range ${rewrittenRange}`);
151278
+ foundVersion = matched;
151279
+ }
151280
+ }
151281
+ }
151250
151282
  if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
151251
151283
  const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
151252
151284
  if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
@@ -151262,7 +151294,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
151262
151294
  } catch (error) {
151263
151295
  console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
151264
151296
  const fallbackStart = Date.now();
151265
- const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName);
151297
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName, includePrerelease);
151266
151298
  if (fallbackVersion) {
151267
151299
  resolvedVersion = fallbackVersion;
151268
151300
  console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
@@ -151525,7 +151557,7 @@ async function crawlMonorepoPackages() {
151525
151557
  }
151526
151558
  return cache;
151527
151559
  }
151528
- async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
151560
+ async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix, includePrerelease = false) {
151529
151561
  if (!(0, node_fs.existsSync)(baseDir)) return null;
151530
151562
  try {
151531
151563
  const localVersions = (await (0, node_fs_promises.readdir)(baseDir, { withFileTypes: true })).filter((e) => e.isDirectory() || e.isSymbolicLink()).map((e) => e.name).filter((name) => !!import_semver.default.valid(name));
@@ -151538,7 +151570,7 @@ async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
151538
151570
  return latestLocal;
151539
151571
  }
151540
151572
  } else {
151541
- const matched = import_semver.default.maxSatisfying(localVersions, range);
151573
+ const matched = import_semver.default.maxSatisfying(localVersions, range, { includePrerelease });
151542
151574
  if (matched) {
151543
151575
  console.info(`[Fetcher] ${logPrefix}: Using locally cached matching version: ${matched} for range ${range}`);
151544
151576
  return matched;
@@ -152786,6 +152818,7 @@ DISCORD_CLIENT_SECRET=yJ4vRnzDtKAqg2Le3_Sap2CqHybkTp2U`, "utf8");
152786
152818
  acceptCloudflareNotice: true
152787
152819
  });
152788
152820
  console.log("tunnel", tunnel);
152821
+ if (!tunnel) throw new Error("Failed to start tunnel");
152789
152822
  const url = await tunnel.getURL();
152790
152823
  console.log("Public URL:", url);
152791
152824
  })()]);
package/dist/index.mjs CHANGED
@@ -151197,6 +151197,17 @@ async function isOnline() {
151197
151197
  lastCheckTime = now;
151198
151198
  return isOnlineCached;
151199
151199
  }
151200
+ function allowPrereleaseInRange(rangeStr) {
151201
+ try {
151202
+ return new import_semver.default.Range(rangeStr).set.map((conj) => conj.map((c) => {
151203
+ const v = c.semver;
151204
+ if (v.prerelease && v.prerelease.length) return c.operator + v.format();
151205
+ return c.operator + v.major + "." + v.minor + "." + v.patch + "-0";
151206
+ }).join(" ")).join(" || ");
151207
+ } catch {
151208
+ return rangeStr;
151209
+ }
151210
+ }
151200
151211
  /**
151201
151212
  * Robust utility to fetch, cache, and resolve an NPM package.
151202
151213
  * Centralized in core-node to avoid circular dependencies.
@@ -151219,6 +151230,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
151219
151230
  const ctx = options.context;
151220
151231
  const baseDir = ctx.getPackagesPath(packageName);
151221
151232
  let resolvedVersion;
151233
+ const includePrerelease = !!(ctx.releaseTag && ctx.releaseTag !== "latest");
151222
151234
  let resolvedVersionOrRange = versionOrRange;
151223
151235
  if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
151224
151236
  console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
@@ -151226,7 +151238,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
151226
151238
  if (!await isOnline()) {
151227
151239
  console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
151228
151240
  const fallbackStart = Date.now();
151229
- const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
151241
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName, includePrerelease);
151230
151242
  if (fallbackVersion) {
151231
151243
  resolvedVersion = fallbackVersion;
151232
151244
  console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
@@ -151241,7 +151253,27 @@ async function fetchPackage(packageName, versionOrRange, options) {
151241
151253
  const packument = await packumentPromise;
151242
151254
  const versions = Object.keys(packument.versions);
151243
151255
  const range = resolvedVersionOrRange || "latest";
151244
- let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
151256
+ let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range, { includePrerelease });
151257
+ if (!foundVersion && ctx.releaseTag && ctx.releaseTag !== "latest") {
151258
+ const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
151259
+ if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
151260
+ const rewrittenRangeForCheck = allowPrereleaseInRange(range);
151261
+ if (import_semver.default.satisfies(releaseTagVersion, rewrittenRangeForCheck, { includePrerelease: true })) {
151262
+ console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) for ${packageName}@${range} because it satisfies the range`);
151263
+ foundVersion = releaseTagVersion;
151264
+ }
151265
+ }
151266
+ }
151267
+ if (!foundVersion && includePrerelease) {
151268
+ const rewrittenRange = allowPrereleaseInRange(range);
151269
+ if (rewrittenRange !== range) {
151270
+ const matched = import_semver.default.maxSatisfying(versions, rewrittenRange, { includePrerelease });
151271
+ if (matched) {
151272
+ console.log(`[Fetcher] Resolved ${packageName}@${range} to ${matched} via rewritten range ${rewrittenRange}`);
151273
+ foundVersion = matched;
151274
+ }
151275
+ }
151276
+ }
151245
151277
  if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
151246
151278
  const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
151247
151279
  if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
@@ -151257,7 +151289,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
151257
151289
  } catch (error) {
151258
151290
  console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
151259
151291
  const fallbackStart = Date.now();
151260
- const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName);
151292
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName, includePrerelease);
151261
151293
  if (fallbackVersion) {
151262
151294
  resolvedVersion = fallbackVersion;
151263
151295
  console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
@@ -151520,7 +151552,7 @@ async function crawlMonorepoPackages() {
151520
151552
  }
151521
151553
  return cache;
151522
151554
  }
151523
- async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
151555
+ async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix, includePrerelease = false) {
151524
151556
  if (!existsSync(baseDir)) return null;
151525
151557
  try {
151526
151558
  const localVersions = (await readdir(baseDir, { withFileTypes: true })).filter((e) => e.isDirectory() || e.isSymbolicLink()).map((e) => e.name).filter((name) => !!import_semver.default.valid(name));
@@ -151533,7 +151565,7 @@ async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
151533
151565
  return latestLocal;
151534
151566
  }
151535
151567
  } else {
151536
- const matched = import_semver.default.maxSatisfying(localVersions, range);
151568
+ const matched = import_semver.default.maxSatisfying(localVersions, range, { includePrerelease });
151537
151569
  if (matched) {
151538
151570
  console.info(`[Fetcher] ${logPrefix}: Using locally cached matching version: ${matched} for range ${range}`);
151539
151571
  return matched;
@@ -152781,6 +152813,7 @@ DISCORD_CLIENT_SECRET=yJ4vRnzDtKAqg2Le3_Sap2CqHybkTp2U`, "utf8");
152781
152813
  acceptCloudflareNotice: true
152782
152814
  });
152783
152815
  console.log("tunnel", tunnel);
152816
+ if (!tunnel) throw new Error("Failed to start tunnel");
152784
152817
  const url = await tunnel.getURL();
152785
152818
  console.log("Public URL:", url);
152786
152819
  })()]);