rimraf 4.2.0 → 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.
Files changed (82) hide show
  1. package/README.md +57 -22
  2. package/dist/cjs/package.json +2 -2
  3. package/dist/cjs/src/bin.d.ts.map +1 -1
  4. package/dist/cjs/src/bin.js +119 -17
  5. package/dist/cjs/src/bin.js.map +1 -1
  6. package/dist/cjs/src/index-cjs.d.ts +40 -40
  7. package/dist/cjs/src/index.d.ts +43 -38
  8. package/dist/cjs/src/index.d.ts.map +1 -1
  9. package/dist/cjs/src/index.js +19 -10
  10. package/dist/cjs/src/index.js.map +1 -1
  11. package/dist/cjs/src/opt-arg.d.ts +14 -6
  12. package/dist/cjs/src/opt-arg.d.ts.map +1 -1
  13. package/dist/cjs/src/opt-arg.js +8 -2
  14. package/dist/cjs/src/opt-arg.js.map +1 -1
  15. package/dist/cjs/src/path-arg.d.ts +2 -2
  16. package/dist/cjs/src/path-arg.d.ts.map +1 -1
  17. package/dist/cjs/src/path-arg.js +1 -1
  18. package/dist/cjs/src/path-arg.js.map +1 -1
  19. package/dist/cjs/src/retry-busy.d.ts +2 -2
  20. package/dist/cjs/src/retry-busy.d.ts.map +1 -1
  21. package/dist/cjs/src/retry-busy.js.map +1 -1
  22. package/dist/cjs/src/rimraf-manual.d.ts +2 -2
  23. package/dist/cjs/src/rimraf-manual.d.ts.map +1 -1
  24. package/dist/cjs/src/rimraf-move-remove.d.ts +3 -3
  25. package/dist/cjs/src/rimraf-move-remove.d.ts.map +1 -1
  26. package/dist/cjs/src/rimraf-move-remove.js +33 -10
  27. package/dist/cjs/src/rimraf-move-remove.js.map +1 -1
  28. package/dist/cjs/src/rimraf-native.d.ts +3 -3
  29. package/dist/cjs/src/rimraf-native.d.ts.map +1 -1
  30. package/dist/cjs/src/rimraf-native.js +16 -10
  31. package/dist/cjs/src/rimraf-native.js.map +1 -1
  32. package/dist/cjs/src/rimraf-posix.d.ts +3 -3
  33. package/dist/cjs/src/rimraf-posix.d.ts.map +1 -1
  34. package/dist/cjs/src/rimraf-posix.js +33 -10
  35. package/dist/cjs/src/rimraf-posix.js.map +1 -1
  36. package/dist/cjs/src/rimraf-windows.d.ts +3 -3
  37. package/dist/cjs/src/rimraf-windows.d.ts.map +1 -1
  38. package/dist/cjs/src/rimraf-windows.js +44 -15
  39. package/dist/cjs/src/rimraf-windows.js.map +1 -1
  40. package/dist/cjs/src/use-native.d.ts +2 -2
  41. package/dist/cjs/src/use-native.d.ts.map +1 -1
  42. package/dist/cjs/src/use-native.js +6 -2
  43. package/dist/cjs/src/use-native.js.map +1 -1
  44. package/dist/mjs/index.d.ts +43 -38
  45. package/dist/mjs/index.d.ts.map +1 -1
  46. package/dist/mjs/index.js +18 -9
  47. package/dist/mjs/index.js.map +1 -1
  48. package/dist/mjs/opt-arg.d.ts +14 -6
  49. package/dist/mjs/opt-arg.d.ts.map +1 -1
  50. package/dist/mjs/opt-arg.js +6 -3
  51. package/dist/mjs/opt-arg.js.map +1 -1
  52. package/dist/mjs/package.json +1 -1
  53. package/dist/mjs/path-arg.d.ts +2 -2
  54. package/dist/mjs/path-arg.d.ts.map +1 -1
  55. package/dist/mjs/path-arg.js +2 -2
  56. package/dist/mjs/path-arg.js.map +1 -1
  57. package/dist/mjs/retry-busy.d.ts +2 -2
  58. package/dist/mjs/retry-busy.d.ts.map +1 -1
  59. package/dist/mjs/retry-busy.js.map +1 -1
  60. package/dist/mjs/rimraf-manual.d.ts +2 -2
  61. package/dist/mjs/rimraf-manual.d.ts.map +1 -1
  62. package/dist/mjs/rimraf-move-remove.d.ts +3 -3
  63. package/dist/mjs/rimraf-move-remove.d.ts.map +1 -1
  64. package/dist/mjs/rimraf-move-remove.js +33 -10
  65. package/dist/mjs/rimraf-move-remove.js.map +1 -1
  66. package/dist/mjs/rimraf-native.d.ts +3 -3
  67. package/dist/mjs/rimraf-native.d.ts.map +1 -1
  68. package/dist/mjs/rimraf-native.js +16 -10
  69. package/dist/mjs/rimraf-native.js.map +1 -1
  70. package/dist/mjs/rimraf-posix.d.ts +3 -3
  71. package/dist/mjs/rimraf-posix.d.ts.map +1 -1
  72. package/dist/mjs/rimraf-posix.js +33 -10
  73. package/dist/mjs/rimraf-posix.js.map +1 -1
  74. package/dist/mjs/rimraf-windows.d.ts +3 -3
  75. package/dist/mjs/rimraf-windows.d.ts.map +1 -1
  76. package/dist/mjs/rimraf-windows.js +44 -15
  77. package/dist/mjs/rimraf-windows.js.map +1 -1
  78. package/dist/mjs/use-native.d.ts +2 -2
  79. package/dist/mjs/use-native.d.ts.map +1 -1
  80. package/dist/mjs/use-native.js +6 -2
  81. package/dist/mjs/use-native.js.map +1 -1
  82. package/package.json +2 -2
