claudeup 4.28.0 → 4.29.0
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudeup",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.29.0",
|
|
4
4
|
"description": "TUI tool for managing Claude Code plugins, MCPs, and configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/main.tsx",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"typescript": "^5.6.3"
|
|
65
65
|
},
|
|
66
66
|
"optionalDependencies": {
|
|
67
|
-
"claudeup-darwin-arm64": "4.
|
|
68
|
-
"claudeup-darwin-x64": "4.
|
|
69
|
-
"claudeup-linux-x64": "4.
|
|
67
|
+
"claudeup-darwin-arm64": "4.29.0",
|
|
68
|
+
"claudeup-darwin-x64": "4.29.0",
|
|
69
|
+
"claudeup-linux-x64": "4.29.0"
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -33,13 +33,41 @@ function badgeFor(marketplace: Marketplace): string | undefined {
|
|
|
33
33
|
return category && "badge" in category ? category.badge : undefined;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
/** Tone for a marketplace when it has plugins and is expanded. */
|
|
37
|
+
function toneFor(marketplace: Marketplace): string | undefined {
|
|
38
|
+
const items = buildPluginBrowserItems({
|
|
39
|
+
marketplaces: [marketplace],
|
|
40
|
+
plugins: [
|
|
41
|
+
{ id: `demo@${marketplace.name}`, name: "demo", marketplace: marketplace.name } as never,
|
|
42
|
+
],
|
|
43
|
+
collapsedMarketplaces: new Set(),
|
|
44
|
+
});
|
|
45
|
+
const category = items.find((i) => i.kind === "category");
|
|
46
|
+
return category && "tone" in category ? category.tone : undefined;
|
|
47
|
+
}
|
|
48
|
+
|
|
36
49
|
describe("marketplace category badge", () => {
|
|
50
|
+
test("the byline uses a low-key tone, not an attention-grabbing one", () => {
|
|
51
|
+
// It is a signature, not a status. Green reads as "action succeeded" and
|
|
52
|
+
// competes with the plugin rows for attention.
|
|
53
|
+
expect(
|
|
54
|
+
toneFor(mp({ name: "magus", source: { source: "github", repo: "MadAppGang/magus" } })),
|
|
55
|
+
).toBe("byline");
|
|
56
|
+
|
|
57
|
+
// A third-party marketplace still uses the green "Added" status tone.
|
|
58
|
+
expect(
|
|
59
|
+
toneFor(
|
|
60
|
+
mp({ name: "sp", source: { source: "github", repo: "obra/superpowers-marketplace" } }),
|
|
61
|
+
),
|
|
62
|
+
).toBe("green");
|
|
63
|
+
});
|
|
64
|
+
|
|
37
65
|
test("MadAppGang marketplaces carry the byline instead of a generic label", () => {
|
|
38
66
|
for (const name of ["magus", "magus-marketing", "magus-alpha"]) {
|
|
39
67
|
const badge = badgeFor(
|
|
40
68
|
mp({ name, source: { source: "github", repo: `MadAppGang/${name}` } }),
|
|
41
69
|
);
|
|
42
|
-
expect(badge).toBe("
|
|
70
|
+
expect(badge).toBe("by MadAppGang");
|
|
43
71
|
}
|
|
44
72
|
});
|
|
45
73
|
|
|
@@ -48,7 +76,7 @@ describe("marketplace category badge", () => {
|
|
|
48
76
|
const badge = badgeFor(
|
|
49
77
|
mp({ name: "magus", source: { source: "github", repo: "madappgang/magus" } }),
|
|
50
78
|
);
|
|
51
|
-
expect(badge).toBe("
|
|
79
|
+
expect(badge).toBe("by MadAppGang");
|
|
52
80
|
});
|
|
53
81
|
|
|
54
82
|
test("someone else's marketplace does NOT claim the byline", () => {
|
|
@@ -18,7 +18,7 @@ export interface PluginCategoryItem {
|
|
|
18
18
|
isExpanded: boolean;
|
|
19
19
|
isCommunitySection?: boolean;
|
|
20
20
|
/** Visual tone for the category row */
|
|
21
|
-
tone: "yellow" | "gray" | "green" | "red" | "purple" | "teal";
|
|
21
|
+
tone: "yellow" | "gray" | "green" | "red" | "purple" | "teal" | "byline";
|
|
22
22
|
/** Badge text shown on category row (e.g. "★ Official") */
|
|
23
23
|
badge?: string;
|
|
24
24
|
}
|
|
@@ -66,7 +66,7 @@ function categoryStyling(
|
|
|
66
66
|
return { tone: "yellow", badge: "★ Official" };
|
|
67
67
|
}
|
|
68
68
|
if (isMadAppGang(mp)) {
|
|
69
|
-
return { tone: "
|
|
69
|
+
return { tone: "byline", badge: "by MadAppGang" };
|
|
70
70
|
}
|
|
71
71
|
return { tone: "green", badge: "✓ Added" };
|
|
72
72
|
}
|
package/src/ui/theme.ts
CHANGED