rimraf 4.1.4 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -17
- package/dist/cjs/package.json +5 -2
- package/dist/cjs/src/bin.d.ts.map +1 -1
- package/dist/cjs/src/bin.js +127 -15
- package/dist/cjs/src/bin.js.map +1 -1
- package/dist/cjs/src/index-cjs.d.ts +40 -40
- package/dist/cjs/src/index.d.ts +46 -38
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +29 -12
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/opt-arg.d.ts +16 -3
- package/dist/cjs/src/opt-arg.d.ts.map +1 -1
- package/dist/cjs/src/opt-arg.js +30 -2
- package/dist/cjs/src/opt-arg.js.map +1 -1
- package/dist/cjs/src/path-arg.d.ts +2 -2
- package/dist/cjs/src/path-arg.d.ts.map +1 -1
- package/dist/cjs/src/path-arg.js +1 -1
- package/dist/cjs/src/path-arg.js.map +1 -1
- package/dist/cjs/src/retry-busy.d.ts +2 -2
- package/dist/cjs/src/retry-busy.d.ts.map +1 -1
- package/dist/cjs/src/retry-busy.js.map +1 -1
- package/dist/cjs/src/rimraf-manual.d.ts +2 -2
- package/dist/cjs/src/rimraf-manual.d.ts.map +1 -1
- package/dist/cjs/src/rimraf-move-remove.d.ts +3 -3
- package/dist/cjs/src/rimraf-move-remove.d.ts.map +1 -1
- package/dist/cjs/src/rimraf-move-remove.js +39 -10
- package/dist/cjs/src/rimraf-move-remove.js.map +1 -1
- package/dist/cjs/src/rimraf-native.d.ts +3 -3
- package/dist/cjs/src/rimraf-native.d.ts.map +1 -1
- package/dist/cjs/src/rimraf-native.js +16 -10
- package/dist/cjs/src/rimraf-native.js.map +1 -1
- package/dist/cjs/src/rimraf-posix.d.ts +3 -3
- package/dist/cjs/src/rimraf-posix.d.ts.map +1 -1
- package/dist/cjs/src/rimraf-posix.js +39 -10
- package/dist/cjs/src/rimraf-posix.js.map +1 -1
- package/dist/cjs/src/rimraf-windows.d.ts +3 -3
- package/dist/cjs/src/rimraf-windows.d.ts.map +1 -1
- package/dist/cjs/src/rimraf-windows.js +55 -15
- package/dist/cjs/src/rimraf-windows.js.map +1 -1
- package/dist/cjs/src/use-native.d.ts +3 -2
- package/dist/cjs/src/use-native.d.ts.map +1 -1
- package/dist/cjs/src/use-native.js +6 -2
- package/dist/cjs/src/use-native.js.map +1 -1
- package/dist/mjs/index.d.ts +46 -38
- package/dist/mjs/index.d.ts.map +1 -1
- package/dist/mjs/index.js +28 -11
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/opt-arg.d.ts +16 -3
- package/dist/mjs/opt-arg.d.ts.map +1 -1
- package/dist/mjs/opt-arg.js +28 -3
- package/dist/mjs/opt-arg.js.map +1 -1
- package/dist/mjs/package.json +1 -0
- package/dist/mjs/path-arg.d.ts +2 -2
- package/dist/mjs/path-arg.d.ts.map +1 -1
- package/dist/mjs/path-arg.js +2 -2
- package/dist/mjs/path-arg.js.map +1 -1
- package/dist/mjs/retry-busy.d.ts +2 -2
- package/dist/mjs/retry-busy.d.ts.map +1 -1
- package/dist/mjs/retry-busy.js.map +1 -1
- package/dist/mjs/rimraf-manual.d.ts +2 -2
- package/dist/mjs/rimraf-manual.d.ts.map +1 -1
- package/dist/mjs/rimraf-move-remove.d.ts +3 -3
- package/dist/mjs/rimraf-move-remove.d.ts.map +1 -1
- package/dist/mjs/rimraf-move-remove.js +39 -10
- package/dist/mjs/rimraf-move-remove.js.map +1 -1
- package/dist/mjs/rimraf-native.d.ts +3 -3
- package/dist/mjs/rimraf-native.d.ts.map +1 -1
- package/dist/mjs/rimraf-native.js +16 -10
- package/dist/mjs/rimraf-native.js.map +1 -1
- package/dist/mjs/rimraf-posix.d.ts +3 -3
- package/dist/mjs/rimraf-posix.d.ts.map +1 -1
- package/dist/mjs/rimraf-posix.js +39 -10
- package/dist/mjs/rimraf-posix.js.map +1 -1
- package/dist/mjs/rimraf-windows.d.ts +3 -3
- package/dist/mjs/rimraf-windows.d.ts.map +1 -1
- package/dist/mjs/rimraf-windows.js +55 -15
- package/dist/mjs/rimraf-windows.js.map +1 -1
- package/dist/mjs/use-native.d.ts +3 -2
- package/dist/mjs/use-native.d.ts.map +1 -1
- package/dist/mjs/use-native.js +6 -2
- package/dist/mjs/use-native.js.map +1 -1
- package/package.json +5 -2
|
@@ -55,6 +55,9 @@ const unlinkFixEPERMSync = (path) => {
|
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
export const rimrafMoveRemove = async (path, opt) => {
|
|
58
|
+
if (opt?.signal?.aborted) {
|
|
59
|
+
throw opt.signal.reason;
|
|
60
|
+
}
|
|
58
61
|
if (!opt.tmp) {
|
|
59
62
|
return rimrafMoveRemove(path, { ...opt, tmp: await defaultTmp(path) });
|
|
60
63
|
}
|
|
@@ -64,21 +67,32 @@ export const rimrafMoveRemove = async (path, opt) => {
|
|
|
64
67
|
const entries = await readdirOrError(path);
|
|
65
68
|
if (!Array.isArray(entries)) {
|
|
66
69
|
if (entries.code === 'ENOENT') {
|
|
67
|
-
return;
|
|
70
|
+
return true;
|
|
68
71
|
}
|
|
69
72
|
if (entries.code !== 'ENOTDIR') {
|
|
70
73
|
throw entries;
|
|
71
74
|
}
|
|
72
|
-
|
|
75
|
+
if (opt.filter && !(await opt.filter(path))) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
await ignoreENOENT(tmpUnlink(path, opt.tmp, unlinkFixEPERM));
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
const removedAll = (await Promise.all(entries.map(entry => rimrafMoveRemove(resolve(path, entry), opt)))).reduce((a, b) => a && b, true);
|
|
82
|
+
if (!removedAll) {
|
|
83
|
+
return false;
|
|
73
84
|
}
|
|
74
|
-
await Promise.all(entries.map(entry => rimrafMoveRemove(resolve(path, entry), opt)));
|
|
75
85
|
// we don't ever ACTUALLY try to unlink /, because that can never work
|
|
76
86
|
// but when preserveRoot is false, we could be operating on it.
|
|
77
87
|
// No need to check if preserveRoot is not false.
|
|
78
88
|
if (opt.preserveRoot === false && path === parse(path).root) {
|
|
79
|
-
return;
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (opt.filter && !(await opt.filter(path))) {
|
|
92
|
+
return false;
|
|
80
93
|
}
|
|
81
|
-
|
|
94
|
+
await ignoreENOENT(tmpUnlink(path, opt.tmp, rmdir));
|
|
95
|
+
return true;
|
|
82
96
|
};
|
|
83
97
|
const tmpUnlink = async (path, tmp, rm) => {
|
|
84
98
|
const tmpFile = resolve(tmp, uniqueFilename(path));
|
|
@@ -86,6 +100,9 @@ const tmpUnlink = async (path, tmp, rm) => {
|
|
|
86
100
|
return await rm(tmpFile);
|
|
87
101
|
};
|
|
88
102
|
export const rimrafMoveRemoveSync = (path, opt) => {
|
|
103
|
+
if (opt?.signal?.aborted) {
|
|
104
|
+
throw opt.signal.reason;
|
|
105
|
+
}
|
|
89
106
|
if (!opt.tmp) {
|
|
90
107
|
return rimrafMoveRemoveSync(path, { ...opt, tmp: defaultTmpSync(path) });
|
|
91
108
|
}
|
|
@@ -96,20 +113,32 @@ export const rimrafMoveRemoveSync = (path, opt) => {
|
|
|
96
113
|
const entries = readdirOrErrorSync(path);
|
|
97
114
|
if (!Array.isArray(entries)) {
|
|
98
115
|
if (entries.code === 'ENOENT') {
|
|
99
|
-
return;
|
|
116
|
+
return true;
|
|
100
117
|
}
|
|
101
118
|
if (entries.code !== 'ENOTDIR') {
|
|
102
119
|
throw entries;
|
|
103
120
|
}
|
|
104
|
-
|
|
121
|
+
if (opt.filter && !opt.filter(path)) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
ignoreENOENTSync(() => tmpUnlinkSync(path, tmp, unlinkFixEPERMSync));
|
|
125
|
+
return true;
|
|
105
126
|
}
|
|
127
|
+
let removedAll = true;
|
|
106
128
|
for (const entry of entries) {
|
|
107
|
-
rimrafMoveRemoveSync(resolve(path, entry), opt);
|
|
129
|
+
removedAll = rimrafMoveRemoveSync(resolve(path, entry), opt) && removedAll;
|
|
130
|
+
}
|
|
131
|
+
if (!removedAll) {
|
|
132
|
+
return false;
|
|
108
133
|
}
|
|
109
134
|
if (opt.preserveRoot === false && path === parse(path).root) {
|
|
110
|
-
return;
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
if (opt.filter && !opt.filter(path)) {
|
|
138
|
+
return false;
|
|
111
139
|
}
|
|
112
|
-
|
|
140
|
+
ignoreENOENTSync(() => tmpUnlinkSync(path, tmp, rmdirSync));
|
|
141
|
+
return true;
|
|
113
142
|
};
|
|
114
143
|
const tmpUnlinkSync = (path, tmp, rmSync) => {
|
|
115
144
|
const tmpFile = resolve(tmp, uniqueFilename(path));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-move-remove.js","sourceRoot":"","sources":["../../src/rimraf-move-remove.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,aAAa;AACb,oBAAoB;AACpB,yCAAyC;AACzC,uEAAuE;AACvE,0BAA0B;AAC1B,EAAE;AACF,uEAAuE;AACvE,kDAAkD;AAClD,EAAE;AACF,0EAA0E;AAE1E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EACL,SAAS,EACT,QAAQ,IAAI,UAAU,EACtB,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;AAGnD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1E,sEAAsE;AACtE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;AAE9E,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE,CAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAA6B,EAAE,EAAE;IACnD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE;QACvB,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAC5B,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAClB,GAAG,CAAC,EAAE;YACJ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,OAAM;aACP;YACD,MAAM,EAAE,CAAA;QACV,CAAC,CACF,CAAA;KACF;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC/B,OAAM;KACP;IACD,MAAM,EAAE,CAAA;AACV,CAAC,CAAC,CAAA;AAEJ,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC1C,IAAI;QACF,UAAU,CAAC,IAAI,CAAC,CAAA;KACjB;IAAC,OAAO,EAAE,EAAE;QACX,IAAK,EAA4B,EAAE,IAAI,KAAK,OAAO,EAAE;YACnD,IAAI;gBACF,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAK,GAA6B,EAAE,IAAI,KAAK,QAAQ,EAAE;oBACrD,OAAM;iBACP;gBACD,MAAM,EAAE,CAAA;aACT;SACF;aAAM,IAAK,EAA4B,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC3D,OAAM;SACP;QACD,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,IAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"rimraf-move-remove.js","sourceRoot":"","sources":["../../src/rimraf-move-remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const rimrafNative: (path: string, opt:
|
|
3
|
-
export declare const rimrafNativeSync: (path: string, opt:
|
|
1
|
+
import { RimrafAsyncOptions, RimrafSyncOptions } from '.';
|
|
2
|
+
export declare const rimrafNative: (path: string, opt: RimrafAsyncOptions) => Promise<boolean>;
|
|
3
|
+
export declare const rimrafNativeSync: (path: string, opt: RimrafSyncOptions) => boolean;
|
|
4
4
|
//# sourceMappingURL=rimraf-native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-native.d.ts","sourceRoot":"","sources":["../../src/rimraf-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rimraf-native.d.ts","sourceRoot":"","sources":["../../src/rimraf-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAIzD,eAAO,MAAM,YAAY,SACjB,MAAM,OACP,kBAAkB,KACtB,QAAQ,OAAO,CAOjB,CAAA;AAED,eAAO,MAAM,gBAAgB,SACrB,MAAM,OACP,iBAAiB,KACrB,OAOF,CAAA"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { promises, rmSync } from './fs.js';
|
|
2
2
|
const { rm } = promises;
|
|
3
|
-
export const rimrafNative = (path, opt) =>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
export const rimrafNative = async (path, opt) => {
|
|
4
|
+
await rm(path, {
|
|
5
|
+
...opt,
|
|
6
|
+
force: true,
|
|
7
|
+
recursive: true,
|
|
8
|
+
});
|
|
9
|
+
return true;
|
|
10
|
+
};
|
|
11
|
+
export const rimrafNativeSync = (path, opt) => {
|
|
12
|
+
rmSync(path, {
|
|
13
|
+
...opt,
|
|
14
|
+
force: true,
|
|
15
|
+
recursive: true,
|
|
16
|
+
});
|
|
17
|
+
return true;
|
|
18
|
+
};
|
|
13
19
|
//# sourceMappingURL=rimraf-native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-native.js","sourceRoot":"","sources":["../../src/rimraf-native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAA;AAEvB,MAAM,CAAC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"rimraf-native.js","sourceRoot":"","sources":["../../src/rimraf-native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAA;AAEvB,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,IAAY,EACZ,GAAuB,EACL,EAAE;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE;QACb,GAAG,GAAG;QACN,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,GAAsB,EACb,EAAE;IACX,MAAM,CAAC,IAAI,EAAE;QACX,GAAG,GAAG;QACN,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const rimrafPosix: (path: string, opt:
|
|
3
|
-
export declare const rimrafPosixSync: (path: string, opt:
|
|
1
|
+
import { RimrafAsyncOptions, RimrafSyncOptions } from '.';
|
|
2
|
+
export declare const rimrafPosix: (path: string, opt: RimrafAsyncOptions) => Promise<boolean>;
|
|
3
|
+
export declare const rimrafPosixSync: (path: string, opt: RimrafSyncOptions) => boolean;
|
|
4
4
|
//# sourceMappingURL=rimraf-posix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-posix.d.ts","sourceRoot":"","sources":["../../src/rimraf-posix.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rimraf-posix.d.ts","sourceRoot":"","sources":["../../src/rimraf-posix.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAGzD,eAAO,MAAM,WAAW,SAChB,MAAM,OACP,kBAAkB,KACtB,QAAQ,OAAO,CA0CjB,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,MAAM,OACP,iBAAiB,KACrB,OAoCF,CAAA"}
|
package/dist/mjs/rimraf-posix.js
CHANGED
|
@@ -10,42 +10,71 @@ import { parse, resolve } from 'path';
|
|
|
10
10
|
import { readdirOrError, readdirOrErrorSync } from './readdir-or-error.js';
|
|
11
11
|
import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js';
|
|
12
12
|
export const rimrafPosix = async (path, opt) => {
|
|
13
|
+
if (opt?.signal?.aborted) {
|
|
14
|
+
throw opt.signal.reason;
|
|
15
|
+
}
|
|
13
16
|
const entries = await readdirOrError(path);
|
|
14
17
|
if (!Array.isArray(entries)) {
|
|
15
18
|
if (entries.code === 'ENOENT') {
|
|
16
|
-
return;
|
|
19
|
+
return true;
|
|
17
20
|
}
|
|
18
21
|
if (entries.code !== 'ENOTDIR') {
|
|
19
22
|
throw entries;
|
|
20
23
|
}
|
|
21
|
-
|
|
24
|
+
if (opt.filter && !(await opt.filter(path))) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
await ignoreENOENT(unlink(path));
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
const removedAll = (await Promise.all(entries.map(entry => rimrafPosix(resolve(path, entry), opt)))).reduce((a, b) => a && b, true);
|
|
31
|
+
if (!removedAll) {
|
|
32
|
+
return false;
|
|
22
33
|
}
|
|
23
|
-
await Promise.all(entries.map(entry => rimrafPosix(resolve(path, entry), opt)));
|
|
24
34
|
// we don't ever ACTUALLY try to unlink /, because that can never work
|
|
25
35
|
// but when preserveRoot is false, we could be operating on it.
|
|
26
36
|
// No need to check if preserveRoot is not false.
|
|
27
37
|
if (opt.preserveRoot === false && path === parse(path).root) {
|
|
28
|
-
return;
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (opt.filter && !(await opt.filter(path))) {
|
|
41
|
+
return false;
|
|
29
42
|
}
|
|
30
|
-
|
|
43
|
+
await ignoreENOENT(rmdir(path));
|
|
44
|
+
return true;
|
|
31
45
|
};
|
|
32
46
|
export const rimrafPosixSync = (path, opt) => {
|
|
47
|
+
if (opt?.signal?.aborted) {
|
|
48
|
+
throw opt.signal.reason;
|
|
49
|
+
}
|
|
33
50
|
const entries = readdirOrErrorSync(path);
|
|
34
51
|
if (!Array.isArray(entries)) {
|
|
35
52
|
if (entries.code === 'ENOENT') {
|
|
36
|
-
return;
|
|
53
|
+
return true;
|
|
37
54
|
}
|
|
38
55
|
if (entries.code !== 'ENOTDIR') {
|
|
39
56
|
throw entries;
|
|
40
57
|
}
|
|
41
|
-
|
|
58
|
+
if (opt.filter && !opt.filter(path)) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
ignoreENOENTSync(() => unlinkSync(path));
|
|
62
|
+
return true;
|
|
42
63
|
}
|
|
64
|
+
let removedAll = true;
|
|
43
65
|
for (const entry of entries) {
|
|
44
|
-
rimrafPosixSync(resolve(path, entry), opt);
|
|
66
|
+
removedAll = rimrafPosixSync(resolve(path, entry), opt) && removedAll;
|
|
45
67
|
}
|
|
46
68
|
if (opt.preserveRoot === false && path === parse(path).root) {
|
|
47
|
-
return;
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
if (!removedAll) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
if (opt.filter && !opt.filter(path)) {
|
|
75
|
+
return false;
|
|
48
76
|
}
|
|
49
|
-
|
|
77
|
+
ignoreENOENTSync(() => rmdirSync(path));
|
|
78
|
+
return true;
|
|
50
79
|
};
|
|
51
80
|
//# sourceMappingURL=rimraf-posix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-posix.js","sourceRoot":"","sources":["../../src/rimraf-posix.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,oDAAoD;AACpD,qEAAqE;AACrE,mEAAmE;AACnE,mEAAmE;AACnE,4CAA4C;AAE5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAA;AAElC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG1E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEnE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"rimraf-posix.js","sourceRoot":"","sources":["../../src/rimraf-posix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const rimrafWindows: (path: string, opt:
|
|
3
|
-
export declare const rimrafWindowsSync: (path: string, opt:
|
|
1
|
+
import { RimrafAsyncOptions, RimrafSyncOptions } from '.';
|
|
2
|
+
export declare const rimrafWindows: (path: string, opt: RimrafAsyncOptions, state?: symbol) => Promise<boolean>;
|
|
3
|
+
export declare const rimrafWindowsSync: (path: string, opt: RimrafSyncOptions, state?: symbol) => boolean;
|
|
4
4
|
//# sourceMappingURL=rimraf-windows.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-windows.d.ts","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rimraf-windows.d.ts","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AA4DzD,eAAO,MAAM,aAAa,SAClB,MAAM,OACP,kBAAkB,qBAEtB,QAAQ,OAAO,CA8CjB,CAAA;AAED,eAAO,MAAM,iBAAiB,SACtB,MAAM,OACP,iBAAiB,qBAErB,OA4CF,CAAA"}
|
|
@@ -20,23 +20,36 @@ const rimrafWindowsFileSync = retryBusySync(fixEPERMSync(unlinkSync));
|
|
|
20
20
|
const rimrafWindowsDir = retryBusy(fixEPERM(rmdir));
|
|
21
21
|
const rimrafWindowsDirSync = retryBusySync(fixEPERMSync(rmdirSync));
|
|
22
22
|
const rimrafWindowsDirMoveRemoveFallback = async (path, opt) => {
|
|
23
|
+
/* c8 ignore start */
|
|
24
|
+
if (opt?.signal?.aborted) {
|
|
25
|
+
throw opt.signal.reason;
|
|
26
|
+
}
|
|
27
|
+
/* c8 ignore stop */
|
|
28
|
+
// already filtered, remove from options so we don't call unnecessarily
|
|
29
|
+
const { filter, ...options } = opt;
|
|
23
30
|
try {
|
|
24
|
-
await rimrafWindowsDir(path,
|
|
31
|
+
return await rimrafWindowsDir(path, options);
|
|
25
32
|
}
|
|
26
33
|
catch (er) {
|
|
27
34
|
if (er?.code === 'ENOTEMPTY') {
|
|
28
|
-
return await rimrafMoveRemove(path,
|
|
35
|
+
return await rimrafMoveRemove(path, options);
|
|
29
36
|
}
|
|
30
37
|
throw er;
|
|
31
38
|
}
|
|
32
39
|
};
|
|
33
40
|
const rimrafWindowsDirMoveRemoveFallbackSync = (path, opt) => {
|
|
41
|
+
if (opt?.signal?.aborted) {
|
|
42
|
+
throw opt.signal.reason;
|
|
43
|
+
}
|
|
44
|
+
// already filtered, remove from options so we don't call unnecessarily
|
|
45
|
+
const { filter, ...options } = opt;
|
|
34
46
|
try {
|
|
35
|
-
rimrafWindowsDirSync(path,
|
|
47
|
+
return rimrafWindowsDirSync(path, options);
|
|
36
48
|
}
|
|
37
49
|
catch (er) {
|
|
38
|
-
|
|
39
|
-
|
|
50
|
+
const fer = er;
|
|
51
|
+
if (fer?.code === 'ENOTEMPTY') {
|
|
52
|
+
return rimrafMoveRemoveSync(path, options);
|
|
40
53
|
}
|
|
41
54
|
throw er;
|
|
42
55
|
}
|
|
@@ -46,30 +59,45 @@ const CHILD = Symbol('child');
|
|
|
46
59
|
const FINISH = Symbol('finish');
|
|
47
60
|
const states = new Set([START, CHILD, FINISH]);
|
|
48
61
|
export const rimrafWindows = async (path, opt, state = START) => {
|
|
62
|
+
if (opt?.signal?.aborted) {
|
|
63
|
+
throw opt.signal.reason;
|
|
64
|
+
}
|
|
49
65
|
if (!states.has(state)) {
|
|
50
66
|
throw new TypeError('invalid third argument passed to rimraf');
|
|
51
67
|
}
|
|
52
68
|
const entries = await readdirOrError(path);
|
|
53
69
|
if (!Array.isArray(entries)) {
|
|
54
70
|
if (entries.code === 'ENOENT') {
|
|
55
|
-
return;
|
|
71
|
+
return true;
|
|
56
72
|
}
|
|
57
73
|
if (entries.code !== 'ENOTDIR') {
|
|
58
74
|
throw entries;
|
|
59
75
|
}
|
|
76
|
+
if (opt.filter && !(await opt.filter(path))) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
60
79
|
// is a file
|
|
61
|
-
|
|
80
|
+
await ignoreENOENT(rimrafWindowsFile(path, opt));
|
|
81
|
+
return true;
|
|
62
82
|
}
|
|
63
|
-
|
|
83
|
+
const s = state === START ? CHILD : state;
|
|
84
|
+
const removedAll = (await Promise.all(entries.map(entry => rimrafWindows(resolve(path, entry), opt, s)))).reduce((a, b) => a && b, true);
|
|
64
85
|
if (state === START) {
|
|
65
86
|
return rimrafWindows(path, opt, FINISH);
|
|
66
87
|
}
|
|
67
88
|
else if (state === FINISH) {
|
|
68
89
|
if (opt.preserveRoot === false && path === parse(path).root) {
|
|
69
|
-
return;
|
|
90
|
+
return false;
|
|
70
91
|
}
|
|
71
|
-
|
|
92
|
+
if (!removedAll) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (opt.filter && !(await opt.filter(path))) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
await ignoreENOENT(rimrafWindowsDirMoveRemoveFallback(path, opt));
|
|
72
99
|
}
|
|
100
|
+
return true;
|
|
73
101
|
};
|
|
74
102
|
export const rimrafWindowsSync = (path, opt, state = START) => {
|
|
75
103
|
if (!states.has(state)) {
|
|
@@ -78,28 +106,40 @@ export const rimrafWindowsSync = (path, opt, state = START) => {
|
|
|
78
106
|
const entries = readdirOrErrorSync(path);
|
|
79
107
|
if (!Array.isArray(entries)) {
|
|
80
108
|
if (entries.code === 'ENOENT') {
|
|
81
|
-
return;
|
|
109
|
+
return true;
|
|
82
110
|
}
|
|
83
111
|
if (entries.code !== 'ENOTDIR') {
|
|
84
112
|
throw entries;
|
|
85
113
|
}
|
|
114
|
+
if (opt.filter && !opt.filter(path)) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
86
117
|
// is a file
|
|
87
|
-
|
|
118
|
+
ignoreENOENTSync(() => rimrafWindowsFileSync(path, opt));
|
|
119
|
+
return true;
|
|
88
120
|
}
|
|
121
|
+
let removedAll = true;
|
|
89
122
|
for (const entry of entries) {
|
|
90
123
|
const s = state === START ? CHILD : state;
|
|
91
|
-
rimrafWindowsSync(resolve(path, entry), opt, s);
|
|
124
|
+
removedAll = rimrafWindowsSync(resolve(path, entry), opt, s) && removedAll;
|
|
92
125
|
}
|
|
93
126
|
if (state === START) {
|
|
94
127
|
return rimrafWindowsSync(path, opt, FINISH);
|
|
95
128
|
}
|
|
96
129
|
else if (state === FINISH) {
|
|
97
130
|
if (opt.preserveRoot === false && path === parse(path).root) {
|
|
98
|
-
return;
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
if (!removedAll) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
if (opt.filter && !opt.filter(path)) {
|
|
137
|
+
return false;
|
|
99
138
|
}
|
|
100
|
-
|
|
139
|
+
ignoreENOENTSync(() => {
|
|
101
140
|
rimrafWindowsDirMoveRemoveFallbackSync(path, opt);
|
|
102
141
|
});
|
|
103
142
|
}
|
|
143
|
+
return true;
|
|
104
144
|
};
|
|
105
145
|
//# sourceMappingURL=rimraf-windows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rimraf-windows.js","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,gCAAgC;AAChC,0EAA0E;AAC1E,sBAAsB;AACtB,EAAE;AACF,yEAAyE;AAEzE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAChF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;AAElC,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AACrD,MAAM,qBAAqB,GAAG,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;AACrE,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AACnD,MAAM,oBAAoB,GAAG,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;AAEnE,MAAM,kCAAkC,GAAG,KAAK,EAC9C,IAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"rimraf-windows.js","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"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"}
|
package/dist/mjs/use-native.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
1
|
+
import { RimrafAsyncOptions, RimrafOptions } from './index.js';
|
|
2
|
+
export declare const useNative: (opt?: RimrafAsyncOptions) => boolean;
|
|
3
|
+
export declare const useNativeSync: (opt?: RimrafOptions) => boolean;
|
|
3
4
|
//# sourceMappingURL=use-native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-native.d.ts","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-native.d.ts","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI9D,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,kBAAkB,KAAK,OAGb,CAAA;AACzC,eAAO,MAAM,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,KAAK,OAGZ,CAAA"}
|
package/dist/mjs/use-native.js
CHANGED
|
@@ -4,6 +4,10 @@ const hasNative = +versArr[0] > 14 || (+versArr[0] === 14 && +versArr[1] >= 14);
|
|
|
4
4
|
// we do NOT use native by default on Windows, because Node's native
|
|
5
5
|
// rm implementation is less advanced. Change this code if that changes.
|
|
6
6
|
import platform from './platform.js';
|
|
7
|
-
export const useNative = !hasNative || platform === 'win32'
|
|
8
|
-
|
|
7
|
+
export const useNative = !hasNative || platform === 'win32'
|
|
8
|
+
? () => false
|
|
9
|
+
: opt => !opt?.signal && !opt?.filter;
|
|
10
|
+
export const useNativeSync = !hasNative || platform === 'win32'
|
|
11
|
+
? () => false
|
|
12
|
+
: opt => !opt?.signal && !opt?.filter;
|
|
9
13
|
//# sourceMappingURL=use-native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-native.js","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAA;AAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACpD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"use-native.js","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAA;AAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACpD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAE/E,oEAAoE;AACpE,yEAAyE;AACzE,OAAO,QAAQ,MAAM,eAAe,CAAA;AACpC,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,SAAS,IAAI,QAAQ,KAAK,OAAO;IAChC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,CAAA;AACzC,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,SAAS,IAAI,QAAQ,KAAK,OAAO;IAChC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rimraf",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"main": "./dist/cjs/src/index-cjs.js",
|
|
5
5
|
"module": "./dist/mjs/index.js",
|
|
6
6
|
"types": "./dist/mjs/index.d.ts",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"eslint-config-prettier": "^8.6.0",
|
|
58
58
|
"mkdirp": "1",
|
|
59
59
|
"prettier": "^2.8.2",
|
|
60
|
-
"tap": "^16.3.
|
|
60
|
+
"tap": "^16.3.4",
|
|
61
61
|
"ts-node": "^10.9.1",
|
|
62
62
|
"typedoc": "^0.23.21",
|
|
63
63
|
"typescript": "^4.9.3"
|
|
@@ -77,5 +77,8 @@
|
|
|
77
77
|
},
|
|
78
78
|
"engines": {
|
|
79
79
|
"node": ">=14"
|
|
80
|
+
},
|
|
81
|
+
"dependencies": {
|
|
82
|
+
"glob": "^9.2.0"
|
|
80
83
|
}
|
|
81
84
|
}
|