@@ -67,21 +67,32 @@ export const rimrafMoveRemove = async (path, opt) => {
67
67
  const entries = await readdirOrError(path);
68
68
  if (!Array.isArray(entries)) {
69
69
  if (entries.code === 'ENOENT') {
70
- return;
70
+ return true;
71
71
  }
72
72
  if (entries.code !== 'ENOTDIR') {
73
73
  throw entries;
74
74
  }
75
- return await ignoreENOENT(tmpUnlink(path, opt.tmp, unlinkFixEPERM));
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;
76
84
  }
77
- await Promise.all(entries.map(entry => rimrafMoveRemove(resolve(path, entry), opt)));
78
85
  // we don't ever ACTUALLY try to unlink /, because that can never work
79
86
  // but when preserveRoot is false, we could be operating on it.
80
87
  // No need to check if preserveRoot is not false.
81
88
  if (opt.preserveRoot === false && path === parse(path).root) {
82
- return;
89
+ return false;
90
+ }
91
+ if (opt.filter && !(await opt.filter(path))) {
92
+ return false;
83
93
  }
84
- return await ignoreENOENT(tmpUnlink(path, opt.tmp, rmdir));
94
+ await ignoreENOENT(tmpUnlink(path, opt.tmp, rmdir));
95
+ return true;
85
96
  };
