Skip to content

Commit a62b61d

Browse files
committed
try with execFile
1 parent 6672f75 commit a62b61d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

packages/@tailwindcss-upgrade/src/utils/packages.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
1-
import { exec as execCb } from 'node:child_process'
1+
import { execFile as execFileCb } from 'node:child_process'
22
import { readFileSync } from 'node:fs'
33
import fs from 'node:fs/promises'
44
import { dirname, resolve } from 'node:path'
55
import { promisify } from 'node:util'
66
import { DefaultMap } from '../../../tailwindcss/src/utils/default-map'
77
import { error, warn } from './renderer'
88

9-
const exec = promisify(execCb)
9+
const execFile = promisify(execFileCb)
10+
11+
async function run(packageManager: string, args: string[], cwd: string) {
12+
// if (process.platform === 'win32' && packageManager !== 'bun') {
13+
// return await execFile(`${packageManager}.cmd`, args, { cwd })
14+
// }
15+
16+
return await execFile(packageManager, args, { cwd })
17+
}
1018

1119
const SAVE_DEV: Record<string, string> = {
1220
default: '-D',
@@ -43,7 +51,7 @@ export function pkg(base: string) {
4351

4452
let command = `${packageManager} add ${args.join(' ')}`
4553
try {
46-
return await exec(command, { cwd: base })
54+
return await run(packageManager, ['add', ...args], base)
4755
} catch (e: any) {
4856
error(`An error occurred while running \`${command}\`\n\n${e.stdout}\n${e.stderr}`, {
4957
prefix: '↳ ',
@@ -60,7 +68,7 @@ export function pkg(base: string) {
6068
let packageManager = await packageManagerForBase.get(base)
6169
let command = `${packageManager} remove ${packages.join(' ')}`
6270
try {
63-
return await exec(command, { cwd: base })
71+
return await run(packageManager, ['remove', ...packages], base)
6472
} catch (e: any) {
6573
error(`An error occurred while running \`${command}\`\n\n${e.stdout}\n${e.stderr}`, {
6674
prefix: '↳ ',

0 commit comments

Comments
 (0)