@vikasitai/vikasit-code 1.0.7 → 1.1.1
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/bin/vikasit +35 -107
- package/package.json +13 -13
package/bin/vikasit
CHANGED
|
@@ -13,93 +13,38 @@ function run(target) {
|
|
|
13
13
|
console.error(result.error.message)
|
|
14
14
|
process.exit(1)
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
process.exit(code)
|
|
16
|
+
process.exit(typeof result.status === "number" ? result.status : 0)
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
const envPath = process.env.VIKASIT_BIN_PATH
|
|
21
|
-
if (envPath)
|
|
22
|
-
run(envPath)
|
|
23
|
-
}
|
|
20
|
+
if (envPath) run(envPath)
|
|
24
21
|
|
|
25
22
|
const scriptPath = fs.realpathSync(__filename)
|
|
26
23
|
const scriptDir = path.dirname(scriptPath)
|
|
27
24
|
|
|
28
|
-
//
|
|
29
25
|
const cached = path.join(scriptDir, ".vikasit")
|
|
30
|
-
if (fs.existsSync(cached))
|
|
31
|
-
run(cached)
|
|
32
|
-
}
|
|
26
|
+
if (fs.existsSync(cached)) run(cached)
|
|
33
27
|
|
|
34
|
-
const platformMap = {
|
|
35
|
-
|
|
36
|
-
linux: "linux",
|
|
37
|
-
win32: "windows",
|
|
38
|
-
}
|
|
39
|
-
const archMap = {
|
|
40
|
-
x64: "x64",
|
|
41
|
-
arm64: "arm64",
|
|
42
|
-
arm: "arm",
|
|
43
|
-
}
|
|
28
|
+
const platformMap = { darwin: "darwin", linux: "linux", win32: "windows" }
|
|
29
|
+
const archMap = { x64: "x64", arm64: "arm64", arm: "arm" }
|
|
44
30
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
let arch = archMap[os.arch()]
|
|
50
|
-
if (!arch) {
|
|
51
|
-
arch = os.arch()
|
|
52
|
-
}
|
|
53
|
-
const base = "opencode-" + platform + "-" + arch
|
|
54
|
-
const binary = platform === "windows" ? "opencode.exe" : "vikasit"
|
|
31
|
+
const platform = platformMap[os.platform()] || os.platform()
|
|
32
|
+
const arch = archMap[os.arch()] || os.arch()
|
|
33
|
+
const base = "vikasit-code-" + platform + "-" + arch
|
|
34
|
+
const binary = platform === "windows" ? "vikasit.exe" : "vikasit"
|
|
55
35
|
|
|
56
36
|
function supportsAvx2() {
|
|
57
37
|
if (arch !== "x64") return false
|
|
58
|
-
|
|
59
|
-
if (platform === "linux") {
|
|
60
|
-
try {
|
|
61
|
-
return /(^|\s)avx2(\s|$)/i.test(fs.readFileSync("/proc/cpuinfo", "utf8"))
|
|
62
|
-
} catch {
|
|
63
|
-
return false
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
38
|
if (platform === "darwin") {
|
|
68
39
|
try {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
})
|
|
73
|
-
if (result.status !== 0) return false
|
|
74
|
-
return (result.stdout || "").trim() === "1"
|
|
75
|
-
} catch {
|
|
76
|
-
return false
|
|
77
|
-
}
|
|
40
|
+
const r = childProcess.spawnSync("sysctl", ["-n", "hw.optional.avx2_0"], { encoding: "utf8", timeout: 1500 })
|
|
41
|
+
return r.status === 0 && (r.stdout || "").trim() === "1"
|
|
42
|
+
} catch { return false }
|
|
78
43
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
'(Add-Type -MemberDefinition "[DllImport(""kernel32.dll"")] public static extern bool IsProcessorFeaturePresent(int ProcessorFeature);" -Name Kernel32 -Namespace Win32 -PassThru)::IsProcessorFeaturePresent(40)'
|
|
83
|
-
|
|
84
|
-
for (const exe of ["powershell.exe", "pwsh.exe", "pwsh", "powershell"]) {
|
|
85
|
-
try {
|
|
86
|
-
const result = childProcess.spawnSync(exe, ["-NoProfile", "-NonInteractive", "-Command", cmd], {
|
|
87
|
-
encoding: "utf8",
|
|
88
|
-
timeout: 3000,
|
|
89
|
-
windowsHide: true,
|
|
90
|
-
})
|
|
91
|
-
if (result.status !== 0) continue
|
|
92
|
-
const out = (result.stdout || "").trim().toLowerCase()
|
|
93
|
-
if (out === "true" || out === "1") return true
|
|
94
|
-
if (out === "false" || out === "0") return false
|
|
95
|
-
} catch {
|
|
96
|
-
continue
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return false
|
|
44
|
+
if (platform === "linux") {
|
|
45
|
+
try { return /(^|\s)avx2(\s|$)/i.test(fs.readFileSync("/proc/cpuinfo", "utf8")) }
|
|
46
|
+
catch { return false }
|
|
101
47
|
}
|
|
102
|
-
|
|
103
48
|
return false
|
|
104
49
|
}
|
|
105
50
|
|
|
@@ -109,43 +54,24 @@ const names = (() => {
|
|
|
109
54
|
|
|
110
55
|
if (platform === "linux") {
|
|
111
56
|
const musl = (() => {
|
|
57
|
+
try { if (fs.existsSync("/etc/alpine-release")) return true } catch {}
|
|
112
58
|
try {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
try {
|
|
119
|
-
const result = childProcess.spawnSync("ldd", ["--version"], { encoding: "utf8" })
|
|
120
|
-
const text = ((result.stdout || "") + (result.stderr || "")).toLowerCase()
|
|
121
|
-
if (text.includes("musl")) return true
|
|
122
|
-
} catch {
|
|
123
|
-
// ignore
|
|
124
|
-
}
|
|
125
|
-
|
|
59
|
+
const r = childProcess.spawnSync("ldd", ["--version"], { encoding: "utf8" })
|
|
60
|
+
if (((r.stdout || "") + (r.stderr || "")).toLowerCase().includes("musl")) return true
|
|
61
|
+
} catch {}
|
|
126
62
|
return false
|
|
127
63
|
})()
|
|
128
64
|
|
|
129
65
|
if (musl) {
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
return [`${base}-musl`, `${base}-baseline-musl`, base, `${base}-baseline`]
|
|
133
|
-
}
|
|
134
|
-
return [`${base}-musl`, base]
|
|
66
|
+
if (baseline) return [`${base}-baseline-musl`, `${base}-musl`, `${base}-baseline`, base]
|
|
67
|
+
return [`${base}-musl`, `${base}-baseline-musl`, base, `${base}-baseline`]
|
|
135
68
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (baseline) return [`${base}-baseline`, base, `${base}-baseline-musl`, `${base}-musl`]
|
|
139
|
-
return [base, `${base}-baseline`, `${base}-musl`, `${base}-baseline-musl`]
|
|
140
|
-
}
|
|
141
|
-
return [base, `${base}-musl`]
|
|
69
|
+
if (baseline) return [`${base}-baseline`, base, `${base}-baseline-musl`, `${base}-musl`]
|
|
70
|
+
return [base, `${base}-baseline`, `${base}-musl`, `${base}-baseline-musl`]
|
|
142
71
|
}
|
|
143
72
|
|
|
144
|
-
if (
|
|
145
|
-
|
|
146
|
-
return [base, `${base}-baseline`]
|
|
147
|
-
}
|
|
148
|
-
return [base]
|
|
73
|
+
if (baseline) return [`${base}-baseline`, base]
|
|
74
|
+
return [base, `${base}-baseline`]
|
|
149
75
|
})()
|
|
150
76
|
|
|
151
77
|
function findBinary(startDir) {
|
|
@@ -154,14 +80,16 @@ function findBinary(startDir) {
|
|
|
154
80
|
const modules = path.join(current, "node_modules")
|
|
155
81
|
if (fs.existsSync(modules)) {
|
|
156
82
|
for (const name of names) {
|
|
157
|
-
|
|
158
|
-
|
|
83
|
+
// Check @vikasitai scoped package first
|
|
84
|
+
const scoped = path.join(modules, "@vikasitai", name, "bin", binary)
|
|
85
|
+
if (fs.existsSync(scoped)) return scoped
|
|
86
|
+
// Fallback to unscoped
|
|
87
|
+
const unscoped = path.join(modules, name, "bin", binary)
|
|
88
|
+
if (fs.existsSync(unscoped)) return unscoped
|
|
159
89
|
}
|
|
160
90
|
}
|
|
161
91
|
const parent = path.dirname(current)
|
|
162
|
-
if (parent === current)
|
|
163
|
-
return
|
|
164
|
-
}
|
|
92
|
+
if (parent === current) return
|
|
165
93
|
current = parent
|
|
166
94
|
}
|
|
167
95
|
}
|
|
@@ -169,9 +97,9 @@ function findBinary(startDir) {
|
|
|
169
97
|
const resolved = findBinary(scriptDir)
|
|
170
98
|
if (!resolved) {
|
|
171
99
|
console.error(
|
|
172
|
-
"
|
|
173
|
-
|
|
174
|
-
|
|
100
|
+
"Could not find Vikasit Code binary for your platform (" + platform + "/" + arch + ").\n" +
|
|
101
|
+
"Try: npm install -g @vikasitai/" + names[0] + "\n" +
|
|
102
|
+
"Or visit: https://vikasit.ai/code"
|
|
175
103
|
)
|
|
176
104
|
process.exit(1)
|
|
177
105
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vikasitai/vikasit-code",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Your AI coding partner, right in the terminal",
|
|
5
5
|
"author": "Vikasit AI <info@vikasit.ai>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
"postinstall": "node ./postinstall.mjs || true"
|
|
13
13
|
},
|
|
14
14
|
"optionalDependencies": {
|
|
15
|
-
"@vikasitai/vikasit-code-darwin-arm64": "1.
|
|
16
|
-
"@vikasitai/vikasit-code-darwin-x64": "1.
|
|
17
|
-
"@vikasitai/vikasit-code-darwin-x64-baseline": "1.
|
|
18
|
-
"@vikasitai/vikasit-code-linux-arm64": "1.
|
|
19
|
-
"@vikasitai/vikasit-code-linux-arm64-musl": "1.
|
|
20
|
-
"@vikasitai/vikasit-code-linux-x64": "1.
|
|
21
|
-
"@vikasitai/vikasit-code-linux-x64-baseline": "1.
|
|
22
|
-
"@vikasitai/vikasit-code-linux-x64-baseline-musl": "1.
|
|
23
|
-
"@vikasitai/vikasit-code-linux-x64-musl": "1.
|
|
24
|
-
"@vikasitai/vikasit-code-windows-arm64": "1.
|
|
25
|
-
"@vikasitai/vikasit-code-windows-x64": "1.
|
|
26
|
-
"@vikasitai/vikasit-code-windows-x64-baseline": "1.
|
|
15
|
+
"@vikasitai/vikasit-code-darwin-arm64": "1.1.1",
|
|
16
|
+
"@vikasitai/vikasit-code-darwin-x64": "1.1.1",
|
|
17
|
+
"@vikasitai/vikasit-code-darwin-x64-baseline": "1.1.1",
|
|
18
|
+
"@vikasitai/vikasit-code-linux-arm64": "1.1.1",
|
|
19
|
+
"@vikasitai/vikasit-code-linux-arm64-musl": "1.1.1",
|
|
20
|
+
"@vikasitai/vikasit-code-linux-x64": "1.1.1",
|
|
21
|
+
"@vikasitai/vikasit-code-linux-x64-baseline": "1.1.1",
|
|
22
|
+
"@vikasitai/vikasit-code-linux-x64-baseline-musl": "1.1.1",
|
|
23
|
+
"@vikasitai/vikasit-code-linux-x64-musl": "1.1.1",
|
|
24
|
+
"@vikasitai/vikasit-code-windows-arm64": "1.1.1",
|
|
25
|
+
"@vikasitai/vikasit-code-windows-x64": "1.1.1",
|
|
26
|
+
"@vikasitai/vikasit-code-windows-x64-baseline": "1.1.1"
|
|
27
27
|
}
|
|
28
28
|
}
|