86
97
  const tmpUnlink = async (path, tmp, rm) => {
87
98
  const tmpFile = resolve(tmp, uniqueFilename(path));
@@ -102,20 +113,32 @@ export const rimrafMoveRemoveSync = (path, opt) => {
102
113
  const entries = readdirOrErrorSync(path);
103
114
  if (!Array.isArray(entries)) {
104
115
  if (entries.code === 'ENOENT') {
105
- return;
116
+ return true;
106
117
  }
107
118
  if (entries.code !== 'ENOTDIR') {
108
119
  throw entries;
109
120
  }
110
- return ignoreENOENTSync(() => tmpUnlinkSync(path, tmp, unlinkFixEPERMSync));
121
+ if (opt.filter && !opt.filter(path)) {
122
+ return false;
123
+ }
124
+ ignoreENOENTSync(() => tmpUnlinkSync(path, tmp, unlinkFixEPERMSync));
125
+ return true;
111
126
  }
127
+ let removedAll = true;
112
128
  for (const entry of entries) {
113
- rimrafMoveRemoveSync(resolve(path, entry), opt);
129
+ removedAll = rimrafMoveRemoveSync(resolve(path, entry), opt) && removedAll;
130
+ }
131
+ if (!removedAll) {
132
+ return false;
114
133
  }
115
134
  if (opt.preserveRoot === false && path === parse(path).root) {
116
- return;
135
+ return false;
136
+ }
137
+ if (opt.filter && !opt.filter(path)) {
138
+ return false;
117
139
  }
118
- return ignoreENOENTSync(() => tmpUnlinkSync(path, tmp, rmdirSync));
140
+ ignoreENOENTSync(() => tmpUnlinkSync(path, tmp, rmdirSync));
141
+ return true;
119
142
  };
120
143
  const tmpUnlinkSync = (path, tmp, rmSync) => {
121
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":"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"}
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 { RimrafOptions } from '.';
2
- export declare const rimrafNative: (path: string, opt: RimrafOptions) => Promise<void>;
3
- export declare const rimrafNativeSync: (path: string, opt: RimrafOptions) => void;
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,aAAa,EAAE,MAAM,GAAG,CAAA;AAIjC,eAAO,MAAM,YAAY,SAAU,MAAM,OAAO,aAAa,kBAKzD,CAAA;AAEJ,eAAO,MAAM,gBAAgB,SAAU,MAAM,OAAO,aAAa,SAK7D,CAAA"}
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) => rm(path, {
4
- ...opt,
5
- force: true,
6
- recursive: true,
7
- });
8
- export const rimrafNativeSync = (path, opt) => rmSync(path, {
9
- ...opt,
10
- force: true,
11
- recursive: true,
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,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE,CAC/D,EAAE,CAAC,IAAI,EAAE;IACP,GAAG,GAAG;IACN,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;CAChB,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE,CACnE,MAAM,CAAC,IAAI,EAAE;IACX,GAAG,GAAG;IACN,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;CAChB,CAAC,CAAA"}
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 { RimrafOptions } from '.';
2
- export declare const rimrafPosix: (path: string, opt: RimrafOptions) => Promise<any>;
3
- export declare const rimrafPosixSync: (path: string, opt: RimrafOptions) => any;
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,aAAa,EAAE,MAAM,GAAG,CAAA;AAGjC,eAAO,MAAM,WAAW,SAAgB,MAAM,OAAO,aAAa,iBA0BjE,CAAA;AAED,eAAO,MAAM,eAAe,SAAU,MAAM,OAAO,aAAa,QAuB/D,CAAA"}
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"}
@@ -16,21 +16,32 @@ export const rimrafPosix = async (path, opt) => {
16
16
  const entries = await readdirOrError(path);
17
17
  if (!Array.isArray(entries)) {
18
18
  if (entries.code === 'ENOENT') {
19
- return;
19
+ return true;
20
20
  }
21
21
  if (entries.code !== 'ENOTDIR') {
22
22
  throw entries;
23
23
  }
24
- return ignoreENOENT(unlink(path));
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;
25
33
  }
26
- await Promise.all(entries.map(entry => rimrafPosix(resolve(path, entry), opt)));
27
34
  // we don't ever ACTUALLY try to unlink /, because that can never work
28
35
  // but when preserveRoot is false, we could be operating on it.
29
36
  // No need to check if preserveRoot is not false.
30
37
  if (opt.preserveRoot === false && path === parse(path).root) {
31
- return;
38
+ return false;
39
+ }
40
+ if (opt.filter && !(await opt.filter(path))) {
41
+ return false;
32
42
  }
33
- return ignoreENOENT(rmdir(path));
43
+ await ignoreENOENT(rmdir(path));
44
+ return true;
34
45
  };
35
46
  export const rimrafPosixSync = (path, opt) => {
36
47
  if (opt?.signal?.aborted) {
@@ -39,19 +50,31 @@ export const rimrafPosixSync = (path, opt) => {
39
50
  const entries = readdirOrErrorSync(path);
40
51
  if (!Array.isArray(entries)) {
41
52
  if (entries.code === 'ENOENT') {
42
- return;
53
+ return true;
43
54
  }
44
55
  if (entries.code !== 'ENOTDIR') {
45
56
  throw entries;
46
57
  }
47
- return ignoreENOENTSync(() => unlinkSync(path));
58
+ if (opt.filter && !opt.filter(path)) {
59
+ return false;
60
+ }
61
+ ignoreENOENTSync(() => unlinkSync(path));
62
+ return true;
48
63
  }
64
+ let removedAll = true;
49
65
  for (const entry of entries) {
50
- rimrafPosixSync(resolve(path, entry), opt);
66
+ removedAll = rimrafPosixSync(resolve(path, entry), opt) && removedAll;
51
67
  }
52
68
  if (opt.preserveRoot === false && path === parse(path).root) {
53
- return;
69
+ return false;
70
+ }
71
+ if (!removedAll) {
72
+ return false;
73
+ }
74
+ if (opt.filter && !opt.filter(path)) {
75
+ return false;
54
76
  }
55
- return ignoreENOENTSync(() => rmdirSync(path));
77
+ ignoreENOENTSync(() => rmdirSync(path));
78
+ return true;
56
79
  };
57
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,EAAE,IAAY,EAAE,GAAkB,EAAE,EAAE;IACpE,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;QACxB,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;KACxB;IACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAM;SACP;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAA;SACd;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;KAClC;IACD,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAC7D,CAAA;IAED,sEAAsE;IACtE,+DAA+D;IAC/D,iDAAiD;IACjD,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC3D,OAAM;KACP;IAED,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE;IAClE,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;QACxB,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;KACxB;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAM;SACP;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAA;SACd;QACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;KAChD;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;KAC3C;IAED,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC3D,OAAM;KACP;IAED,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAChD,CAAC,CAAA"}
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 { RimrafOptions } from '.';
2
- export declare const rimrafWindows: (path: string, opt: RimrafOptions, state?: symbol) => Promise<void>;
3
- export declare const rimrafWindowsSync: (path: string, opt: RimrafOptions, state?: symbol) => void;
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,aAAa,EAAE,MAAM,GAAG,CAAA;AAuDjC,eAAO,MAAM,aAAa,SAClB,MAAM,OACP,aAAa,qBAEjB,QAAQ,IAAI,CAkCd,CAAA;AAED,eAAO,MAAM,iBAAiB,SACtB,MAAM,OACP,aAAa,qBAEjB,IAgCF,CAAA"}
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"}
@@ -25,12 +25,14 @@ const rimrafWindowsDirMoveRemoveFallback = async (path, opt) => {
25
25
  throw opt.signal.reason;
26
26
  }
27
27
  /* c8 ignore stop */
28
+ // already filtered, remove from options so we don't call unnecessarily
29
+ const { filter, ...options } = opt;
28
30
  try {
29
- await rimrafWindowsDir(path, opt);
31
+ return await rimrafWindowsDir(path, options);
30
32
  }
31
33
  catch (er) {
32
34
  if (er?.code === 'ENOTEMPTY') {
33
- return await rimrafMoveRemove(path, opt);
35
+ return await rimrafMoveRemove(path, options);
34
36
  }
35
37
  throw er;
36
38
  }
@@ -39,12 +41,15 @@ const rimrafWindowsDirMoveRemoveFallbackSync = (path, opt) => {
39
41
  if (opt?.signal?.aborted) {
40
42
  throw opt.signal.reason;
41
43
  }
44
+ // already filtered, remove from options so we don't call unnecessarily
45
+ const { filter, ...options } = opt;
42
46
  try {
43
- rimrafWindowsDirSync(path, opt);
47
+ return rimrafWindowsDirSync(path, options);
44
48
  }
45
49
  catch (er) {
46
- if (er?.code === 'ENOTEMPTY') {
47
- return rimrafMoveRemoveSync(path, opt);
50
+ const fer = er;
51
+ if (fer?.code === 'ENOTEMPTY') {
52
+ return rimrafMoveRemoveSync(path, options);
48
53
  }
49
54
  throw er;
50
55
  }
@@ -63,24 +68,36 @@ export const rimrafWindows = async (path, opt, state = START) => {
63
68
  const entries = await readdirOrError(path);
64
69
  if (!Array.isArray(entries)) {
65
70
  if (entries.code === 'ENOENT') {
66
- return;
71
+ return true;
67
72
  }
68
73
  if (entries.code !== 'ENOTDIR') {
69
74
  throw entries;
70
75
  }
76
+ if (opt.filter && !(await opt.filter(path))) {
77
+ return false;
78
+ }
71
79
  // is a file
72
- return ignoreENOENT(rimrafWindowsFile(path, opt));
80
+ await ignoreENOENT(rimrafWindowsFile(path, opt));
81
+ return true;
73
82
  }
74
- await Promise.all(entries.map(entry => rimrafWindows(resolve(path, entry), opt, state === START ? CHILD : state)));
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);
75
85
  if (state === START) {
76
86
  return rimrafWindows(path, opt, FINISH);
77
87
  }
78
88
  else if (state === FINISH) {
79
89
  if (opt.preserveRoot === false && path === parse(path).root) {
80
- return;
90
+ return false;
91
+ }
92
+ if (!removedAll) {
93
+ return false;
94
+ }
95
+ if (opt.filter && !(await opt.filter(path))) {
96
+ return false;
81
97
  }
82
- return ignoreENOENT(rimrafWindowsDirMoveRemoveFallback(path, opt));
98
+ await ignoreENOENT(rimrafWindowsDirMoveRemoveFallback(path, opt));
83
99
  }
100
+ return true;
84
101
  };
85
102
  export const rimrafWindowsSync = (path, opt, state = START) => {
86
103
  if (!states.has(state)) {
@@ -89,28 +106,40 @@ export const rimrafWindowsSync = (path, opt, state = START) => {
89
106
  const entries = readdirOrErrorSync(path);
90
107
  if (!Array.isArray(entries)) {
91
108
  if (entries.code === 'ENOENT') {
92
- return;
109
+ return true;
93
110
  }
94
111
  if (entries.code !== 'ENOTDIR') {
95
112
  throw entries;
96
113
  }
114
+ if (opt.filter && !opt.filter(path)) {
115
+ return false;
116
+ }
97
117
  // is a file
98
- return ignoreENOENTSync(() => rimrafWindowsFileSync(path, opt));
118
+ ignoreENOENTSync(() => rimrafWindowsFileSync(path, opt));
119
+ return true;
99
120
  }
121
+ let removedAll = true;
100
122
  for (const entry of entries) {
101
123
  const s = state === START ? CHILD : state;
102
- rimrafWindowsSync(resolve(path, entry), opt, s);
124
+ removedAll = rimrafWindowsSync(resolve(path, entry), opt, s) && removedAll;
103
125
  }
104
126
  if (state === START) {
105
127
  return rimrafWindowsSync(path, opt, FINISH);
106
128
  }
107
129
  else if (state === FINISH) {
108
130
  if (opt.preserveRoot === false && path === parse(path).root) {
109
- return;
131
+ return false;
132
+ }
133
+ if (!removedAll) {
134
+ return false;
135
+ }
136
+ if (opt.filter && !opt.filter(path)) {
137
+ return false;
110
138
  }
111
- return ignoreENOENTSync(() => {
139
+ ignoreENOENTSync(() => {
112
140
  rimrafWindowsDirMoveRemoveFallbackSync(path, opt);
113
141
  });
114
142
  }
143
+ return true;
115
144
  };
116
145
  //# sourceMappingURL=rimraf-windows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rimraf-windows.js","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rimraf-windows.js","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { RimrafOptions } from './index.js';
2
- export declare const useNative: (opt?: RimrafOptions) => boolean;
1
+ import { RimrafAsyncOptions, RimrafOptions } from './index.js';
2
+ export declare const useNative: (opt?: RimrafAsyncOptions) => boolean;
3
3
  export declare const useNativeSync: (opt?: RimrafOptions) => boolean;
4
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":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI1C,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,KAAK,OACuB,CAAA;AACxE,eAAO,MAAM,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,KAAK,OACmB,CAAA"}
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"}
@@ -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' ? () => false : opt => !opt?.signal;
8
- export const useNativeSync = !hasNative || platform === 'win32' ? () => false : opt => !opt?.signal;
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;AAE/E,oEAAoE;AACpE,yEAAyE;AACzE,OAAO,QAAQ,MAAM,eAAe,CAAA;AACpC,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAA;AACxE,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,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.2.0",
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.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"