claudeup 1.1.0 → 1.2.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.
@@ -0,0 +1,20 @@
1
+ export interface VersionCheckResult {
2
+ currentVersion: string;
3
+ latestVersion: string;
4
+ updateAvailable: boolean;
5
+ updateType?: 'major' | 'minor' | 'patch';
6
+ }
7
+ /**
8
+ * Get the current version from package.json
9
+ */
10
+ export declare function getCurrentVersion(): string;
11
+ /**
12
+ * Check if a new version is available
13
+ * Returns cached result if already checked this session
14
+ */
15
+ export declare function checkForUpdates(): Promise<VersionCheckResult>;
16
+ /**
17
+ * Format update message for display
18
+ */
19
+ export declare function formatUpdateMessage(result: VersionCheckResult): string;
20
+ //# sourceMappingURL=version-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../src/services/version-check.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAgDD;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA6BnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAKtE"}
@@ -0,0 +1,98 @@
1
+ import { createRequire } from 'node:module';
2
+ import semver from 'semver';
3
+ const require = createRequire(import.meta.url);
4
+ // Cache the result for the session
5
+ let cachedResult = null;
6
+ /**
7
+ * Get the current version from package.json
8
+ */
9
+ export function getCurrentVersion() {
10
+ try {
11
+ const pkg = require('../../package.json');
12
+ return pkg.version;
13
+ }
14
+ catch {
15
+ return '0.0.0';
16
+ }
17
+ }
18
+ /**
19
+ * Fetch the latest version from npm registry
20
+ * Uses a short timeout to avoid blocking startup
21
+ */
22
+ async function fetchLatestVersion() {
23
+ try {
24
+ const controller = new AbortController();
25
+ const timeout = setTimeout(() => controller.abort(), 3000); // 3s timeout
26
+ const response = await fetch('https://registry.npmjs.org/claudeup/latest', {
27
+ signal: controller.signal,
28
+ headers: {
29
+ 'Accept': 'application/json',
30
+ },
31
+ });
32
+ clearTimeout(timeout);
33
+ if (!response.ok) {
34
+ return null;
35
+ }
36
+ const data = await response.json();
37
+ return data.version || null;
38
+ }
39
+ catch {
40
+ // Network error, timeout, or parse error - silently fail
41
+ return null;
42
+ }
43
+ }
44
+ /**
45
+ * Determine the type of update (major, minor, patch)
46
+ */
47
+ function getUpdateType(current, latest) {
48
+ const currentParsed = semver.parse(current);
49
+ const latestParsed = semver.parse(latest);
50
+ if (!currentParsed || !latestParsed)
51
+ return undefined;
52
+ if (latestParsed.major > currentParsed.major)
53
+ return 'major';
54
+ if (latestParsed.minor > currentParsed.minor)
55
+ return 'minor';
56
+ if (latestParsed.patch > currentParsed.patch)
57
+ return 'patch';
58
+ return undefined;
59
+ }
60
+ /**
61
+ * Check if a new version is available
62
+ * Returns cached result if already checked this session
63
+ */
64
+ export async function checkForUpdates() {
65
+ // Return cached result if available
66
+ if (cachedResult) {
67
+ return cachedResult;
68
+ }
69
+ const currentVersion = getCurrentVersion();
70
+ const latestVersion = await fetchLatestVersion();
71
+ if (!latestVersion) {
72
+ // Couldn't fetch, assume no update
73
+ cachedResult = {
74
+ currentVersion,
75
+ latestVersion: currentVersion,
76
+ updateAvailable: false,
77
+ };
78
+ return cachedResult;
79
+ }
80
+ const updateAvailable = semver.gt(latestVersion, currentVersion);
81
+ cachedResult = {
82
+ currentVersion,
83
+ latestVersion,
84
+ updateAvailable,
85
+ updateType: updateAvailable ? getUpdateType(currentVersion, latestVersion) : undefined,
86
+ };
87
+ return cachedResult;
88
+ }
89
+ /**
90
+ * Format update message for display
91
+ */
92
+ export function formatUpdateMessage(result) {
93
+ if (!result.updateAvailable)
94
+ return '';
95
+ const typeLabel = result.updateType ? ` (${result.updateType})` : '';
96
+ return `Update available: v${result.currentVersion} → v${result.latestVersion}${typeLabel}. Run: npm i -g claudeup`;
97
+ }
98
+ //# sourceMappingURL=version-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/services/version-check.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare const VERSION = "1.0.0";
2
+ export declare const VERSION: string;
3
3
  export declare function App(): React.ReactElement;
