File tree Expand file tree Collapse file tree 1 file changed +19
-8
lines changed Open diff view settings
Expand file tree Collapse file tree 1 file changed +19
-8
lines changed Open diff view settings
Original file line number Diff line number Diff line change @@ -5,17 +5,28 @@ const fs = require('fs');
55const path = require ( 'path' ) ;
66const { pathToFileURL } = require ( 'url' ) ;
77const { isMainThread } = require ( 'worker_threads' ) ;
8+ const isUnixLike = process . platform !== 'win32' ;
9+ let escapePOSIXShell ;
810
911function rmSync ( pathname , useSpawn ) {
1012 if ( useSpawn ) {
11- const escapedPath = pathname . replaceAll ( '\\' , '\\\\' ) ;
12- spawnSync (
13- process . execPath ,
14- [
15- '-e' ,
16- `require("fs").rmSync("${ escapedPath } ", { maxRetries: 3, recursive: true, force: true });` ,
17- ] ,
18- ) ;
13+ if ( isUnixLike ) {
14+ escapePOSIXShell ??= require ( './index.js' ) . escapePOSIXShell ;
15+ for ( let i = 0 ; i < 3 ; i ++ ) {
16+ const { status } = spawnSync ( ...escapePOSIXShell `rm -rf "${ pathname } "` ) ;
17+ if ( status === 0 ) {
18+ break ;
19+ }
20+ }
21+ } else {
22+ spawnSync (
23+ process . execPath ,
24+ [
25+ '-e' ,
26+ `fs.rmSync(${ JSON . stringify ( pathname ) } , { maxRetries: 3, recursive: true, force: true });` ,
27+ ] ,
28+ ) ;
29+ }
1930 } else {
2031 fs . rmSync ( pathname , { maxRetries : 3 , recursive : true , force : true } ) ;
2132 }
You can’t perform that action at this time.
0 commit comments