FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
opencode/packages/opencode/bin/opencode at dev · lightsofapollo/opencode · GitHub
lightsofapollo
/
opencode
Public
forked from
anomalyco/opencode
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
opencode
/
packages
/
opencode
/
bin
/
opencode
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
84 lines (75 loc) · 1.88 KB
Breadcrumbs
opencode
/
packages
/
opencode
/
bin
/
opencode
Copy path
File metadata and controls
executable file
·
84 lines (75 loc) · 1.88 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env node
const
childProcess
=
require
(
"child_process"
)
const
fs
=
require
(
"fs"
)
const
path
=
require
(
"path"
)
const
os
=
require
(
"os"
)
function
run
(
target
)
{
const
result
=
childProcess
.
spawnSync
(
target
,
process
.
argv
.
slice
(
2
)
,
{
stdio
:
"inherit"
,
}
)
if
(
result
.
error
)
{
console
.
error
(
result
.
error
.
message
)
process
.
exit
(
1
)
}
const
code
=
typeof
result
.
status
===
"number"
?
result
.
status
:
0
process
.
exit
(
code
)
}
const
envPath
=
process
.
env
.
OPENCODE_BIN_PATH
if
(
envPath
)
{
run
(
envPath
)
}
const
scriptPath
=
fs
.
realpathSync
(
__filename
)
const
scriptDir
=
path
.
dirname
(
scriptPath
)
const
platformMap
=
{
darwin
:
"darwin"
,
linux
:
"linux"
,
win32
:
"windows"
,
}
const
archMap
=
{
x64
:
"x64"
,
arm64
:
"arm64"
,
arm
:
"arm"
,
}
let
platform
=
platformMap
[
os
.
platform
(
)
]
if
(
!
platform
)
{
platform
=
os
.
platform
(
)
}
let
arch
=
archMap
[
os
.
arch
(
)
]
if
(
!
arch
)
{
arch
=
os
.
arch
(
)
}
const
base
=
"opencode-"
+
platform
+
"-"
+
arch
const
binary
=
platform
===
"windows"
?
"opencode.exe"
:
"opencode"
function
findBinary
(
startDir
)
{
let
current
=
startDir
for
(
;
;
)
{
const
modules
=
path
.
join
(
current
,
"node_modules"
)
if
(
fs
.
existsSync
(
modules
)
)
{
const
entries
=
fs
.
readdirSync
(
modules
)
for
(
const
entry
of
entries
)
{
if
(
!
entry
.
startsWith
(
base
)
)
{
continue
}
const
candidate
=
path
.
join
(
modules
,
entry
,
"bin"
,
binary
)
if
(
fs
.
existsSync
(
candidate
)
)
{
return
candidate
}
}
}
const
parent
=
path
.
dirname
(
current
)
if
(
parent
===
current
)
{
return
}
current
=
parent
}
}
const
resolved
=
findBinary
(
scriptDir
)
if
(
!
resolved
)
{
console
.
error
(
'It seems that your package manager failed to install the right version of the opencode CLI for your platform. You can try manually installing the "'
+
base
+
'" package'
,
)
process
.
exit
(
1
)
}
run
(
resolved
)
Back
|
FazBrowse Home
|
New Git URL