4
4
  export default App;
5
5
  //# sourceMappingURL=InkApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InkApp.d.ts","sourceRoot":"","sources":["../../src/ui/InkApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAkBnD,eAAO,MAAM,OAAO,UAAU,CAAC;AAkN/B,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CAMxC;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"InkApp.d.ts","sourceRoot":"","sources":["../../src/ui/InkApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAmBnD,eAAO,MAAM,OAAO,QAAsB,CAAC;AAyP3C,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CAMxC;AAED,eAAe,GAAG,CAAC"}
package/dist/ui/InkApp.js CHANGED
@@ -8,7 +8,8 @@ import { DimensionsProvider, useDimensions } from './state/DimensionsContext.js'
8
8
  import { ModalContainer } from './components/modals/index.js';
9
9
  import { PluginsScreen, McpScreen, McpRegistryScreen, StatusLineScreen, EnvVarsScreen, CliToolsScreen, } from './screens/index.js';
10
10
  import { refreshLocalMarketplaces } from '../services/local-marketplace.js';
11
- export const VERSION = '1.0.0';
11
+ import { checkForUpdates, getCurrentVersion } from '../services/version-check.js';
12
+ export const VERSION = getCurrentVersion();
12
13
  function Router() {
13
14
  const { state } = useApp();
14
15
  const { currentRoute } = state;
@@ -136,7 +137,12 @@ function ProgressIndicator({ message, current, total }) {
136
137
  }
137
138
  return (_jsxs(Box, { paddingX: 1, children: [_jsx(Text, { color: "cyan", children: "\u27F3 " }), _jsx(Text, { children: progressText })] }));
138
139
  }
139
- function AppContentInner({ showDebug, onDebugToggle }) {
140
+ function UpdateBanner({ result }) {
141
+ if (!result.updateAvailable)
142
+ return null;
143
+ return (_jsxs(Box, { paddingX: 1, marginBottom: 0, children: [_jsxs(Text, { backgroundColor: "yellow", color: "black", bold: true, children: [' ', "UPDATE", ' '] }), _jsxs(Text, { color: "yellow", children: [' ', "v", result.currentVersion, " \u2192 v", result.latestVersion] }), _jsxs(Text, { color: "gray", children: [' ', "Run: "] }), _jsx(Text, { color: "cyan", children: "npm i -g claudeup" })] }));
144
+ }
145
+ function AppContentInner({ showDebug, onDebugToggle, updateInfo }) {
140
146
  const { state, dispatch } = useApp();
141
147
  const { progress } = state;
142
148
  const dimensions = useDimensions();
@@ -160,13 +166,18 @@ function AppContentInner({ showDebug, onDebugToggle }) {
160
166
  dispatch({ type: 'HIDE_PROGRESS' });
161
167
  });
162
168
  }, [dispatch]);
