Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 115fa1d

Browse files
authored
Use execFile instead of exec to fix Windows path issue (#59)
1 parent d25ba3a commit 115fa1d

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
@@ -81,7 +81,7 @@ let createNewProject = async () => {
8181
await updateRescriptJson(~projectName, ~versions)
8282

8383
await RescriptVersions.installVersions(versions)
84-
let _ = await Promisified.ChildProcess.exec("gitinit")
84+
let _ = await Promisified.ChildProcess.execFile("git", ["init"])
8585

8686
s->P.Spinner.stop("Project created.")
8787
}

‎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)

AltStyle によって変換されたページ (->オリジナル) /