npm generates shims with .cmd extension on Windows, so this needs to be accounted for in the CLI scripts.
+3
-1
packages/cli/src/commands/compile.ts
+3
-1
packages/cli/src/commands/compile.ts
+6
-2
packages/cli/src/commands/init.ts
+6
-2
packages/cli/src/commands/init.ts
···
115
dir = resolve(dir, "..");
116
}
117
118
// Install dependencies
119
await new Promise<void>((resolvePromise, reject) => {
120
const args =
···
130
// Add any additional flags
131
args.push(...flags);
132
133
-
const install = spawn(packageManager, args, {
134
cwd: projectRoot,
135
stdio: "inherit",
136
});
137
138
install.on("close", (code) => {
···
169
170
return new Promise((resolvePromise, reject) => {
171
const localCli = resolve(nodeModulesDir, ".bin/typelex");
172
-
const setup = spawn(localCli, ["init", "--setup"], {
173
cwd: projectRoot,
174
stdio: "inherit",
175
});
176
177
setup.on("close", (code) => {
···
115
dir = resolve(dir, "..");
116
}
117
118
+
const isWindows = /^win/.test(process.platform);
119
+
120
// Install dependencies
121
await new Promise<void>((resolvePromise, reject) => {
122
const args =
···
132
// Add any additional flags
133
args.push(...flags);
134
135
+
const install = spawn(isWindows? `${packageManager}.cmd` : packageManager, args, {
136
cwd: projectRoot,
137
stdio: "inherit",
138
+
shell: isWindows
139
});
140
141
install.on("close", (code) => {
···
172
173
return new Promise((resolvePromise, reject) => {
174
const localCli = resolve(nodeModulesDir, ".bin/typelex");
175
+
const setup = spawn(isWindows ? `${localCli}.cmd` : localCli, ["init", "--setup"], {
176
cwd: projectRoot,
177
stdio: "inherit",
178
+
shell: isWindows
179
});
180
181
setup.on("close", (code) => {
History
1 round
0 comments
maxine.puppykitty.racing
submitted
#0
1 commit
expand
collapse
Fix CLI on Windows
no conflicts, ready to merge