163
- return (_jsxs(Box, { flexDirection: "column", height: dimensions.terminalHeight, children: [showDebug && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "yellow", dimColor: true, children: ["DEBUG: ", dimensions.terminalWidth, "x", dimensions.terminalHeight, " | content=", dimensions.contentHeight, " | screen=", state.currentRoute.screen] }) })), progress && _jsx(ProgressIndicator, { ...progress }), _jsx(Box, { flexDirection: "column", height: dimensions.contentHeight, paddingX: 1, overflow: "hidden", children: _jsx(Router, {}) }), _jsx(GlobalKeyHandler, { onDebugToggle: onDebugToggle }), _jsx(ModalContainer, {})] }));
169
+ return (_jsxs(Box, { flexDirection: "column", height: dimensions.terminalHeight, children: [updateInfo?.updateAvailable && _jsx(UpdateBanner, { result: updateInfo }), showDebug && (_jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "yellow", dimColor: true, children: ["DEBUG: ", dimensions.terminalWidth, "x", dimensions.terminalHeight, " | content=", dimensions.contentHeight, " | screen=", state.currentRoute.screen] }) })), progress && _jsx(ProgressIndicator, { ...progress }), _jsx(Box, { flexDirection: "column", height: dimensions.contentHeight, paddingX: 1, overflow: "hidden", children: _jsx(Router, {}) }), _jsx(GlobalKeyHandler, { onDebugToggle: onDebugToggle }), _jsx(ModalContainer, {})] }));
164
170
  }
165
171
  function AppContent() {
166
172
  const { state } = useApp();
167
173
  const { progress } = state;
168
174
  const [showDebug, setShowDebug] = useState(false);
169
- return (_jsx(DimensionsProvider, { showProgress: !!progress, showDebug: showDebug, children: _jsx(AppContentInner, { showDebug: showDebug, onDebugToggle: () => setShowDebug(s => !s) }) }));
175
+ const [updateInfo, setUpdateInfo] = useState(null);
176
+ // Check for updates on startup (non-blocking)
177
+ useEffect(() => {
178
+ checkForUpdates().then(setUpdateInfo).catch(() => { });
179
+ }, []);
180
+ return (_jsx(DimensionsProvider, { showProgress: !!progress, showDebug: showDebug, showUpdateBanner: !!updateInfo?.updateAvailable, children: _jsx(AppContentInner, { showDebug: showDebug, onDebugToggle: () => setShowDebug(s => !s), updateInfo: updateInfo }) }));
170
181
  }
