@interopio/iocd-cli 0.0.52 → 0.0.54
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/cli.js +20 -15
- package/dist/cli.js.map +1 -1
- package/dist/schemas/iocd.cli.config.schema.json +6 -6
- package/dist/services/app.service.js +1 -1
- package/dist/services/app.service.js.map +1 -1
- package/dist/services/components/component.config.js +1 -1
- package/dist/services/components/component.config.js.map +1 -1
- package/dist/services/components/components.registry.js +17 -17
- package/dist/services/components/components.registry.js.map +1 -1
- package/dist/services/components/components.service.js +16 -15
- package/dist/services/components/components.service.js.map +1 -1
- package/dist/services/components/file.helper.js +7 -7
- package/dist/services/components/file.helper.js.map +1 -1
- package/dist/services/components/platform.utils.js +39 -34
- package/dist/services/components/platform.utils.js.map +1 -1
- package/dist/services/components/stores/github.store.js +52 -34
- package/dist/services/components/stores/github.store.js.map +1 -1
- package/dist/services/components/stores/local.store.js +19 -18
- package/dist/services/components/stores/local.store.js.map +1 -1
- package/dist/services/components/stores/s3.store.js +63 -56
- package/dist/services/components/stores/s3.store.js.map +1 -1
- package/dist/services/components/version.selector.js +3 -3
- package/dist/services/components/version.selector.js.map +1 -1
- package/dist/services/config/config.service.js +84 -45
- package/dist/services/config/config.service.js.map +1 -1
- package/dist/services/installer/electronForge.js +44 -44
- package/dist/services/installer/electronForge.js.map +1 -1
- package/dist/services/installer/installer.service.js +24 -24
- package/dist/services/installer/installer.service.js.map +1 -1
- package/dist/services/installer/macOS.helper.js +135 -77
- package/dist/services/installer/macOS.helper.js.map +1 -1
- package/dist/services/installer/prerequisites.js +10 -10
- package/dist/services/installer/windows.helper.js +53 -53
- package/dist/services/modifications/macOS.helper.js +28 -24
- package/dist/services/modifications/macOS.helper.js.map +1 -1
- package/dist/services/modifications/modifications.service.js +57 -57
- package/dist/services/modifications/windows.helper.js +54 -14
- package/dist/services/modifications/windows.helper.js.map +1 -1
- package/dist/templates/groups/apps/groups/src/App.tsx +3 -3
- package/dist/templates/groups/apps/groups/src/index.tsx +15 -13
- package/dist/templates/groups/apps/groups/vite.config.ts +4 -4
- package/dist/templates/launchpad/apps/launchpad/src/app/app.tsx +34 -29
- package/dist/templates/launchpad/apps/launchpad/src/app/constants.ts +20 -20
- package/dist/templates/launchpad/apps/launchpad/src/components/logo.tsx +5 -5
- package/dist/templates/launchpad/apps/launchpad/src/components/main-context-menu.tsx +195 -145
- package/dist/templates/launchpad/apps/launchpad/src/components/notifications-button.tsx +41 -34
- package/dist/templates/launchpad/apps/launchpad/src/main.tsx +3 -1
- package/dist/templates/launchpad/apps/launchpad/vite.config.ts +6 -7
- package/dist/templates/tests/tests/tests/sample.spec.ts +16 -16
- package/dist/templates/tests/tests/wdio.config.ts +9 -9
- package/dist/templates/workspaces/apps/workspaces/src/AddWindowButton.tsx +40 -33
- package/dist/templates/workspaces/apps/workspaces/src/AfterTabs.tsx +40 -27
- package/dist/templates/workspaces/apps/workspaces/src/App.tsx +93 -88
- package/dist/templates/workspaces/apps/workspaces/src/GroupHeaderButtons.tsx +11 -9
- package/dist/templates/workspaces/apps/workspaces/src/index.tsx +19 -14
- package/dist/templates/workspaces/apps/workspaces/src/reportWebVitals.ts +4 -4
- package/dist/templates/workspaces/apps/workspaces/src/setupTests.ts +1 -1
- package/dist/templates/workspaces/apps/workspaces/src/useAddWindowButtonVisible.tsx +36 -30
- package/dist/templates/workspaces/apps/workspaces/vite.config.ts +4 -4
- package/dist/utils/proxy.js +68 -0
- package/dist/utils/proxy.js.map +1 -0
- package/package.json +3 -2
|
@@ -27,15 +27,15 @@ class ComponentPlatformUtils {
|
|
|
27
27
|
*/
|
|
28
28
|
static getCurrentPlatform() {
|
|
29
29
|
const platform = process.platform;
|
|
30
|
-
if (platform ===
|
|
31
|
-
return
|
|
30
|
+
if (platform === "win32") {
|
|
31
|
+
return "win32";
|
|
32
32
|
}
|
|
33
|
-
if (platform ===
|
|
33
|
+
if (platform === "darwin") {
|
|
34
34
|
// Check if ARM64 based on process.arch
|
|
35
|
-
return
|
|
35
|
+
return "darwin";
|
|
36
36
|
}
|
|
37
37
|
// Fallback to darwin if unknown
|
|
38
|
-
return
|
|
38
|
+
return "darwin";
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Parse component information from filename
|
|
@@ -67,7 +67,7 @@ class ComponentPlatformUtils {
|
|
|
67
67
|
static parseComponentName(name) {
|
|
68
68
|
// Pattern 1: OS-specific format with platform-arch order: <component>-<version>[-<platform>-<arch> OR .<platform>-<arch>]
|
|
69
69
|
// Examples:
|
|
70
|
-
// - iocd-v10.0.1-build.20250827150311-win32-x64 (dash separated)
|
|
70
|
+
// - iocd-v10.0.1-build.20250827150311-win32-x64 (dash separated)
|
|
71
71
|
// - iocd-v10.0.0-build.20250927121929.darwin-arm64 (dot separated after build)
|
|
72
72
|
// Must have EXACTLY 4 parts: component, version, platform, arch
|
|
73
73
|
const osSpecificPlatformArchPattern = /^(.+)-(v\d+\.\d+\.\d+(?:\.\d+)?(?:-build\.\d+)?)[\.-]([^-]+)-([^-.]+)$/;
|
|
@@ -75,7 +75,7 @@ class ComponentPlatformUtils {
|
|
|
75
75
|
if (osSpecificPlatformArchMatch) {
|
|
76
76
|
const [, componentName, version, platformPart, arch] = osSpecificPlatformArchMatch;
|
|
77
77
|
// Validate that this is actually a 4-part pattern by checking if arch looks like an architecture
|
|
78
|
-
const validArchs = [
|
|
78
|
+
const validArchs = ["x64", "x86", "arm64", "ia32", "arm"];
|
|
79
79
|
if (!validArchs.includes(arch.toLowerCase())) {
|
|
80
80
|
// This might be a platform-only pattern that got matched incorrectly, skip to next pattern
|
|
81
81
|
// Fall through to Pattern 2
|
|
@@ -84,11 +84,13 @@ class ComponentPlatformUtils {
|
|
|
84
84
|
const versionInfo = this.parseVersionString(version);
|
|
85
85
|
// Map platform names that might not match our enum exactly
|
|
86
86
|
let platform;
|
|
87
|
-
if (platformPart ===
|
|
88
|
-
platform =
|
|
87
|
+
if (platformPart === "win32" || platformPart.startsWith("win")) {
|
|
88
|
+
platform = "win32";
|
|
89
89
|
}
|
|
90
|
-
else if (platformPart ===
|
|
91
|
-
|
|
90
|
+
else if (platformPart === "darwin" ||
|
|
91
|
+
platformPart.startsWith("mac") ||
|
|
92
|
+
platformPart.startsWith("osx")) {
|
|
93
|
+
platform = "darwin";
|
|
92
94
|
}
|
|
93
95
|
else {
|
|
94
96
|
platform = platformPart;
|
|
@@ -99,7 +101,7 @@ class ComponentPlatformUtils {
|
|
|
99
101
|
baseVersion: versionInfo.baseVersion,
|
|
100
102
|
isOsSpecific: true,
|
|
101
103
|
platform: platform,
|
|
102
|
-
arch: arch
|
|
104
|
+
arch: arch,
|
|
103
105
|
};
|
|
104
106
|
if (versionInfo.buildInfo) {
|
|
105
107
|
result.buildInfo = versionInfo.buildInfo;
|
|
@@ -125,7 +127,7 @@ class ComponentPlatformUtils {
|
|
|
125
127
|
version: version,
|
|
126
128
|
baseVersion: versionInfo.baseVersion,
|
|
127
129
|
isOsSpecific: true,
|
|
128
|
-
platform: platform
|
|
130
|
+
platform: platform,
|
|
129
131
|
};
|
|
130
132
|
if (versionInfo.buildInfo) {
|
|
131
133
|
result.buildInfo = versionInfo.buildInfo;
|
|
@@ -146,7 +148,7 @@ class ComponentPlatformUtils {
|
|
|
146
148
|
name: componentName,
|
|
147
149
|
version: version,
|
|
148
150
|
baseVersion: versionInfo.baseVersion,
|
|
149
|
-
isOsSpecific: false
|
|
151
|
+
isOsSpecific: false,
|
|
150
152
|
};
|
|
151
153
|
if (versionInfo.buildInfo) {
|
|
152
154
|
result.buildInfo = versionInfo.buildInfo;
|
|
@@ -177,11 +179,12 @@ class ComponentPlatformUtils {
|
|
|
177
179
|
}
|
|
178
180
|
const platformString = parsed.platform.toLowerCase();
|
|
179
181
|
let detectedPlatform = null;
|
|
180
|
-
if (platformString.includes(
|
|
181
|
-
detectedPlatform =
|
|
182
|
+
if (platformString.includes("darwin") || platformString.includes("macos")) {
|
|
183
|
+
detectedPlatform = "darwin";
|
|
182
184
|
}
|
|
183
|
-
if (platformString.includes(
|
|
184
|
-
|
|
185
|
+
if (platformString.includes("win32") ||
|
|
186
|
+
platformString.includes("windows")) {
|
|
187
|
+
detectedPlatform = "win32";
|
|
185
188
|
}
|
|
186
189
|
if (!detectedPlatform) {
|
|
187
190
|
throw new Error(`Unable to determine platform from component filename: ${filename}`);
|
|
@@ -192,7 +195,7 @@ class ComponentPlatformUtils {
|
|
|
192
195
|
* Check if a file is a supported package format
|
|
193
196
|
*/
|
|
194
197
|
static isSupportedPackageFile(filename) {
|
|
195
|
-
const supportedExtensions = [
|
|
198
|
+
const supportedExtensions = [".zip", ".dmg", ".exe"];
|
|
196
199
|
const lowerFilename = filename.toLowerCase();
|
|
197
200
|
return supportedExtensions.some(ext => lowerFilename.endsWith(ext));
|
|
198
201
|
}
|
|
@@ -204,7 +207,9 @@ class ComponentPlatformUtils {
|
|
|
204
207
|
*/
|
|
205
208
|
static parseVersionString(version) {
|
|
206
209
|
// Remove 'v' prefix if present
|
|
207
|
-
const cleanVersion = version.startsWith(
|
|
210
|
+
const cleanVersion = version.startsWith("v")
|
|
211
|
+
? version.substring(1)
|
|
212
|
+
: version;
|
|
208
213
|
// Check for build suffix
|
|
209
214
|
const buildMatch = cleanVersion.match(/^(\d+\.\d+\.\d+(?:\.\d+)?)-build\.(\d+)$/);
|
|
210
215
|
if (buildMatch) {
|
|
@@ -212,12 +217,12 @@ class ComponentPlatformUtils {
|
|
|
212
217
|
baseVersion: buildMatch[1],
|
|
213
218
|
buildInfo: `build.${buildMatch[2]}`,
|
|
214
219
|
buildNumber: Number(buildMatch[2]),
|
|
215
|
-
timestamp: buildMatch[2]
|
|
220
|
+
timestamp: buildMatch[2],
|
|
216
221
|
};
|
|
217
222
|
}
|
|
218
223
|
// No build suffix
|
|
219
224
|
return {
|
|
220
|
-
baseVersion: cleanVersion
|
|
225
|
+
baseVersion: cleanVersion,
|
|
221
226
|
};
|
|
222
227
|
}
|
|
223
228
|
/**
|
|
@@ -227,21 +232,21 @@ class ComponentPlatformUtils {
|
|
|
227
232
|
* @returns Parsed platform info
|
|
228
233
|
*/
|
|
229
234
|
static parsePlatformPart(platformPart) {
|
|
230
|
-
const parts = platformPart.toLowerCase().split(
|
|
235
|
+
const parts = platformPart.toLowerCase().split("-");
|
|
231
236
|
if (parts.length === 1) {
|
|
232
237
|
// Simple platform (e.g., "darwin", "win32")
|
|
233
238
|
const platform = parts[0];
|
|
234
|
-
if (platform ===
|
|
239
|
+
if (platform === "darwin" || platform === "win32") {
|
|
235
240
|
return { platform: platform };
|
|
236
241
|
}
|
|
237
242
|
}
|
|
238
243
|
else if (parts.length === 2) {
|
|
239
244
|
// Platform with arch (e.g., "darwin-arm64", "win32-x64")
|
|
240
245
|
const [platform, arch] = parts;
|
|
241
|
-
if (platform ===
|
|
246
|
+
if (platform === "darwin" || platform === "win32") {
|
|
242
247
|
return {
|
|
243
248
|
platform: platform,
|
|
244
|
-
arch: arch
|
|
249
|
+
arch: arch,
|
|
245
250
|
};
|
|
246
251
|
}
|
|
247
252
|
}
|
|
@@ -265,11 +270,11 @@ class ComponentPlatformUtils {
|
|
|
265
270
|
* @returns -1 if a < b, 1 if a > b, 0 if equal
|
|
266
271
|
*/
|
|
267
272
|
static compareVersionsWithBuild(a, b) {
|
|
268
|
-
if (a ===
|
|
273
|
+
if (a === "latest" && b === "latest")
|
|
269
274
|
return 0;
|
|
270
|
-
if (a ===
|
|
275
|
+
if (a === "latest")
|
|
271
276
|
return 1;
|
|
272
|
-
if (b ===
|
|
277
|
+
if (b === "latest")
|
|
273
278
|
return -1;
|
|
274
279
|
const aInfo = this.parseVersionString(a);
|
|
275
280
|
const bInfo = this.parseVersionString(b);
|
|
@@ -302,8 +307,8 @@ class ComponentPlatformUtils {
|
|
|
302
307
|
* @returns -1 if a < b, 1 if a > b, 0 if equal
|
|
303
308
|
*/
|
|
304
309
|
static compareSemanticVersions(a, b) {
|
|
305
|
-
const aParts = a.split(
|
|
306
|
-
const bParts = b.split(
|
|
310
|
+
const aParts = a.split(".").map(Number);
|
|
311
|
+
const bParts = b.split(".").map(Number);
|
|
307
312
|
const maxLength = Math.max(aParts.length, bParts.length);
|
|
308
313
|
for (let i = 0; i < maxLength; i++) {
|
|
309
314
|
const aPart = aParts[i] || 0;
|
|
@@ -324,11 +329,11 @@ class ComponentPlatformUtils {
|
|
|
324
329
|
* @returns -1 if a < b, 1 if a > b, 0 if equal
|
|
325
330
|
*/
|
|
326
331
|
static compareVersions(a, b) {
|
|
327
|
-
if (a ===
|
|
332
|
+
if (a === "latest" && b === "latest")
|
|
328
333
|
return 0;
|
|
329
|
-
if (a ===
|
|
334
|
+
if (a === "latest")
|
|
330
335
|
return 1;
|
|
331
|
-
if (b ===
|
|
336
|
+
if (b === "latest")
|
|
332
337
|
return -1;
|
|
333
338
|
// Simple string comparison - for production use, consider a proper semver library
|
|
334
339
|
if (a < b)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.utils.js","sourceRoot":"","sources":["../../../src/services/components/platform.utils.ts"],"names":[],"mappings":";;;AACA,+BAA6B;AAiC7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,sBAAsB;
|
|
1
|
+
{"version":3,"file":"platform.utils.js","sourceRoot":"","sources":["../../../src/services/components/platform.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const version_selector_1 = require("../version.selector");
|
|
|
10
10
|
// each release has a tag the same as the release name; this can be used to get a specific release
|
|
11
11
|
// Uses GITHUB_TOKEN environment variable for authentication if available (higher rate limits)
|
|
12
12
|
class GitHubComponentsStore {
|
|
13
|
-
baseUrl =
|
|
13
|
+
baseUrl = "";
|
|
14
14
|
usePrereleases = false;
|
|
15
15
|
logger = logger_1.Logger.getInstance("github.store");
|
|
16
16
|
cachedReleases = null;
|
|
@@ -18,7 +18,7 @@ class GitHubComponentsStore {
|
|
|
18
18
|
maxRetries: 9,
|
|
19
19
|
baseDelay: 1000, // Start with 1 second
|
|
20
20
|
maxDelay: 30000, // Maximum 30 seconds
|
|
21
|
-
backoffMultiplier: 2
|
|
21
|
+
backoffMultiplier: 2,
|
|
22
22
|
};
|
|
23
23
|
constructor(repo = "interopio/iocd-components/releases", usePrereleases = false) {
|
|
24
24
|
this.baseUrl = `https://api.github.com/repos/${repo}`;
|
|
@@ -36,7 +36,7 @@ class GitHubComponentsStore {
|
|
|
36
36
|
*/
|
|
37
37
|
clearCache() {
|
|
38
38
|
this.cachedReleases = null;
|
|
39
|
-
this.logger.debug(
|
|
39
|
+
this.logger.debug("Cleared GitHub releases cache");
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Fetch with retry logic for handling rate limits and temporary failures
|
|
@@ -46,37 +46,38 @@ class GitHubComponentsStore {
|
|
|
46
46
|
this.logger.debug(`Fetching ${url} (attempt ${attempt}/${this.retryOptions.maxRetries + 1})`);
|
|
47
47
|
// Prepare headers with optional GitHub token authorization
|
|
48
48
|
const headers = {
|
|
49
|
-
|
|
49
|
+
"User-Agent": "iocd-cli",
|
|
50
50
|
};
|
|
51
|
-
const githubToken = process.env[
|
|
51
|
+
const githubToken = process.env["GITHUB_TOKEN"];
|
|
52
52
|
if (githubToken) {
|
|
53
|
-
headers[
|
|
54
|
-
this.logger.debug(
|
|
53
|
+
headers["Authorization"] = `Bearer ${githubToken}`;
|
|
54
|
+
this.logger.debug("Using GitHub token for authentication");
|
|
55
55
|
}
|
|
56
56
|
const response = await fetch(url, { headers });
|
|
57
57
|
// Log current rate limit status for debugging
|
|
58
|
-
const rateLimitRemaining = response.headers.get(
|
|
59
|
-
const rateLimitLimit = response.headers.get(
|
|
58
|
+
const rateLimitRemaining = response.headers.get("x-ratelimit-remaining");
|
|
59
|
+
const rateLimitLimit = response.headers.get("x-ratelimit-limit");
|
|
60
60
|
if (rateLimitRemaining && rateLimitLimit) {
|
|
61
61
|
this.logger.debug(`GitHub rate limit: ${rateLimitRemaining}/${rateLimitLimit} remaining`);
|
|
62
62
|
}
|
|
63
63
|
// Handle rate limiting (403) and server errors (5xx)
|
|
64
64
|
if (response.status === 403) {
|
|
65
|
-
const rateLimitRemaining = response.headers.get(
|
|
66
|
-
const rateLimitReset = response.headers.get(
|
|
67
|
-
if (rateLimitRemaining ===
|
|
65
|
+
const rateLimitRemaining = response.headers.get("x-ratelimit-remaining");
|
|
66
|
+
const rateLimitReset = response.headers.get("x-ratelimit-reset");
|
|
67
|
+
if (rateLimitRemaining === "0" && rateLimitReset) {
|
|
68
68
|
// We've hit the rate limit - wait until reset time
|
|
69
69
|
const resetTime = new Date(parseInt(rateLimitReset) * 1000);
|
|
70
70
|
const waitTime = Math.max(resetTime.getTime() - Date.now(), 1000); // Minimum 1 second
|
|
71
|
-
if (attempt <= this.retryOptions.maxRetries &&
|
|
71
|
+
if (attempt <= this.retryOptions.maxRetries &&
|
|
72
|
+
waitTime <= this.retryOptions.maxDelay) {
|
|
72
73
|
this.logger.debug(`GitHub rate limit exceeded. Waiting ${Math.ceil(waitTime / 1000)}s until reset at ${resetTime.toLocaleTimeString()}`);
|
|
73
74
|
await this.delay(waitTime);
|
|
74
75
|
return this.fetchWithRetry(url, attempt + 1);
|
|
75
76
|
}
|
|
76
77
|
else if (waitTime > this.retryOptions.maxDelay) {
|
|
77
78
|
const tokenHelp = githubToken
|
|
78
|
-
?
|
|
79
|
-
:
|
|
79
|
+
? ""
|
|
80
|
+
: "\n\nTo increase your rate limit, set a GITHUB_TOKEN:\n export GITHUB_TOKEN=your_token\n (Get a token from https://github.com/settings/tokens)";
|
|
80
81
|
throw new Error(`GitHub rate limit exceeded. Reset time (${Math.ceil(waitTime / 1000)}s) exceeds maximum wait time (${this.retryOptions.maxDelay / 1000}s). Please try again later.${tokenHelp}`);
|
|
81
82
|
}
|
|
82
83
|
}
|
|
@@ -88,10 +89,12 @@ class GitHubComponentsStore {
|
|
|
88
89
|
return this.fetchWithRetry(url, attempt + 1);
|
|
89
90
|
}
|
|
90
91
|
// If we've exhausted retries, provide helpful error message
|
|
91
|
-
const errorBody = await response
|
|
92
|
+
const errorBody = await response
|
|
93
|
+
.text()
|
|
94
|
+
.catch(() => "Unable to read error details");
|
|
92
95
|
const tokenHelp = githubToken
|
|
93
|
-
?
|
|
94
|
-
:
|
|
96
|
+
? ""
|
|
97
|
+
: "\n\nGitHub rate limit reached. To increase your limit, set a GITHUB_TOKEN:\n export GITHUB_TOKEN=your_token\n (Get a token from https://github.com/settings/tokens)";
|
|
95
98
|
throw new Error(`GitHub API rate limit or access denied (403). ${errorBody}. Try again later or check your network connection.${tokenHelp}`);
|
|
96
99
|
}
|
|
97
100
|
// Handle server errors (5xx) with exponential backoff
|
|
@@ -104,15 +107,21 @@ class GitHubComponentsStore {
|
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
109
|
// Handle other client errors (4xx) - don't retry these
|
|
107
|
-
if (response.status >= 400 &&
|
|
108
|
-
|
|
110
|
+
if (response.status >= 400 &&
|
|
111
|
+
response.status < 500 &&
|
|
112
|
+
response.status !== 403) {
|
|
113
|
+
const errorBody = await response
|
|
114
|
+
.text()
|
|
115
|
+
.catch(() => "Unable to read error details");
|
|
109
116
|
throw new Error(`GitHub API client error ${response.status} (${response.statusText}): ${errorBody}`);
|
|
110
117
|
}
|
|
111
118
|
return response;
|
|
112
119
|
}
|
|
113
120
|
catch (error) {
|
|
114
121
|
// Handle network errors and other exceptions
|
|
115
|
-
if (attempt <= this.retryOptions.maxRetries &&
|
|
122
|
+
if (attempt <= this.retryOptions.maxRetries &&
|
|
123
|
+
error instanceof Error &&
|
|
124
|
+
!error.message.includes("GitHub API")) {
|
|
116
125
|
const delay = this.calculateBackoffDelay(attempt);
|
|
117
126
|
this.logger.warn(`Network error: ${error.message}. Retrying in ${delay}ms...`);
|
|
118
127
|
await this.delay(delay);
|
|
@@ -125,7 +134,8 @@ class GitHubComponentsStore {
|
|
|
125
134
|
* Calculate exponential backoff delay
|
|
126
135
|
*/
|
|
127
136
|
calculateBackoffDelay(attempt) {
|
|
128
|
-
const delay = this.retryOptions.baseDelay *
|
|
137
|
+
const delay = this.retryOptions.baseDelay *
|
|
138
|
+
Math.pow(this.retryOptions.backoffMultiplier, attempt - 1);
|
|
129
139
|
return Math.min(delay, this.retryOptions.maxDelay);
|
|
130
140
|
}
|
|
131
141
|
/**
|
|
@@ -151,17 +161,21 @@ class GitHubComponentsStore {
|
|
|
151
161
|
}
|
|
152
162
|
// Get the data as buffer
|
|
153
163
|
const buffer = await response.arrayBuffer();
|
|
154
|
-
this.logger.debug(`Downloaded ${name}@${version ||
|
|
164
|
+
this.logger.debug(`Downloaded ${name}@${version || "latest"} (${targetComponent.name}) successfully!`);
|
|
155
165
|
return {
|
|
156
166
|
name: name,
|
|
157
167
|
data: new Uint8Array(buffer),
|
|
158
168
|
filename: targetComponent.filename,
|
|
159
|
-
actualVersion: targetComponent.version
|
|
169
|
+
actualVersion: targetComponent.version,
|
|
160
170
|
};
|
|
161
171
|
}
|
|
162
172
|
getInfo() {
|
|
163
|
-
const prereleaseStatus = this.usePrereleases
|
|
164
|
-
|
|
173
|
+
const prereleaseStatus = this.usePrereleases
|
|
174
|
+
? "including pre-releases"
|
|
175
|
+
: "stable releases only";
|
|
176
|
+
const authStatus = process.env["GITHUB_TOKEN"]
|
|
177
|
+
? "authenticated"
|
|
178
|
+
: "unauthenticated";
|
|
165
179
|
const retryInfo = `retries: ${this.retryOptions.maxRetries}, max delay: ${this.retryOptions.maxDelay}ms`;
|
|
166
180
|
return `GitHub Releases Store: ${this.baseUrl} (${prereleaseStatus}, ${authStatus}, ${retryInfo})`;
|
|
167
181
|
}
|
|
@@ -174,20 +188,22 @@ class GitHubComponentsStore {
|
|
|
174
188
|
// filter out by component name
|
|
175
189
|
let componentReleases = allReleases.filter(release => release.tag_name.startsWith(`${componentName}-v`));
|
|
176
190
|
if (componentReleases.length === 0) {
|
|
177
|
-
const prereleaseNote = this.usePrereleases
|
|
191
|
+
const prereleaseNote = this.usePrereleases
|
|
192
|
+
? ""
|
|
193
|
+
: " (pre-releases excluded - set usePrereleases: true to include them)";
|
|
178
194
|
throw new Error(`No releases found for component '${componentName}'${prereleaseNote}`);
|
|
179
195
|
}
|
|
180
196
|
let components = this.parseReleases(componentReleases);
|
|
181
197
|
const selectedComponent = (0, version_selector_1.selectVersion)(version, components);
|
|
182
198
|
if (selectedComponent) {
|
|
183
|
-
this.logger.debug(`Selected component: ${selectedComponent.name} ${selectedComponent.fullVersion} for platform ${selectedComponent.platform} ${selectedComponent.arch ||
|
|
199
|
+
this.logger.debug(`Selected component: ${selectedComponent.name} ${selectedComponent.fullVersion} for platform ${selectedComponent.platform} ${selectedComponent.arch || ""}`);
|
|
184
200
|
return selectedComponent;
|
|
185
201
|
}
|
|
186
202
|
throw new error_handler_1.CLIError(`Component not found for ${componentName}@${version})`, {
|
|
187
203
|
suggestions: [
|
|
188
204
|
`You are trying to install ${componentName}@${version} - check that the component name and version are correct`,
|
|
189
|
-
`Use iocd components browse" to see available components and versions
|
|
190
|
-
]
|
|
205
|
+
`Use iocd components browse" to see available components and versions`,
|
|
206
|
+
],
|
|
191
207
|
});
|
|
192
208
|
}
|
|
193
209
|
/**
|
|
@@ -212,7 +228,7 @@ class GitHubComponentsStore {
|
|
|
212
228
|
break;
|
|
213
229
|
}
|
|
214
230
|
allReleases.push(...releases);
|
|
215
|
-
const linkHeader = response.headers.get(
|
|
231
|
+
const linkHeader = response.headers.get("link");
|
|
216
232
|
nextUrl = this.getNextPageUrl(linkHeader);
|
|
217
233
|
// Safety limit
|
|
218
234
|
if (allReleases.length > 1000) {
|
|
@@ -234,7 +250,7 @@ class GitHubComponentsStore {
|
|
|
234
250
|
if (!linkHeader) {
|
|
235
251
|
return null;
|
|
236
252
|
}
|
|
237
|
-
const links = linkHeader.split(
|
|
253
|
+
const links = linkHeader.split(",");
|
|
238
254
|
for (const link of links) {
|
|
239
255
|
const match = link.match(/<([^>]+)>;\s*rel="next"/);
|
|
240
256
|
if (match) {
|
|
@@ -259,11 +275,13 @@ class GitHubComponentsStore {
|
|
|
259
275
|
version: baseVersion,
|
|
260
276
|
buildNumber: buildNumber,
|
|
261
277
|
fullVersion: version,
|
|
262
|
-
platform: assetInfo.platform ||
|
|
278
|
+
platform: assetInfo.platform ||
|
|
279
|
+
platform ||
|
|
280
|
+
platform_utils_1.ComponentPlatformUtils.getCurrentPlatform(),
|
|
263
281
|
arch: assetInfo.arch || arch || process.arch,
|
|
264
282
|
downloadUrl: asset.browser_download_url,
|
|
265
283
|
filename: asset.name,
|
|
266
|
-
prerelease: release.prerelease
|
|
284
|
+
prerelease: release.prerelease,
|
|
267
285
|
});
|
|
268
286
|
}
|
|
269
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.store.js","sourceRoot":"","sources":["../../../../src/services/components/stores/github.store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.store.js","sourceRoot":"","sources":["../../../../src/services/components/stores/github.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ class LocalComponentsStore {
|
|
|
49
49
|
for (const componentName of componentDirs) {
|
|
50
50
|
const componentPath = (0, path_1.join)(this.componentsDirectory, componentName);
|
|
51
51
|
// Skip hidden directories and files
|
|
52
|
-
if (componentName.startsWith(
|
|
52
|
+
if (componentName.startsWith(".")) {
|
|
53
53
|
continue;
|
|
54
54
|
}
|
|
55
55
|
try {
|
|
@@ -59,7 +59,8 @@ class LocalComponentsStore {
|
|
|
59
59
|
const versionComponents = await this.scanComponentVersions(componentPath);
|
|
60
60
|
components.push(...versionComponents);
|
|
61
61
|
}
|
|
62
|
-
else if (stat.isFile() &&
|
|
62
|
+
else if (stat.isFile() &&
|
|
63
|
+
this.isSupportedPackageFile(componentName)) {
|
|
63
64
|
// Legacy support: Handle single package files in root directory
|
|
64
65
|
this.logger.warn(`Found legacy component file in root: ${componentName}. Consider moving to component/version structure.`);
|
|
65
66
|
const component = await this.createComponentFromFile(componentPath, componentName);
|
|
@@ -95,14 +96,14 @@ class LocalComponentsStore {
|
|
|
95
96
|
throw new error_handler_1.CLIError(`No versions of component ${name} found for current platform (${platform_utils_1.ComponentPlatformUtils.getCurrentPlatform()}) in local store.`, {
|
|
96
97
|
suggestions: [
|
|
97
98
|
`Check that the component ${name} has versions built for your platform (${platform_utils_1.ComponentPlatformUtils.getCurrentPlatform()})`,
|
|
98
|
-
`Available versions: ${components.map(c => `${c.version} (${c.platform})`).join(
|
|
99
|
-
`Ensure your local store follows the structure: ${this.componentsDirectory}/${name}/v${version}/${name}-v${version}-${platform_utils_1.ComponentPlatformUtils.getCurrentPlatform()}.ext
|
|
100
|
-
]
|
|
99
|
+
`Available versions: ${components.map(c => `${c.version} (${c.platform})`).join(", ") || "none"}`,
|
|
100
|
+
`Ensure your local store follows the structure: ${this.componentsDirectory}/${name}/v${version}/${name}-v${version}-${platform_utils_1.ComponentPlatformUtils.getCurrentPlatform()}.ext`,
|
|
101
|
+
],
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
104
|
// Find matching component, preferring current platform
|
|
104
105
|
let matchingComponent;
|
|
105
|
-
if (version ===
|
|
106
|
+
if (version === "latest") {
|
|
106
107
|
matchingComponent = this.getLatestVersion(platformMatches);
|
|
107
108
|
}
|
|
108
109
|
else {
|
|
@@ -113,13 +114,13 @@ class LocalComponentsStore {
|
|
|
113
114
|
const availableVersions = components
|
|
114
115
|
.filter(c => c.name === name)
|
|
115
116
|
.map(c => `${c.version} (${c.platform})`)
|
|
116
|
-
.join(
|
|
117
|
-
throw new error_handler_1.CLIError(`Component ${name}${version ? `@${version}` :
|
|
117
|
+
.join(", ");
|
|
118
|
+
throw new error_handler_1.CLIError(`Component ${name}${version ? `@${version}` : ""} not found in local store. `, {
|
|
118
119
|
suggestions: [
|
|
119
120
|
`You are trying to install ${name}@${version} - check that the component name and version are correct`,
|
|
120
|
-
`Available versions: ${availableVersions ||
|
|
121
|
-
`Ensure your local store follows the structure: ${this.componentsDirectory}/${name}/v${version}/${name}-v${version}-${currentPlatform}.ext
|
|
122
|
-
]
|
|
121
|
+
`Available versions: ${availableVersions || "none"}`,
|
|
122
|
+
`Ensure your local store follows the structure: ${this.componentsDirectory}/${name}/v${version}/${name}-v${version}-${currentPlatform}.ext`,
|
|
123
|
+
],
|
|
123
124
|
});
|
|
124
125
|
}
|
|
125
126
|
// Use downloadUrl as the file path for local components
|
|
@@ -135,7 +136,7 @@ class LocalComponentsStore {
|
|
|
135
136
|
name: matchingComponent.name,
|
|
136
137
|
data: data,
|
|
137
138
|
filename: (0, path_1.basename)(filePath),
|
|
138
|
-
actualVersion: matchingComponent.version
|
|
139
|
+
actualVersion: matchingComponent.version,
|
|
139
140
|
};
|
|
140
141
|
}
|
|
141
142
|
catch (error) {
|
|
@@ -182,7 +183,7 @@ class LocalComponentsStore {
|
|
|
182
183
|
platform: parsed.platform || platform_utils_1.ComponentPlatformUtils.getCurrentPlatform(),
|
|
183
184
|
downloadUrl: filePath, // Store file path as download URL for local components
|
|
184
185
|
filename: filename,
|
|
185
|
-
prerelease: false // Legacy files are assumed stable
|
|
186
|
+
prerelease: false, // Legacy files are assumed stable
|
|
186
187
|
};
|
|
187
188
|
this.logger.debug(`Created component from file: ${component.name}@${component.version} (${component.platform})`);
|
|
188
189
|
return component;
|
|
@@ -208,7 +209,7 @@ class LocalComponentsStore {
|
|
|
208
209
|
platform: componentInfo.platform || platform_utils_1.ComponentPlatformUtils.getCurrentPlatform(),
|
|
209
210
|
downloadUrl: filepath,
|
|
210
211
|
filename,
|
|
211
|
-
prerelease: false // Structured local files are assumed stable
|
|
212
|
+
prerelease: false, // Structured local files are assumed stable
|
|
212
213
|
};
|
|
213
214
|
this.logger.debug(`Created structured component: ${component.name}@${component.version} (${component.platform})`);
|
|
214
215
|
return component;
|
|
@@ -228,7 +229,7 @@ class LocalComponentsStore {
|
|
|
228
229
|
const versionDirs = (0, fs_1.readdirSync)(componentPath);
|
|
229
230
|
for (const versionDir of versionDirs) {
|
|
230
231
|
// ignore directories that do not start with v
|
|
231
|
-
if (!versionDir.startsWith(
|
|
232
|
+
if (!versionDir.startsWith("v")) {
|
|
232
233
|
continue;
|
|
233
234
|
}
|
|
234
235
|
const versionPath = (0, path_1.join)(componentPath, versionDir);
|
|
@@ -255,7 +256,7 @@ class LocalComponentsStore {
|
|
|
255
256
|
try {
|
|
256
257
|
const files = (0, fs_1.readdirSync)(versionPath);
|
|
257
258
|
for (const filename of files) {
|
|
258
|
-
if (filename.startsWith(
|
|
259
|
+
if (filename.startsWith(".")) {
|
|
259
260
|
continue;
|
|
260
261
|
}
|
|
261
262
|
const filePath = (0, path_1.join)(versionPath, filename);
|
|
@@ -280,9 +281,9 @@ class LocalComponentsStore {
|
|
|
280
281
|
getLatestVersion(components) {
|
|
281
282
|
return components.reduce((latest, current) => {
|
|
282
283
|
// Simple string comparison - "latest" always wins, otherwise lexicographic
|
|
283
|
-
if (current.version ===
|
|
284
|
+
if (current.version === "latest")
|
|
284
285
|
return current;
|
|
285
|
-
if (latest.version ===
|
|
286
|
+
if (latest.version === "latest")
|
|
286
287
|
return latest;
|
|
287
288
|
return current.version > latest.version ? current : latest;
|
|
288
289
|
});
|