core: enable npm bin links on non-Windows platforms to allow plugin executables to work while keeping them disabled on Windows CI where symlink permissions are restricted
parent
1b408cf06b
commit
0b5d54f2cb
|
|
@ -34,8 +34,6 @@ import { Account } from "@/account"
|
|||
import { ConfigPaths } from "./paths"
|
||||
import { Filesystem } from "@/util/filesystem"
|
||||
import { Npm } from "@/npm"
|
||||
import { BunProc } from "@/bun"
|
||||
import { proxied } from "@/util/proxied"
|
||||
|
||||
export namespace Config {
|
||||
const ModelId = z.string().meta({ $ref: "https://models.dev/model-schema.json#/$defs/Model" })
|
||||
|
|
@ -289,14 +287,7 @@ export namespace Config {
|
|||
|
||||
// Install any additional dependencies defined in the package.json
|
||||
// This allows local plugins and custom tools to use external packages
|
||||
await BunProc.run(
|
||||
[
|
||||
"install",
|
||||
// TODO: get rid of this case (see: https://github.com/oven-sh/bun/issues/19936)
|
||||
...(proxied() || process.env.CI ? ["--no-cache"] : []),
|
||||
],
|
||||
{ cwd: dir },
|
||||
).catch((err) => {
|
||||
await Npm.install(dir).catch((err) => {
|
||||
log.warn("failed to install dependencies", { dir, error: err })
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,9 +84,11 @@ export namespace Npm {
|
|||
|
||||
export async function install(dir: string) {
|
||||
log.info("installing dependencies", { dir })
|
||||
// Disable binLinks on Windows CI where symlink permissions are restricted
|
||||
const isWindowsCI = process.platform === "win32" && process.env.CI
|
||||
const arb = new Arborist({
|
||||
path: dir,
|
||||
binLinks: false,
|
||||
binLinks: !isWindowsCI,
|
||||
progress: false,
|
||||
savePrefix: "",
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue