@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 +38 -5
- package/dist/index.mjs +38 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -4
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
|
})()]);
|