171
182
  export function App() {
172
183
  return (_jsx(AppProvider, { children: _jsx(AppContent, {}) }));
@@ -1 +1 @@
1
- {"version":3,"file":"InkApp.js","sourceRoot":"","sources":["../../src/ui/InkApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InkApp.js","sourceRoot":"","sources":["../../src/ui/InkApp.tsx"],"names":[],"mappings":"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"}
@@ -18,8 +18,10 @@ interface DimensionsProviderProps {
18
18
  showProgress?: boolean;
19
19
  /** Whether debug bar is visible */
20
20
  showDebug?: boolean;
21
+ /** Whether update banner is visible */
22
+ showUpdateBanner?: boolean;
21
23
  }
22
- export declare function DimensionsProvider({ children, showProgress, showDebug, }: DimensionsProviderProps): React.ReactElement;
24
+ export declare function DimensionsProvider({ children, showProgress, showDebug, showUpdateBanner, }: DimensionsProviderProps): React.ReactElement;
23
25
  export declare function useDimensions(): Dimensions;
24
26
  export default DimensionsContext;
25
27
  //# sourceMappingURL=DimensionsContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DimensionsContext.d.ts","sourceRoot":"","sources":["../../../src/ui/state/DimensionsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,UAAU,UAAU;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,QAAA,MAAM,iBAAiB,kCAAyC,CAAC;AAQjE,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkCD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,YAAoB,EACpB,SAAiB,GAClB,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAgD9C;AAED,wBAAgB,aAAa,IAAI,UAAU,CAa1C;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"DimensionsContext.d.ts","sourceRoot":"","sources":["../../../src/ui/state/DimensionsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,UAAU,UAAU;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,QAAA,MAAM,iBAAiB,kCAAyC,CAAC;AAQjE,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAoCD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,YAAoB,EACpB,SAAiB,EACjB,gBAAwB,GACzB,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAmD9C;AAED,wBAAgB,aAAa,IAAI,UAAU,CAa1C;AAED,eAAe,iBAAiB,CAAC"}
@@ -7,7 +7,7 @@ const SCREEN_HEADER_HEIGHT = 4; // ScreenLayout: border + title row + status/sea
7
7
  const SCREEN_FOOTER_HEIGHT = 2; // ScreenLayout: border-top + footer content
8
8
  const APP_MARGINS = 1; // buffer for margins/padding
9
9
  const PROGRESS_HEIGHT = 1; // when visible
10
- function calculateDimensions(columns, rows, showProgress, showDebug) {
10
+ function calculateDimensions(columns, rows, showProgress, showDebug, showUpdateBanner) {
11
11
  const terminalWidth = columns;
12
12
  const terminalHeight = rows;
13
13
  // Calculate total available height for ScreenLayout (includes its header, panels, footer)
@@ -16,6 +16,8 @@ function calculateDimensions(columns, rows, showProgress, showDebug) {
16
16
  contentHeight -= PROGRESS_HEIGHT;
17
17
  if (showDebug)
18
18
  contentHeight -= 1;
19
+ if (showUpdateBanner)
20
+ contentHeight -= 1;
19
21
  contentHeight = Math.max(10, contentHeight); // Minimum 10 lines for full layout
20
22
  // Calculate available content width (accounting for padding)
21
23
  const contentWidth = Math.max(40, terminalWidth - 4);
@@ -31,23 +33,23 @@ function calculateDimensions(columns, rows, showProgress, showDebug) {
31
33
  listPanelHeight,
32
34
  };
33
35
  }
34
- export function DimensionsProvider({ children, showProgress = false, showDebug = false, }) {
36
+ export function DimensionsProvider({ children, showProgress = false, showDebug = false, showUpdateBanner = false, }) {
35
37
  const { stdout } = useStdout();
36
- const [dimensions, setDimensions] = useState(() => calculateDimensions(stdout?.columns ?? 80, stdout?.rows ?? 24, showProgress, showDebug));
38
+ const [dimensions, setDimensions] = useState(() => calculateDimensions(stdout?.columns ?? 80, stdout?.rows ?? 24, showProgress, showDebug, showUpdateBanner));
37
39
  // Handle terminal resize
38
40
  useEffect(() => {
39
41
  const handleResize = () => {
40
- setDimensions(calculateDimensions(stdout?.columns ?? 80, stdout?.rows ?? 24, showProgress, showDebug));
42
+ setDimensions(calculateDimensions(stdout?.columns ?? 80, stdout?.rows ?? 24, showProgress, showDebug, showUpdateBanner));
41
43
  };
42
44
  stdout?.on('resize', handleResize);
43
45
  return () => {
44
46
  stdout?.off('resize', handleResize);
45
47
  };
46
- }, [stdout, showProgress, showDebug]);
47
- // Update when showProgress/showDebug changes
48
+ }, [stdout, showProgress, showDebug, showUpdateBanner]);
49
+ // Update when showProgress/showDebug/showUpdateBanner changes
48
50
  useEffect(() => {
49
- setDimensions(calculateDimensions(stdout?.columns ?? 80, stdout?.rows ?? 24, showProgress, showDebug));
50
- }, [stdout?.columns, stdout?.rows, showProgress, showDebug]);
51
+ setDimensions(calculateDimensions(stdout?.columns ?? 80, stdout?.rows ?? 24, showProgress, showDebug, showUpdateBanner));
52
+ }, [stdout?.columns, stdout?.rows, showProgress, showDebug, showUpdateBanner]);
51
53
  return (_jsx(DimensionsContext.Provider, { value: dimensions, children: children }));
52
54
  }
53
55
  export function useDimensions() {
@@ -1 +1 @@
1
- {"version":3,"file":"DimensionsContext.js","sourceRoot":"","sources":["../../../src/ui/state/DimensionsContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DimensionsContext.js","sourceRoot":"","sources":["../../../src/ui/state/DimensionsContext.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudeup",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "TUI tool for managing Claude Code plugins, MCPs, and configuration",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",