kangentic 0.43.1 → 0.44.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/README.md +1 -1
- package/bin/kangentic.js +26 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ The launcher version matches the app version. Specifying a version downloads tha
|
|
|
49
49
|
## Prerequisites
|
|
50
50
|
|
|
51
51
|
- **[Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code)** installed and on your PATH
|
|
52
|
-
- **[Git 2.
|
|
52
|
+
- **[Git 2.26+](https://git-scm.com/)** for worktree support
|
|
53
53
|
|
|
54
54
|
## Links
|
|
55
55
|
|
package/bin/kangentic.js
CHANGED
|
@@ -18,8 +18,27 @@ const REPO_OWNER = 'Kangentic';
|
|
|
18
18
|
const REPO_NAME = 'kangentic';
|
|
19
19
|
const MAX_REDIRECTS = 5;
|
|
20
20
|
|
|
21
|
+
// The oldest macOS the app starts on, as the Darwin major that os.release()
|
|
22
|
+
// reports (macOS 13 is Darwin 22). Electron 44 dropped macOS 12, and
|
|
23
|
+
// electron-builder.yml's mac.minimumSystemVersion says 13.0;
|
|
24
|
+
// tests/unit/launcher-macos-floor.test.ts keeps the two in step.
|
|
25
|
+
const MINIMUM_DARWIN_MAJOR = 22;
|
|
26
|
+
|
|
21
27
|
// --- Platform detection ---
|
|
22
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Whether this Mac is too old for the app this launcher installs. Checked
|
|
31
|
+
* before anything downloads: macOS refuses to open the app on an older system,
|
|
32
|
+
* so the alternative is a download, an install, and a launch that silently
|
|
33
|
+
* does nothing. A release string that does not parse is not refused, so an
|
|
34
|
+
* unexpected format can never lock a supported Mac out.
|
|
35
|
+
*/
|
|
36
|
+
function isUnsupportedMacOS(platform, osRelease) {
|
|
37
|
+
if (platform !== 'darwin') return false;
|
|
38
|
+
const darwinMajor = Number.parseInt(String(osRelease).split('.')[0], 10);
|
|
39
|
+
return Number.isFinite(darwinMajor) && darwinMajor < MINIMUM_DARWIN_MAJOR;
|
|
40
|
+
}
|
|
41
|
+
|
|
23
42
|
function getPlatformInfo() {
|
|
24
43
|
const platform = process.platform;
|
|
25
44
|
const arch = process.arch;
|
|
@@ -441,6 +460,11 @@ async function main() {
|
|
|
441
460
|
process.exit(1);
|
|
442
461
|
}
|
|
443
462
|
|
|
463
|
+
if (isUnsupportedMacOS(process.platform, os.release())) {
|
|
464
|
+
console.error('Kangentic requires macOS 13 or later.');
|
|
465
|
+
process.exit(1);
|
|
466
|
+
}
|
|
467
|
+
|
|
444
468
|
// Check if already installed
|
|
445
469
|
if (!forceInstall && isInstalled(platformInfo)) {
|
|
446
470
|
console.log(`Kangentic v${VERSION} is already installed.`);
|
|
@@ -531,4 +555,6 @@ module.exports = {
|
|
|
531
555
|
installLinux,
|
|
532
556
|
isAppRunning,
|
|
533
557
|
shouldAdviseReopen,
|
|
558
|
+
isUnsupportedMacOS,
|
|
559
|
+
MINIMUM_DARWIN_MAJOR,
|
|
534
560
|
};
|