Skip to content

Commit 59b2227

Browse files
committed
Use execFile instead of execFileSync to fix Windows path issue
1 parent 68c602a commit 59b2227

File tree

4 files changed

+5
-6
lines changed

4 files changed

+5
-6
lines changed

src/NewProject.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ let createNewProject = async () => {
7878
await updateRescriptJson(~projectName, ~versions)
7979

8080
await RescriptVersions.installVersions(versions)
81-
let _ = await Promisified.ChildProcess.exec("git init")
81+
let _ = await Promisified.ChildProcess.execFile("git", ["init"])
8282

8383
s->P.Spinner.stop("Project created.")
8484
}

src/RescriptVersions.res

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,8 @@ let promptVersions = async () => {
6666
let installVersions = async ({rescriptVersion, rescriptCoreVersion}) => {
6767
let packageManager = PackageManagers.getActivePackageManager()
6868
let packages = [`rescript@${rescriptVersion}`, `@rescript/core@${rescriptCoreVersion}`]
69-
let command = `${packageManager} add ${packages->Array.join(" ")}`
7069

71-
let _ = await Node.Promisified.ChildProcess.exec(command)
70+
let _ = await Node.Promisified.ChildProcess.execFile(packageManager, ["add", ...packages])
7271
}
7372

7473
let esmModuleSystemName = ({rescriptVersion}) =>

src/bindings/Node.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,6 @@ module Promisified = {
8585
type execResult = {stdout: string, stderr: string}
8686

8787
@module("./NodePromisified.mjs")
88-
external exec: string => promise<execResult> = "exec"
88+
external execFile: (string, array<string>) => promise<execResult> = "execFile"
8989
}
9090
}

src/bindings/NodePromisified.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { exec as execCallback } from "child_process";
1+
import { execFile as execFileCallback } from "child_process";
22
import { promisify } from "util";
33

4-
export const exec = promisify(execCallback);
4+
export const execFile = promisify(execFileCallback);

0 commit comments

Comments
 (0)