@tokscale/cli 3.1.0 → 3.1.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 +51 -4
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { spawnSync, execSync } from "node:child_process";
|
|
3
|
-
import { existsSync, realpathSync } from "node:fs";
|
|
3
|
+
import { existsSync, readdirSync, realpathSync } from "node:fs";
|
|
4
4
|
import { resolve, join, basename } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
const binaryName = process.platform === "win32" ? "tokscale.exe" : "tokscale";
|
|
@@ -20,6 +20,11 @@ const cliDir = isSubDir ? resolve(currentDir, "..") : currentDir;
|
|
|
20
20
|
const scopeDir = resolve(cliDir, "..");
|
|
21
21
|
const workspaceRoot = resolve(scopeDir, "..");
|
|
22
22
|
function detectLibcKind() {
|
|
23
|
+
const override = process.env.TOKSCALE_LIBC?.trim().toLowerCase();
|
|
24
|
+
if (override === "musl")
|
|
25
|
+
return "musl";
|
|
26
|
+
if (override === "gnu" || override === "glibc")
|
|
27
|
+
return "gnu";
|
|
23
28
|
const report = process.report?.getReport?.();
|
|
24
29
|
if (report?.header?.glibcVersionRuntime) {
|
|
25
30
|
return "gnu";
|
|
@@ -28,16 +33,58 @@ function detectLibcKind() {
|
|
|
28
33
|
report.sharedObjects.some((obj) => obj.toLowerCase().includes("musl"))) {
|
|
29
34
|
return "musl";
|
|
30
35
|
}
|
|
36
|
+
// Bun reports neither glibcVersionRuntime nor sharedObjects, but its
|
|
37
|
+
// release.sourceUrl names the build flavor (e.g. bun-linux-x64-musl-baseline.zip).
|
|
38
|
+
if (report?.header?.release?.sourceUrl?.toLowerCase().includes("musl")) {
|
|
39
|
+
return "musl";
|
|
40
|
+
}
|
|
31
41
|
try {
|
|
32
42
|
const output = execSync("ldd --version", {
|
|
33
43
|
encoding: "utf-8",
|
|
34
44
|
stdio: ["ignore", "pipe", "pipe"],
|
|
35
45
|
}).toLowerCase();
|
|
36
|
-
|
|
46
|
+
if (output.includes("musl"))
|
|
47
|
+
return "musl";
|
|
48
|
+
if (output.includes("glibc") || output.includes("gnu"))
|
|
49
|
+
return "gnu";
|
|
37
50
|
}
|
|
38
|
-
catch {
|
|
39
|
-
|
|
51
|
+
catch (error) {
|
|
52
|
+
// musl's ldd rejects --version: it prints "musl libc" to stderr and
|
|
53
|
+
// exits non-zero, so the answer is in the error, not the output.
|
|
54
|
+
const { stdout, stderr } = (error ?? {});
|
|
55
|
+
const combined = `${stdout ?? ""}\n${stderr ?? ""}`.toLowerCase();
|
|
56
|
+
if (combined.includes("musl"))
|
|
57
|
+
return "musl";
|
|
58
|
+
if (combined.includes("glibc") || combined.includes("gnu"))
|
|
59
|
+
return "gnu";
|
|
60
|
+
}
|
|
61
|
+
// ldd missing or inconclusive: look for dynamic loaders. Either loader
|
|
62
|
+
// can coexist with the other's libc (Debian's musl package installs
|
|
63
|
+
// ld-musl-*; Alpine's gcompat installs ld-linux-*), so when both are
|
|
64
|
+
// present, let the distro break the tie.
|
|
65
|
+
const hasGnuLoader = loaderPresent("ld-linux-");
|
|
66
|
+
const hasMuslLoader = loaderPresent("ld-musl-");
|
|
67
|
+
if (hasGnuLoader !== hasMuslLoader)
|
|
68
|
+
return hasMuslLoader ? "musl" : "gnu";
|
|
69
|
+
if (hasGnuLoader && hasMuslLoader) {
|
|
70
|
+
return existsSync("/etc/alpine-release") ? "musl" : "gnu";
|
|
71
|
+
}
|
|
72
|
+
return "gnu";
|
|
73
|
+
}
|
|
74
|
+
// Glibc ships ld-linux-*.so.* in /lib64 (or /lib on some arches); musl
|
|
75
|
+
// distros (Alpine, Void-musl, ...) ship /lib/ld-musl-<arch>.so.1.
|
|
76
|
+
function loaderPresent(prefix) {
|
|
77
|
+
for (const dir of ["/lib", "/lib64"]) {
|
|
78
|
+
try {
|
|
79
|
+
if (readdirSync(dir).some((entry) => entry.startsWith(prefix))) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Directory unreadable or missing; try the next one.
|
|
85
|
+
}
|
|
40
86
|
}
|
|
87
|
+
return false;
|
|
41
88
|
}
|
|
42
89
|
function resolveTargetPackageName() {
|
|
43
90
|
const arch = process.arch;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tokscale/cli",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "A high-performance CLI tool and visualization dashboard for tracking AI coding assistant token usage and costs across multiple platforms.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {},
|
|
31
31
|
"optionalDependencies": {
|
|
32
|
-
"@tokscale/cli-darwin-arm64": "3.1.
|
|
33
|
-
"@tokscale/cli-darwin-x64": "3.1.
|
|
34
|
-
"@tokscale/cli-linux-x64-gnu": "3.1.
|
|
35
|
-
"@tokscale/cli-linux-x64-musl": "3.1.
|
|
36
|
-
"@tokscale/cli-linux-arm64-gnu": "3.1.
|
|
37
|
-
"@tokscale/cli-linux-arm64-musl": "3.1.
|
|
38
|
-
"@tokscale/cli-win32-x64-msvc": "3.1.
|
|
39
|
-
"@tokscale/cli-win32-arm64-msvc": "3.1.
|
|
32
|
+
"@tokscale/cli-darwin-arm64": "3.1.2",
|
|
33
|
+
"@tokscale/cli-darwin-x64": "3.1.2",
|
|
34
|
+
"@tokscale/cli-linux-x64-gnu": "3.1.2",
|
|
35
|
+
"@tokscale/cli-linux-x64-musl": "3.1.2",
|
|
36
|
+
"@tokscale/cli-linux-arm64-gnu": "3.1.2",
|
|
37
|
+
"@tokscale/cli-linux-arm64-musl": "3.1.2",
|
|
38
|
+
"@tokscale/cli-win32-x64-msvc": "3.1.2",
|
|
39
|
+
"@tokscale/cli-win32-arm64-msvc": "3.1.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^20.0.0",
|