Skip to content

Commit 77e1a63

Browse files
authored
fix(dev): reliably detect path to bin for deps (#6175)
1 parent 2331aa7 commit 77e1a63

File tree

1 file changed

+12
-2
lines changed
  • packages/remix-dev/devServer_unstable

1 file changed

+12
-2
lines changed

packages/remix-dev/devServer_unstable/index.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@ let patchPublicPath = (
3535
};
3636
};
3737

38+
let detectBin = async (): Promise<string> => {
39+
let pkgManager = detectPackageManager() ?? "npm";
40+
if (pkgManager === "npm") {
41+
// npm v9 removed the `bin` command, so have to use `prefix`
42+
let { stdout } = await execa(pkgManager, ["prefix"]);
43+
return stdout.trim() + "/node_modules/.bin";
44+
}
45+
let { stdout } = await execa(pkgManager, ["bin"]);
46+
return stdout.trim();
47+
};
48+
3849
export let serve = async (
3950
initialConfig: RemixConfig,
4051
options: {
@@ -58,8 +69,7 @@ export let serve = async (
5869
prevManifest?: Manifest;
5970
} = {};
6071

61-
let pkgManager = detectPackageManager() ?? "npm";
62-
let bin = (await execa(pkgManager, ["bin"])).stdout.trim();
72+
let bin = await detectBin();
6373
let startAppServer = (command: string) => {
6474
console.log(`> ${command}`);
6575
return execa.command(command, {

0 commit comments

Comments
 (0)