✨ replace shelljs to execa
This commit is contained in:
9
bin/helpers/rust.ts
vendored
9
bin/helpers/rust.ts
vendored
@@ -1,5 +1,5 @@
|
||||
import chalk from 'chalk';
|
||||
import shelljs from 'shelljs';
|
||||
import { execaSync } from 'execa';
|
||||
|
||||
import { getSpinner } from '@/utils/info';
|
||||
import { IS_WIN } from '@/utils/platform';
|
||||
@@ -28,5 +28,10 @@ export async function installRust() {
|
||||
}
|
||||
|
||||
export function checkRustInstalled() {
|
||||
return shelljs.exec('rustc --version', { silent: true }).code === 0;
|
||||
try {
|
||||
execaSync('rustc', ['--version']);
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
20
bin/utils/shell.ts
vendored
20
bin/utils/shell.ts
vendored
@@ -1,14 +1,14 @@
|
||||
import shelljs from 'shelljs';
|
||||
import { execa } from 'execa';
|
||||
import { npmDirectory } from './dir';
|
||||
|
||||
export function shellExec(command: string) {
|
||||
return new Promise<number>((resolve, reject) => {
|
||||
shelljs.exec(command, { async: true, silent: false, cwd: npmDirectory }, code => {
|
||||
if (code === 0) {
|
||||
resolve(0);
|
||||
} else {
|
||||
reject(new Error(`Error occurred while executing command "${command}". Exit code: ${code}`));
|
||||
}
|
||||
export async function shellExec(command: string) {
|
||||
try {
|
||||
const { exitCode } = await execa(command, {
|
||||
cwd: npmDirectory,
|
||||
stdio: 'inherit'
|
||||
});
|
||||
});
|
||||
return exitCode;
|
||||
} catch (error) {
|
||||
throw new Error(`Error occurred while executing command "${command}". Exit code: ${error.exitCode}`);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user