rimraf 3.0.2 → 4.0.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 (110) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +128 -64
  3. package/dist/cjs/package.json +74 -0
  4. package/dist/cjs/src/bin.d.ts +7 -0
  5. package/dist/cjs/src/bin.js +144 -0
  6. package/dist/cjs/src/bin.js.map +1 -0
  7. package/dist/cjs/src/default-tmp.d.ts +2 -0
  8. package/dist/cjs/src/default-tmp.js +61 -0
  9. package/dist/cjs/src/default-tmp.js.map +1 -0
  10. package/dist/cjs/src/fix-eperm.d.ts +2 -0
  11. package/dist/cjs/src/fix-eperm.js +58 -0
  12. package/dist/cjs/src/fix-eperm.js.map +1 -0
  13. package/dist/cjs/src/fs.d.ts +17 -0
  14. package/dist/cjs/src/fs.js +41 -0
  15. package/dist/cjs/src/fs.js.map +1 -0
  16. package/dist/cjs/src/ignore-enoent.d.ts +2 -0
  17. package/dist/cjs/src/ignore-enoent.js +21 -0
  18. package/dist/cjs/src/ignore-enoent.js.map +1 -0
  19. package/dist/cjs/src/index.d.ts +60 -0
  20. package/dist/cjs/src/index.js +79 -0
  21. package/dist/cjs/src/index.js.map +1 -0
  22. package/dist/cjs/src/opt-arg.d.ts +3 -0
  23. package/dist/cjs/src/opt-arg.js +8 -0
  24. package/dist/cjs/src/opt-arg.js.map +1 -0
  25. package/dist/cjs/src/path-arg.d.ts +3 -0
  26. package/dist/cjs/src/path-arg.js +54 -0
  27. package/dist/cjs/src/path-arg.js.map +1 -0
  28. package/dist/cjs/src/platform.d.ts +2 -0
  29. package/dist/cjs/src/platform.js +4 -0
  30. package/dist/cjs/src/platform.js.map +1 -0
  31. package/dist/cjs/src/readdir-or-error.d.ts +3 -0
  32. package/dist/cjs/src/readdir-or-error.js +19 -0
  33. package/dist/cjs/src/readdir-or-error.js.map +1 -0
  34. package/dist/cjs/src/retry-busy.d.ts +7 -0
  35. package/dist/cjs/src/retry-busy.js +65 -0
  36. package/dist/cjs/src/retry-busy.js.map +1 -0
  37. package/dist/cjs/src/rimraf-manual.d.ts +2 -0
  38. package/dist/cjs/src/rimraf-manual.js +12 -0
  39. package/dist/cjs/src/rimraf-manual.js.map +1 -0
  40. package/dist/cjs/src/rimraf-move-remove.d.ts +3 -0
  41. package/dist/cjs/src/rimraf-move-remove.js +124 -0
  42. package/dist/cjs/src/rimraf-move-remove.js.map +1 -0
  43. package/dist/cjs/src/rimraf-native.d.ts +3 -0
  44. package/dist/cjs/src/rimraf-native.js +18 -0
  45. package/dist/cjs/src/rimraf-native.js.map +1 -0
  46. package/dist/cjs/src/rimraf-posix.d.ts +3 -0
  47. package/dist/cjs/src/rimraf-posix.js +60 -0
  48. package/dist/cjs/src/rimraf-posix.js.map +1 -0
  49. package/dist/cjs/src/rimraf-windows.d.ts +3 -0
  50. package/dist/cjs/src/rimraf-windows.js +110 -0
  51. package/dist/cjs/src/rimraf-windows.js.map +1 -0
  52. package/dist/cjs/src/use-native.d.ts +2 -0
  53. package/dist/cjs/src/use-native.js +9 -0
  54. package/dist/cjs/src/use-native.js.map +1 -0
  55. package/dist/mjs/package.json +74 -0
  56. package/dist/mjs/src/bin.d.ts +7 -0
  57. package/dist/mjs/src/bin.js +138 -0
  58. package/dist/mjs/src/bin.js.map +1 -0
  59. package/dist/mjs/src/default-tmp.d.ts +2 -0
  60. package/dist/mjs/src/default-tmp.js +55 -0
  61. package/dist/mjs/src/default-tmp.js.map +1 -0
  62. package/dist/mjs/src/fix-eperm.d.ts +2 -0
  63. package/dist/mjs/src/fix-eperm.js +53 -0
  64. package/dist/mjs/src/fix-eperm.js.map +1 -0
  65. package/dist/mjs/src/fs.d.ts +17 -0
  66. package/dist/mjs/src/fs.js +27 -0
  67. package/dist/mjs/src/fs.js.map +1 -0
  68. package/dist/mjs/src/ignore-enoent.d.ts +2 -0
  69. package/dist/mjs/src/ignore-enoent.js +16 -0
  70. package/dist/mjs/src/ignore-enoent.js.map +1 -0
  71. package/dist/mjs/src/index.d.ts +60 -0
  72. package/dist/mjs/src/index.js +71 -0
  73. package/dist/mjs/src/index.js.map +1 -0
  74. package/dist/mjs/src/opt-arg.d.ts +3 -0
  75. package/dist/mjs/src/opt-arg.js +6 -0
  76. package/dist/mjs/src/opt-arg.js.map +1 -0
  77. package/dist/mjs/src/path-arg.d.ts +3 -0
  78. package/dist/mjs/src/path-arg.js +49 -0
  79. package/dist/mjs/src/path-arg.js.map +1 -0
  80. package/dist/mjs/src/platform.d.ts +2 -0
  81. package/dist/mjs/src/platform.js +2 -0
  82. package/dist/mjs/src/platform.js.map +1 -0
  83. package/dist/mjs/src/readdir-or-error.d.ts +3 -0
  84. package/dist/mjs/src/readdir-or-error.js +14 -0
  85. package/dist/mjs/src/readdir-or-error.js.map +1 -0
  86. package/dist/mjs/src/retry-busy.d.ts +7 -0
  87. package/dist/mjs/src/retry-busy.js +60 -0
  88. package/dist/mjs/src/retry-busy.js.map +1 -0
  89. package/dist/mjs/src/rimraf-manual.d.ts +2 -0
  90. package/dist/mjs/src/rimraf-manual.js +6 -0
  91. package/dist/mjs/src/rimraf-manual.js.map +1 -0
  92. package/dist/mjs/src/rimraf-move-remove.d.ts +3 -0
  93. package/dist/mjs/src/rimraf-move-remove.js +119 -0
  94. package/dist/mjs/src/rimraf-move-remove.js.map +1 -0
  95. package/dist/mjs/src/rimraf-native.d.ts +3 -0
  96. package/dist/mjs/src/rimraf-native.js +13 -0
  97. package/dist/mjs/src/rimraf-native.js.map +1 -0
  98. package/dist/mjs/src/rimraf-posix.d.ts +3 -0
  99. package/dist/mjs/src/rimraf-posix.js +55 -0
  100. package/dist/mjs/src/rimraf-posix.js.map +1 -0
  101. package/dist/mjs/src/rimraf-windows.d.ts +3 -0
  102. package/dist/mjs/src/rimraf-windows.js +105 -0
  103. package/dist/mjs/src/rimraf-windows.js.map +1 -0
  104. package/dist/mjs/src/use-native.d.ts +2 -0
  105. package/dist/mjs/src/use-native.js +6 -0
  106. package/dist/mjs/src/use-native.js.map +1 -0
  107. package/package.json +57 -15
  108. package/CHANGELOG.md +0 -65
  109. package/bin.js +0 -68
  110. package/rimraf.js +0 -360
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // promisify ourselves, because older nodes don't have fs.promises
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.promises = exports.unlinkSync = exports.statSync = exports.rmSync = exports.rmdirSync = exports.renameSync = exports.readdirSync = exports.mkdirSync = exports.chmodSync = void 0;
8
+ const fs_1 = __importDefault(require("fs"));
9
+ // sync ones just take the sync version from node
10
+ var fs_2 = require("fs");
11
+ Object.defineProperty(exports, "chmodSync", { enumerable: true, get: function () { return fs_2.chmodSync; } });
12
+ Object.defineProperty(exports, "mkdirSync", { enumerable: true, get: function () { return fs_2.mkdirSync; } });
13
+ Object.defineProperty(exports, "readdirSync", { enumerable: true, get: function () { return fs_2.readdirSync; } });
14
+ Object.defineProperty(exports, "renameSync", { enumerable: true, get: function () { return fs_2.renameSync; } });
15
+ Object.defineProperty(exports, "rmdirSync", { enumerable: true, get: function () { return fs_2.rmdirSync; } });
16
+ Object.defineProperty(exports, "rmSync", { enumerable: true, get: function () { return fs_2.rmSync; } });
17
+ Object.defineProperty(exports, "statSync", { enumerable: true, get: function () { return fs_2.statSync; } });
18
+ Object.defineProperty(exports, "unlinkSync", { enumerable: true, get: function () { return fs_2.unlinkSync; } });
19
+ // unrolled for better inlining, this seems to get better performance
20
+ // than something like:
21
+ // const makeCb = (res, rej) => (er, ...d) => er ? rej(er) : res(...d)
22
+ // which would be a bit cleaner.
23
+ const chmod = (path, mode) => new Promise((res, rej) => fs_1.default.chmod(path, mode, (er, ...d) => (er ? rej(er) : res(...d))));
24
+ const mkdir = (path, options) => new Promise((res, rej) => fs_1.default.mkdir(path, options, (er, made) => (er ? rej(er) : res(made))));
25
+ const readdir = (path) => new Promise((res, rej) => fs_1.default.readdir(path, (er, data) => (er ? rej(er) : res(data))));
26
+ const rename = (oldPath, newPath) => new Promise((res, rej) => fs_1.default.rename(oldPath, newPath, (er, ...d) => (er ? rej(er) : res(...d))));
27
+ const rm = (path, options) => new Promise((res, rej) => fs_1.default.rm(path, options, (er, ...d) => (er ? rej(er) : res(...d))));
28
+ const rmdir = (path) => new Promise((res, rej) => fs_1.default.rmdir(path, (er, ...d) => (er ? rej(er) : res(...d))));
29
+ const stat = (path) => new Promise((res, rej) => fs_1.default.stat(path, (er, data) => (er ? rej(er) : res(data))));
30
+ const unlink = (path) => new Promise((res, rej) => fs_1.default.unlink(path, (er, ...d) => (er ? rej(er) : res(...d))));
31
+ exports.promises = {
32
+ chmod,
33
+ mkdir,
34
+ readdir,
35
+ rename,
36
+ rm,
37
+ rmdir,
38
+ stat,
39
+ unlink,
40
+ };
41
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/fs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const ignoreENOENT: (p: Promise<any>) => Promise<any>;
2
+ export declare const ignoreENOENTSync: (fn: () => any) => any;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ignoreENOENTSync = exports.ignoreENOENT = void 0;
4
+ const ignoreENOENT = async (p) => p.catch(er => {
5
+ if (er.code !== 'ENOENT') {
6
+ throw er;
7
+ }
8
+ });
9
+ exports.ignoreENOENT = ignoreENOENT;
10
+ const ignoreENOENTSync = (fn) => {
11
+ try {
12
+ return fn();
13
+ }
14
+ catch (er) {
15
+ if (er?.code !== 'ENOENT') {
16
+ throw er;
17
+ }
18
+ }
19
+ };
20
+ exports.ignoreENOENTSync = ignoreENOENTSync;
21
+ //# sourceMappingURL=ignore-enoent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-enoent.js","sourceRoot":"","sources":["../../../src/ignore-enoent.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,KAAK,EAAE,CAAe,EAAE,EAAE,CACpD,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;IACX,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;QACxB,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAC,CAAA;AALS,QAAA,YAAY,gBAKrB;AAEG,MAAM,gBAAgB,GAAG,CAAC,EAAa,EAAE,EAAE;IAChD,IAAI;QACF,OAAO,EAAE,EAAE,CAAA;KACZ;IAAC,OAAO,EAAE,EAAE;QACX,IAAK,EAAc,EAAE,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,EAAE,CAAA;SACT;KACF;AACH,CAAC,CAAA;AARY,QAAA,gBAAgB,oBAQ5B"}
@@ -0,0 +1,60 @@
1
+ export interface RimrafOptions {
2
+ preserveRoot?: boolean;
3
+ tmp?: string;
4
+ maxRetries?: number;
5
+ retryDelay?: number;
6
+ backoff?: number;
7
+ maxBackoff?: number;
8
+ }
9
+ export declare const isRimrafOptions: (o: any) => o is RimrafOptions;
10
+ export declare const assertRimrafOptions: (o: any) => void;
11
+ export declare const nativeSync: (path: string | string[], opt?: RimrafOptions) => void;
12
+ export declare const native: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
13
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
14
+ };
15
+ export declare const manualSync: (path: string | string[], opt?: RimrafOptions) => void;
16
+ export declare const manual: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
17
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
18
+ };
19
+ export declare const windowsSync: (path: string | string[], opt?: RimrafOptions) => void;
20
+ export declare const windows: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
21
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
22
+ };
23
+ export declare const posixSync: (path: string | string[], opt?: RimrafOptions) => void;
24
+ export declare const posix: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
25
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
26
+ };
27
+ export declare const moveRemoveSync: (path: string | string[], opt?: RimrafOptions) => void;
28
+ export declare const moveRemove: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
29
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
30
+ };
31
+ export declare const rimrafSync: (path: string | string[], opt?: RimrafOptions) => void;
32
+ export declare const sync: (path: string | string[], opt?: RimrafOptions) => void;
33
+ export declare const rimraf: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
34
+ rimraf: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
35
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
36
+ };
37
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
38
+ rimrafSync: (path: string | string[], opt?: RimrafOptions) => void;
39
+ manual: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
40
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
41
+ };
42
+ manualSync: (path: string | string[], opt?: RimrafOptions) => void;
43
+ native: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
44
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
45
+ };
46
+ nativeSync: (path: string | string[], opt?: RimrafOptions) => void;
47
+ posix: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
48
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
49
+ };
50
+ posixSync: (path: string | string[], opt?: RimrafOptions) => void;
51
+ windows: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
52
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
53
+ };
54
+ windowsSync: (path: string | string[], opt?: RimrafOptions) => void;
55
+ moveRemove: ((path: string | string[], opt?: RimrafOptions) => Promise<void>) & {
56
+ sync: (path: string | string[], opt?: RimrafOptions) => void;
57
+ };
58
+ moveRemoveSync: (path: string | string[], opt?: RimrafOptions) => void;
59
+ };
60
+ export default rimraf;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.rimraf = exports.sync = exports.rimrafSync = exports.moveRemove = exports.moveRemoveSync = exports.posix = exports.posixSync = exports.windows = exports.windowsSync = exports.manual = exports.manualSync = exports.native = exports.nativeSync = exports.assertRimrafOptions = exports.isRimrafOptions = void 0;
7
+ const opt_arg_1 = __importDefault(require("./opt-arg"));
8
+ const path_arg_1 = __importDefault(require("./path-arg"));
9
+ /* c8 ignore start */
10
+ const typeOrUndef = (val, t) => typeof val === 'undefined' || typeof val === t;
11
+ /* c8 ignore stop */
12
+ const isRimrafOptions = (o) => !!o &&
13
+ typeof o === 'object' &&
14
+ typeOrUndef(o.preserveRoot, 'boolean') &&
15
+ typeOrUndef(o.preserveRoot, 'number') &&
16
+ typeOrUndef(o.maxRetries, 'number') &&
17
+ typeOrUndef(o.retryDelay, 'number') &&
18
+ typeOrUndef(o.backoff, 'number') &&
19
+ typeOrUndef(o.maxBackoff, 'number');
20
+ exports.isRimrafOptions = isRimrafOptions;
21
+ /* c8 ignore start */
22
+ const assertRimrafOptions = (o) => {
23
+ if (!(0, exports.isRimrafOptions)(o)) {
24
+ throw new Error('invalid rimraf options');
25
+ }
26
+ };
27
+ exports.assertRimrafOptions = assertRimrafOptions;
28
+ /* c8 ignore stop */
29
+ const rimraf_manual_1 = require("./rimraf-manual");
30
+ const rimraf_move_remove_1 = require("./rimraf-move-remove");
31
+ const rimraf_native_1 = require("./rimraf-native");
32
+ const rimraf_posix_1 = require("./rimraf-posix");
33
+ const rimraf_windows_1 = require("./rimraf-windows");
34
+ const use_native_1 = require("./use-native");
35
+ const wrap = (fn) => async (path, opt) => {
36
+ const options = (0, opt_arg_1.default)(opt);
37
+ await (Array.isArray(path)
38
+ ? Promise.all(path.map(p => fn((0, path_arg_1.default)(p, options), options)))
39
+ : fn((0, path_arg_1.default)(path, options), options));
40
+ };
41
+ const wrapSync = (fn) => (path, opt) => {
42
+ const options = (0, opt_arg_1.default)(opt);
43
+ return Array.isArray(path)
44
+ ? path.forEach(p => fn((0, path_arg_1.default)(p, options), options))
45
+ : fn((0, path_arg_1.default)(path, options), options);
46
+ };
47
+ exports.nativeSync = wrapSync(rimraf_native_1.rimrafNativeSync);
48
+ exports.native = Object.assign(wrap(rimraf_native_1.rimrafNative), { sync: exports.nativeSync });
49
+ exports.manualSync = wrapSync(rimraf_manual_1.rimrafManualSync);
50
+ exports.manual = Object.assign(wrap(rimraf_manual_1.rimrafManual), { sync: exports.manualSync });
51
+ exports.windowsSync = wrapSync(rimraf_windows_1.rimrafWindowsSync);
52
+ exports.windows = Object.assign(wrap(rimraf_windows_1.rimrafWindows), { sync: exports.windowsSync });
53
+ exports.posixSync = wrapSync(rimraf_posix_1.rimrafPosixSync);
54
+ exports.posix = Object.assign(wrap(rimraf_posix_1.rimrafPosix), { sync: exports.posixSync });
55
+ exports.moveRemoveSync = wrapSync(rimraf_move_remove_1.rimrafMoveRemoveSync);
56
+ exports.moveRemove = Object.assign(wrap(rimraf_move_remove_1.rimrafMoveRemove), {
57
+ sync: exports.moveRemoveSync,
58
+ });
59
+ exports.rimrafSync = wrapSync((path, opt) => (0, use_native_1.useNativeSync)() ? (0, rimraf_native_1.rimrafNativeSync)(path, opt) : (0, rimraf_manual_1.rimrafManualSync)(path, opt));
60
+ exports.sync = exports.rimrafSync;
61
+ exports.rimraf = Object.assign(wrap((path, opt) => (0, use_native_1.useNative)() ? (0, rimraf_native_1.rimrafNative)(path, opt) : (0, rimraf_manual_1.rimrafManual)(path, opt)), {
62
+ // this weirdness because it's easier than explicitly declaring
63
+ rimraf: exports.manual,
64
+ sync: exports.rimrafSync,
65
+ rimrafSync: exports.rimrafSync,
66
+ manual: exports.manual,
67
+ manualSync: exports.manualSync,
68
+ native: exports.native,
69
+ nativeSync: exports.nativeSync,
70
+ posix: exports.posix,
71
+ posixSync: exports.posixSync,
72
+ windows: exports.windows,
73
+ windowsSync: exports.windowsSync,
74
+ moveRemove: exports.moveRemove,
75
+ moveRemoveSync: exports.moveRemoveSync,
76
+ });
77
+ exports.rimraf.rimraf = exports.rimraf;
78
+ exports.default = exports.rimraf;
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { RimrafOptions } from './index';
2
+ declare const _default: (opt?: RimrafOptions) => RimrafOptions;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("./index");
4
+ exports.default = (opt = {}) => {
5
+ (0, index_1.assertRimrafOptions)(opt);
6
+ return opt;
7
+ };
8
+ //# sourceMappingURL=opt-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opt-arg.js","sourceRoot":"","sources":["../../../src/opt-arg.ts"],"names":[],"mappings":";;AAAA,mCAA4D;AAC5D,kBAAe,CAAC,MAAqB,EAAE,EAAE,EAAE;IACzC,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { RimrafOptions } from './index';
2
+ declare const pathArg: (path: string, opt?: RimrafOptions) => string;
3
+ export default pathArg;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const platform_1 = __importDefault(require("./platform"));
7
+ const path_1 = require("path");
8
+ const util_1 = require("util");
9
+ const pathArg = (path, opt = {}) => {
10
+ const type = typeof path;
11
+ if (type !== 'string') {
12
+ const ctor = path && type === 'object' && path.constructor;
13
+ const received = ctor && ctor.name
14
+ ? `an instance of ${ctor.name}`
15
+ : type === 'object'
16
+ ? (0, util_1.inspect)(path)
17
+ : `type ${type} ${path}`;
18
+ const msg = 'The "path" argument must be of type string. ' + `Received ${received}`;
19
+ throw Object.assign(new TypeError(msg), {
20
+ path,
21
+ code: 'ERR_INVALID_ARG_TYPE',
22
+ });
23
+ }
24
+ if (/\0/.test(path)) {
25
+ // simulate same failure that node raises
26
+ const msg = 'path must be a string without null bytes';
27
+ throw Object.assign(new TypeError(msg), {
28
+ path,
29
+ code: 'ERR_INVALID_ARG_VALUE',
30
+ });
31
+ }
32
+ path = (0, path_1.resolve)(path);
33
+ const { root } = (0, path_1.parse)(path);
34
+ if (path === root && opt.preserveRoot !== false) {
35
+ const msg = 'refusing to remove root directory without preserveRoot:false';
36
+ throw Object.assign(new Error(msg), {
37
+ path,
38
+ code: 'ERR_PRESERVE_ROOT',
39
+ });
40
+ }
41
+ if (platform_1.default === 'win32') {
42
+ const badWinChars = /[*|"<>?:]/;
43
+ const { root } = (0, path_1.parse)(path);
44
+ if (badWinChars.test(path.substring(root.length))) {
45
+ throw Object.assign(new Error('Illegal characters in path.'), {
46
+ path,
47
+ code: 'EINVAL',
48
+ });
49
+ }
50
+ }
51
+ return path;
52
+ };
53
+ exports.default = pathArg;
54
+ //# sourceMappingURL=path-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-arg.js","sourceRoot":"","sources":["../../../src/path-arg.ts"],"names":[],"mappings":";;;;;AAAA,0DAAiC;AACjC,+BAAqC;AACrC,+BAA8B;AAG9B,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,MAAqB,EAAE,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAA;IACxB,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAA;QAC1D,MAAM,QAAQ,GACZ,IAAI,IAAI,IAAI,CAAC,IAAI;YACf,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE;YAC/B,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,CAAC,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC;gBACf,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAA;QAC5B,MAAM,GAAG,GACP,8CAA8C,GAAG,YAAY,QAAQ,EAAE,CAAA;QACzE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI;YACJ,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAA;KACH;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnB,yCAAyC;QACzC,MAAM,GAAG,GAAG,0CAA0C,CAAA;QACtD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI;YACJ,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAA;KACH;IAED,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;IAE5B,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,EAAE;QAC/C,MAAM,GAAG,GAAG,8DAA8D,CAAA;QAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI;YACJ,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAA;KACH;IAED,IAAI,kBAAQ,KAAK,OAAO,EAAE;QACxB,MAAM,WAAW,GAAG,WAAW,CAAA;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,YAAK,EAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YACjD,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,EAAE;gBAC5D,IAAI;gBACJ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;SACH;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: string;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = process.env.__TESTING_RIMRAF_PLATFORM__ || process.platform;
4
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/platform.ts"],"names":[],"mappings":";;AAAA,kBAAe,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { FsError } from './fs';
2
+ export declare const readdirOrError: (path: string) => Promise<string[] | FsError>;
3
+ export declare const readdirOrErrorSync: (path: string) => string[] | FsError;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readdirOrErrorSync = exports.readdirOrError = void 0;
4
+ // returns an array of entries if readdir() works,
5
+ // or the error that readdir() raised if not.
6
+ const fs_1 = require("./fs");
7
+ const { readdir } = fs_1.promises;
8
+ const readdirOrError = (path) => readdir(path).catch(er => er);
9
+ exports.readdirOrError = readdirOrError;
10
+ const readdirOrErrorSync = (path) => {
11
+ try {
12
+ return (0, fs_1.readdirSync)(path);
13
+ }
14
+ catch (er) {
15
+ return er;
16
+ }
17
+ };
18
+ exports.readdirOrErrorSync = readdirOrErrorSync;
19
+ //# sourceMappingURL=readdir-or-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readdir-or-error.js","sourceRoot":"","sources":["../../../src/readdir-or-error.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,6CAA6C;AAC7C,6BAAqD;AACrD,MAAM,EAAE,OAAO,EAAE,GAAG,aAAQ,CAAA;AACrB,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,CAAC,CAAA;AAD7B,QAAA,cAAc,kBACe;AACnC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;IACjD,IAAI;QACF,OAAO,IAAA,gBAAW,EAAC,IAAI,CAAC,CAAA;KACzB;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,EAAa,CAAA;KACrB;AACH,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B"}
@@ -0,0 +1,7 @@
1
+ import { RimrafOptions } from '.';
2
+ export declare const MAXBACKOFF = 200;
3
+ export declare const RATE = 1.2;
4
+ export declare const MAXRETRIES = 10;
5
+ export declare const codes: Set<string>;
6
+ export declare const retryBusy: (fn: (path: string) => Promise<any>) => (path: string, opt: RimrafOptions, backoff?: number, total?: number) => Promise<any>;
7
+ export declare const retryBusySync: (fn: (path: string) => any) => (path: string, opt: RimrafOptions) => any;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ // note: max backoff is the maximum that any *single* backoff will do
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.retryBusySync = exports.retryBusy = exports.codes = exports.MAXRETRIES = exports.RATE = exports.MAXBACKOFF = void 0;
5
+ exports.MAXBACKOFF = 200;
6
+ exports.RATE = 1.2;
7
+ exports.MAXRETRIES = 10;
8
+ exports.codes = new Set(['EMFILE', 'ENFILE', 'EBUSY']);
9
+ const retryBusy = (fn) => {
10
+ const method = async (path, opt, backoff = 1, total = 0) => {
11
+ const mbo = opt.maxBackoff || exports.MAXBACKOFF;
12
+ const rate = opt.backoff || exports.RATE;
13
+ const max = opt.maxRetries || exports.MAXRETRIES;
14
+ let retries = 0;
15
+ while (true) {
16
+ try {
17
+ return await fn(path);
18
+ }
19
+ catch (er) {
20
+ const fer = er;
21
+ if (fer?.code && exports.codes.has(fer.code)) {
22
+ backoff = Math.ceil(backoff * rate);
23
+ total = backoff + total;
24
+ if (total < mbo) {
25
+ return new Promise((res, rej) => {
26
+ setTimeout(() => {
27
+ method(path, opt, backoff, total).then(res, rej);
28
+ }, backoff);
29
+ });
30
+ }
31
+ if (retries < max) {
32
+ retries++;
33
+ continue;
34
+ }
35
+ }
36
+ throw er;
37
+ }
38
+ }
39
+ };
40
+ return method;
41
+ };
42
+ exports.retryBusy = retryBusy;
43
+ // just retries, no async so no backoff
44
+ const retryBusySync = (fn) => {
45
+ const method = (path, opt) => {
46
+ const max = opt.maxRetries || exports.MAXRETRIES;
47
+ let retries = 0;
48
+ while (true) {
49
+ try {
50
+ return fn(path);
51
+ }
52
+ catch (er) {
53
+ const fer = er;
54
+ if (fer?.code && exports.codes.has(fer.code) && retries < max) {
55
+ retries++;
56
+ continue;
57
+ }
58
+ throw er;
59
+ }
60
+ }
61
+ };
62
+ return method;
63
+ };
64
+ exports.retryBusySync = retryBusySync;
65
+ //# sourceMappingURL=retry-busy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-busy.js","sourceRoot":"","sources":["../../../src/retry-busy.ts"],"names":[],"mappings":";AAAA,qEAAqE;;;AAKxD,QAAA,UAAU,GAAG,GAAG,CAAA;AAChB,QAAA,IAAI,GAAG,GAAG,CAAA;AACV,QAAA,UAAU,GAAG,EAAE,CAAA;AACf,QAAA,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpD,MAAM,SAAS,GAAG,CAAC,EAAkC,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,KAAK,EAClB,IAAY,EACZ,GAAkB,EAClB,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,EACT,EAAE;QACF,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,kBAAU,CAAA;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,YAAI,CAAA;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,kBAAU,CAAA;QACxC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE;YACX,IAAI;gBACF,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;aACtB;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,GAAG,GAAG,EAAa,CAAA;gBACzB,IAAI,GAAG,EAAE,IAAI,IAAI,aAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACpC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;oBACnC,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;oBACvB,IAAI,KAAK,GAAG,GAAG,EAAE;wBACf,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;4BAC9B,UAAU,CAAC,GAAG,EAAE;gCACd,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;4BAClD,CAAC,EAAE,OAAO,CAAC,CAAA;wBACb,CAAC,CAAC,CAAA;qBACH;oBACD,IAAI,OAAO,GAAG,GAAG,EAAE;wBACjB,OAAO,EAAE,CAAA;wBACT,SAAQ;qBACT;iBACF;gBACD,MAAM,EAAE,CAAA;aACT;SACF;IACH,CAAC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB;AAED,uCAAuC;AAChC,MAAM,aAAa,GAAG,CAAC,EAAyB,EAAE,EAAE;IACzD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,kBAAU,CAAA;QACxC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE;YACX,IAAI;gBACF,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;aAChB;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,GAAG,GAAG,EAAa,CAAA;gBACzB,IAAI,GAAG,EAAE,IAAI,IAAI,aAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,GAAG,EAAE;oBACrD,OAAO,EAAE,CAAA;oBACT,SAAQ;iBACT;gBACD,MAAM,EAAE,CAAA;aACT;SACF;IACH,CAAC,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAlBY,QAAA,aAAa,iBAkBzB"}
@@ -0,0 +1,2 @@
1
+ export declare const rimrafManual: ((path: string, opt: import(".").RimrafOptions) => Promise<any>) | ((path: string, opt: import(".").RimrafOptions, state?: symbol) => Promise<void>);
2
+ export declare const rimrafManualSync: (path: string, opt: import(".").RimrafOptions, state?: symbol) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.rimrafManualSync = exports.rimrafManual = void 0;
7
+ const platform_1 = __importDefault(require("./platform"));
8
+ const rimraf_posix_1 = require("./rimraf-posix");
9
+ const rimraf_windows_1 = require("./rimraf-windows");
10
+ exports.rimrafManual = platform_1.default === 'win32' ? rimraf_windows_1.rimrafWindows : rimraf_posix_1.rimrafPosix;
11
+ exports.rimrafManualSync = platform_1.default === 'win32' ? rimraf_windows_1.rimrafWindowsSync : rimraf_posix_1.rimrafPosixSync;
12
+ //# sourceMappingURL=rimraf-manual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rimraf-manual.js","sourceRoot":"","sources":["../../../src/rimraf-manual.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAEjC,iDAA6D;AAC7D,qDAAmE;AAEtD,QAAA,YAAY,GAAG,kBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,8BAAa,CAAC,CAAC,CAAC,0BAAW,CAAA;AACjE,QAAA,gBAAgB,GAC3B,kBAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kCAAiB,CAAC,CAAC,CAAC,8BAAe,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { RimrafOptions } from '.';
2
+ export declare const rimrafMoveRemove: (path: string, opt: RimrafOptions) => Promise<void>;
3
+ export declare const rimrafMoveRemoveSync: (path: string, opt: RimrafOptions) => void;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ // https://youtu.be/uhRWMGBjlO8?t=537
3
+ //
4
+ // 1. readdir
5
+ // 2. for each entry
6
+ // a. if a non-empty directory, recurse
7
+ // b. if an empty directory, move to random hidden file name in $TEMP
8
+ // c. unlink/rmdir $TEMP
9
+ //
10
+ // This works around the fact that unlink/rmdir is non-atomic and takes
11
+ // a non-deterministic amount of time to complete.
12
+ //
13
+ // However, it is HELLA SLOW, like 2-10x slower than a naive recursive rm.
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.rimrafMoveRemoveSync = exports.rimrafMoveRemove = void 0;
16
+ const path_1 = require("path");
17
+ const default_tmp_1 = require("./default-tmp");
18
+ const ignore_enoent_1 = require("./ignore-enoent");
19
+ const fs_1 = require("./fs");
20
+ const { rename, unlink, rmdir, chmod } = fs_1.promises;
21
+ const readdir_or_error_1 = require("./readdir-or-error");
22
+ // crypto.randomBytes is much slower, and Math.random() is enough here
23
+ const uniqueFilename = (path) => `.${(0, path_1.basename)(path)}.${Math.random()}`;
24
+ const unlinkFixEPERM = async (path) => unlink(path).catch((er) => {
25
+ if (er.code === 'EPERM') {
26
+ return chmod(path, 0o666).then(() => unlink(path), er2 => {
27
+ if (er2.code === 'ENOENT') {
28
+ return;
29
+ }
30
+ throw er;
31
+ });
32
+ }
33
+ else if (er.code === 'ENOENT') {
34
+ return;
35
+ }
36
+ throw er;
37
+ });
38
+ const unlinkFixEPERMSync = (path) => {
39
+ try {
40
+ (0, fs_1.unlinkSync)(path);
41
+ }
42
+ catch (er) {
43
+ if (er?.code === 'EPERM') {
44
+ try {
45
+ return (0, fs_1.chmodSync)(path, 0o666);
46
+ }
47
+ catch (er2) {
48
+ if (er2?.code === 'ENOENT') {
49
+ return;
50
+ }
51
+ throw er;
52
+ }
53
+ }
54
+ else if (er?.code === 'ENOENT') {
55
+ return;
56
+ }
57
+ throw er;
58
+ }
59
+ };
60
+ const rimrafMoveRemove = async (path, opt) => {
61
+ if (!opt.tmp) {
62
+ return (0, exports.rimrafMoveRemove)(path, { ...opt, tmp: await (0, default_tmp_1.defaultTmp)(path) });
63
+ }
64
+ if (path === opt.tmp && (0, path_1.parse)(path).root !== path) {
65
+ throw new Error('cannot delete temp directory used for deletion');
66
+ }
67
+ const entries = await (0, readdir_or_error_1.readdirOrError)(path);
68
+ if (!Array.isArray(entries)) {
69
+ if (entries.code === 'ENOENT') {
70
+ return;
71
+ }
72
+ if (entries.code !== 'ENOTDIR') {
73
+ throw entries;
74
+ }
75
+ return await (0, ignore_enoent_1.ignoreENOENT)(tmpUnlink(path, opt.tmp, unlinkFixEPERM));
76
+ }
77
+ await Promise.all(entries.map(entry => (0, exports.rimrafMoveRemove)((0, path_1.resolve)(path, entry), opt)));
78
+ // we don't ever ACTUALLY try to unlink /, because that can never work
79
+ // but when preserveRoot is false, we could be operating on it.
80
+ // No need to check if preserveRoot is not false.
81
+ if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
82
+ return;
83
+ }
84
+ return await (0, ignore_enoent_1.ignoreENOENT)(tmpUnlink(path, opt.tmp, rmdir));
85
+ };
86
+ exports.rimrafMoveRemove = rimrafMoveRemove;
87
+ const tmpUnlink = async (path, tmp, rm) => {
88
+ const tmpFile = (0, path_1.resolve)(tmp, uniqueFilename(path));
89
+ await rename(path, tmpFile);
90
+ return await rm(tmpFile);
91
+ };
92
+ const rimrafMoveRemoveSync = (path, opt) => {
93
+ if (!opt.tmp) {
94
+ return (0, exports.rimrafMoveRemoveSync)(path, { ...opt, tmp: (0, default_tmp_1.defaultTmpSync)(path) });
95
+ }
96
+ const tmp = opt.tmp;
97
+ if (path === opt.tmp && (0, path_1.parse)(path).root !== path) {
98
+ throw new Error('cannot delete temp directory used for deletion');
99
+ }
100
+ const entries = (0, readdir_or_error_1.readdirOrErrorSync)(path);
101
+ if (!Array.isArray(entries)) {
102
+ if (entries.code === 'ENOENT') {
103
+ return;
104
+ }
105
+ if (entries.code !== 'ENOTDIR') {
106
+ throw entries;
107
+ }
108
+ return (0, ignore_enoent_1.ignoreENOENTSync)(() => tmpUnlinkSync(path, tmp, unlinkFixEPERMSync));
109
+ }
110
+ for (const entry of entries) {
111
+ (0, exports.rimrafMoveRemoveSync)((0, path_1.resolve)(path, entry), opt);
112
+ }
113
+ if (opt.preserveRoot === false && path === (0, path_1.parse)(path).root) {
114
+ return;
115
+ }
116
+ return (0, ignore_enoent_1.ignoreENOENTSync)(() => tmpUnlinkSync(path, tmp, fs_1.rmdirSync));
117
+ };
118
+ exports.rimrafMoveRemoveSync = rimrafMoveRemoveSync;
119
+ const tmpUnlinkSync = (path, tmp, rmSync) => {
120
+ const tmpFile = (0, path_1.resolve)(tmp, uniqueFilename(path));
121
+ (0, fs_1.renameSync)(path, tmpFile);
122
+ return rmSync(tmpFile);
123
+ };
124
+ //# sourceMappingURL=rimraf-move-remove.js.map
@@ -0,0 +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,+BAA+C;AAC/C,+CAA0D;AAE1D,mDAAgE;AAEhE,6BAOa;AACb,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAU,CAAA;AAGnD,yDAAuE;AAEvE,sEAAsE;AACtE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAA,eAAQ,EAAC,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,IAAA,eAAU,EAAC,IAAI,CAAC,CAAA;KACjB;IAAC,OAAO,EAAE,EAAE;QACX,IAAK,EAAc,EAAE,IAAI,KAAK,OAAO,EAAE;YACrC,IAAI;gBACF,OAAO,IAAA,cAAS,EAAC,IAAI,EAAE,KAAK,CAAC,CAAA;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAK,GAAe,EAAE,IAAI,KAAK,QAAQ,EAAE;oBACvC,OAAM;iBACP;gBACD,MAAM,EAAE,CAAA;aACT;SACF;aAAM,IAAK,EAAc,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC7C,OAAM;SACP;QACD,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA;AAEM,MAAM,gBAAgB,GAAG,KAAK,EACnC,IAAY,EACZ,GAAkB,EACH,EAAE;IACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;QACZ,OAAO,IAAA,wBAAgB,EAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,IAAA,wBAAU,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KACvE;IAED,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;KAClE;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAM;SACP;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAA;SACd;QAED,OAAO,MAAM,IAAA,4BAAY,EAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;KACpE;IAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,wBAAgB,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAClE,CAAA;IAED,sEAAsE;IACtE,+DAA+D;IAC/D,iDAAiD;IACjD,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,KAAK,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC3D,OAAM;KACP;IAED,OAAO,MAAM,IAAA,4BAAY,EAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;AAC5D,CAAC,CAAA;AArCY,QAAA,gBAAgB,oBAqC5B;AAED,MAAM,SAAS,GAAG,KAAK,EACrB,IAAY,EACZ,GAAW,EACX,EAA+B,EAC/B,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3B,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC,CAAA;AAEM,MAAM,oBAAoB,GAAG,CAClC,IAAY,EACZ,GAAkB,EACZ,EAAE;IACR,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;QACZ,OAAO,IAAA,4BAAoB,EAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KACzE;IACD,MAAM,GAAG,GAAW,GAAG,CAAC,GAAG,CAAA;IAE3B,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;KAClE;IAED,MAAM,OAAO,GAAG,IAAA,qCAAkB,EAAC,IAAI,CAAC,CAAA;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAM;SACP;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,MAAM,OAAO,CAAA;SACd;QAED,OAAO,IAAA,gCAAgB,EAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAA;KAC5E;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAA,4BAAoB,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;KAChD;IAED,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,IAAI,IAAI,KAAK,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAC3D,OAAM;KACP;IAED,OAAO,IAAA,gCAAgB,EAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,cAAS,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AAnCY,QAAA,oBAAoB,wBAmChC;AAED,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,GAAW,EACX,MAA2B,EAC3B,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,IAAA,eAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACzB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rimrafNativeSync = exports.rimrafNative = void 0;
4
+ const fs_1 = require("./fs");
5
+ const { rm } = fs_1.promises;
6
+ const rimrafNative = (path, opt) => rm(path, {
7
+ ...opt,
8
+ force: true,
9
+ recursive: true,
10
+ });
11
+ exports.rimrafNative = rimrafNative;
12
+ const rimrafNativeSync = (path, opt) => (0, fs_1.rmSync)(path, {
13
+ ...opt,
14
+ force: true,
15
+ recursive: true,
16
+ });
17
+ exports.rimrafNativeSync = rimrafNativeSync;
18
+ //# sourceMappingURL=rimraf-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rimraf-native.js","sourceRoot":"","sources":["../../../src/rimraf-native.ts"],"names":[],"mappings":";;;AACA,6BAAuC;AACvC,MAAM,EAAE,EAAE,EAAE,GAAG,aAAQ,CAAA;AAEhB,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;AALS,QAAA,YAAY,gBAKrB;AAEG,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAE,EAAE,CACnE,IAAA,WAAM,EAAC,IAAI,EAAE;IACX,GAAG,GAAG;IACN,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;CAChB,CAAC,CAAA;AALS,QAAA,gBAAgB,oBAKzB"}
@@ -0,0 +1,3 @@
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;