claudekit-cli 3.15.0 → 3.15.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 +31 -30
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -18339,6 +18339,14 @@ class ReleaseFilter {
|
|
|
18339
18339
|
return releaseDate >= cutoffDate;
|
|
18340
18340
|
});
|
|
18341
18341
|
}
|
|
18342
|
+
static getLatestStable(releases) {
|
|
18343
|
+
const stableReleases = releases.filter((r) => !r.prerelease && !r.draft).sort((a, b) => -VersionFormatter.compare(a.tag_name, b.tag_name));
|
|
18344
|
+
return stableReleases.length > 0 ? stableReleases[0] : null;
|
|
18345
|
+
}
|
|
18346
|
+
static getLatestPrerelease(releases) {
|
|
18347
|
+
const prereleases = releases.filter((r) => r.prerelease && !r.draft).sort((a, b) => -VersionFormatter.compare(a.tag_name, b.tag_name));
|
|
18348
|
+
return prereleases.length > 0 ? prereleases[0] : null;
|
|
18349
|
+
}
|
|
18342
18350
|
}
|
|
18343
18351
|
|
|
18344
18352
|
// src/domains/github/client/releases-api.ts
|
|
@@ -18369,37 +18377,30 @@ class ReleasesApi {
|
|
|
18369
18377
|
}
|
|
18370
18378
|
async getLatestRelease(kit, includePrereleases = false) {
|
|
18371
18379
|
try {
|
|
18372
|
-
|
|
18380
|
+
logger.debug(`Fetching releases for ${kit.owner}/${kit.repo}`);
|
|
18381
|
+
const releases = await this.listReleases(kit, 100);
|
|
18373
18382
|
if (includePrereleases) {
|
|
18374
|
-
|
|
18375
|
-
|
|
18376
|
-
|
|
18377
|
-
|
|
18378
|
-
logger.debug(`Found prerelease version: ${prereleaseVersion.tag_name}`);
|
|
18379
|
-
return prereleaseVersion;
|
|
18383
|
+
const latestPrerelease = ReleaseFilter.getLatestPrerelease(releases);
|
|
18384
|
+
if (latestPrerelease) {
|
|
18385
|
+
logger.debug(`Found latest prerelease (by semver): ${latestPrerelease.tag_name}`);
|
|
18386
|
+
return latestPrerelease;
|
|
18380
18387
|
}
|
|
18381
18388
|
logger.warning("No prerelease versions found, falling back to latest stable release");
|
|
18382
18389
|
}
|
|
18383
|
-
|
|
18384
|
-
|
|
18385
|
-
|
|
18386
|
-
|
|
18387
|
-
repo: kit.repo
|
|
18388
|
-
});
|
|
18389
|
-
return GitHubReleaseSchema.parse(data);
|
|
18390
|
-
} catch (stableError) {
|
|
18391
|
-
if (stableError?.status === 404) {
|
|
18392
|
-
logger.debug("No stable release found, checking for prereleases...");
|
|
18393
|
-
const releases = await this.listReleases(kit, 100);
|
|
18394
|
-
const latestPrerelease = releases.find((r) => r.prerelease && !r.draft);
|
|
18395
|
-
if (latestPrerelease) {
|
|
18396
|
-
logger.warning(`No stable release available. Using latest prerelease: ${latestPrerelease.tag_name}`);
|
|
18397
|
-
return latestPrerelease;
|
|
18398
|
-
}
|
|
18399
|
-
}
|
|
18400
|
-
throw stableError;
|
|
18390
|
+
const latestStable = ReleaseFilter.getLatestStable(releases);
|
|
18391
|
+
if (latestStable) {
|
|
18392
|
+
logger.debug(`Found latest stable (by semver): ${latestStable.tag_name}`);
|
|
18393
|
+
return latestStable;
|
|
18401
18394
|
}
|
|
18395
|
+
const anyPrerelease = ReleaseFilter.getLatestPrerelease(releases);
|
|
18396
|
+
if (anyPrerelease) {
|
|
18397
|
+
logger.warning(`No stable release available. Using latest prerelease: ${anyPrerelease.tag_name}`);
|
|
18398
|
+
return anyPrerelease;
|
|
18399
|
+
}
|
|
18400
|
+
throw new GitHubError(`No releases found for ${kit.name}`, 404);
|
|
18402
18401
|
} catch (error) {
|
|
18402
|
+
if (error instanceof GitHubError)
|
|
18403
|
+
throw error;
|
|
18403
18404
|
return handleHttpError(error, {
|
|
18404
18405
|
kit,
|
|
18405
18406
|
operation: "fetch release",
|
|
@@ -36503,7 +36504,7 @@ var import_picocolors19 = __toESM(require_picocolors(), 1);
|
|
|
36503
36504
|
// package.json
|
|
36504
36505
|
var package_default = {
|
|
36505
36506
|
name: "claudekit-cli",
|
|
36506
|
-
version: "3.15.
|
|
36507
|
+
version: "3.15.2",
|
|
36507
36508
|
description: "CLI tool for bootstrapping and updating ClaudeKit projects",
|
|
36508
36509
|
type: "module",
|
|
36509
36510
|
repository: {
|
|
@@ -36632,21 +36633,21 @@ async function displayKitUpdateReminder() {
|
|
|
36632
36633
|
lines.push("");
|
|
36633
36634
|
lines.push("To update your ClaudeKit content (skills, commands, workflows):");
|
|
36634
36635
|
if (hasLocal && localVersion) {
|
|
36635
|
-
lines.push(` ${import_picocolors19.default.cyan(pad(cmdLocal))} Update local project (
|
|
36636
|
+
lines.push(` ${import_picocolors19.default.cyan(pad(cmdLocal))} Update local project (${localVersion})`);
|
|
36636
36637
|
const localCheck = versionCheckResults.get(localVersion);
|
|
36637
36638
|
if (localCheck?.updateAvailable) {
|
|
36638
36639
|
const indent = " ".repeat(maxCmdLen + 4);
|
|
36639
|
-
lines.push(`${indent}${import_picocolors19.default.green(`→
|
|
36640
|
+
lines.push(`${indent}${import_picocolors19.default.green(`→ ${localCheck.latestVersion} available!`)}`);
|
|
36640
36641
|
}
|
|
36641
36642
|
} else {
|
|
36642
36643
|
lines.push(` ${import_picocolors19.default.cyan(pad(cmdLocal))} Initialize in current project`);
|
|
36643
36644
|
}
|
|
36644
36645
|
if (hasGlobal && globalVersion) {
|
|
36645
|
-
lines.push(` ${import_picocolors19.default.cyan(pad(cmdGlobal))} Update global ~/.claude (
|
|
36646
|
+
lines.push(` ${import_picocolors19.default.cyan(pad(cmdGlobal))} Update global ~/.claude (${globalVersion})`);
|
|
36646
36647
|
const globalCheck = versionCheckResults.get(globalVersion);
|
|
36647
36648
|
if (globalCheck?.updateAvailable) {
|
|
36648
36649
|
const indent = " ".repeat(maxCmdLen + 4);
|
|
36649
|
-
lines.push(`${indent}${import_picocolors19.default.green(`→
|
|
36650
|
+
lines.push(`${indent}${import_picocolors19.default.green(`→ ${globalCheck.latestVersion} available!`)}`);
|
|
36650
36651
|
}
|
|
36651
36652
|
} else {
|
|
36652
36653
|
lines.push(` ${import_picocolors19.default.cyan(pad(cmdGlobal))} Initialize global ~/.claude`);
|