replace shelljs to execa

This commit is contained in:
Tw93
2025-01-23 14:14:22 +08:00
parent 3e46e635d0
commit 8fc6ca8cbd
3 changed files with 18 additions and 13 deletions

View File

@@ -117,7 +117,7 @@ jobs:
- name: Install dependencies
run: |
npm install shelljs
npm install execa
npm install axios
- name: Build with pake-cli

9
bin/helpers/rust.ts vendored
View File

@@ -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
View File

@@ -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}`);
}
}