fix(#2849): resolve platform binaries using current package name
The installer wrapper and postinstall script still hardcoded the old oh-my-opencode-* platform package family. When users installed the renamed npm package oh-my-openagent (for example via npx oh-my-openagent install on WSL2/Linux), the main package installed correctly but the wrapper looked for nonexistent optional binaries like oh-my-opencode-linux-x64. Fix: - derive packageBaseName from package.json at runtime in wrapper/postinstall - thread packageBaseName through platform package candidate resolution - keep legacy oh-my-opencode default as fallback - add regression test for renamed package family
This commit is contained in:
@@ -190,6 +190,21 @@ describe("getPlatformPackageCandidates", () => {
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
|
||||
test("supports renamed package family via packageBaseName override", () => {
|
||||
// #given Linux x64 with glibc and renamed package base
|
||||
const input = { platform: "linux", arch: "x64", libcFamily: "glibc", packageBaseName: "oh-my-openagent" };
|
||||
|
||||
// #when getting package candidates
|
||||
const result = getPlatformPackageCandidates(input);
|
||||
|
||||
// #then returns renamed package family candidates
|
||||
expect(result).toEqual([
|
||||
"oh-my-openagent-linux-x64",
|
||||
"oh-my-openagent-linux-x64-baseline",
|
||||
]);
|
||||
});
|
||||
test("returns only one candidate for ARM64", () => {
|
||||
// #given non-x64 platform
|
||||
const input = { platform: "linux", arch: "arm64", libcFamily: "glibc" };
|
||||
|
||||
Reference in New Issue
Block a user