@gradientedge/cdk-utils 8.16.0 → 8.18.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 (66) hide show
  1. package/app/api-destined-function/layers/nodejs/node_modules/.yarn-integrity +2 -2
  2. package/app/api-destined-function/layers/nodejs/package.json +1 -1
  3. package/app/api-destined-function/node_modules/.yarn-integrity +52 -11
  4. package/app/api-destined-function/node_modules/mkdirp/LICENSE +1 -1
  5. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/package.json +90 -0
  6. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/bin.d.ts +2 -0
  7. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/bin.js +73 -0
  8. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/bin.js.map +1 -0
  9. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/find-made.d.ts +3 -0
  10. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/find-made.js +35 -0
  11. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/find-made.js.map +1 -0
  12. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/index-cjs.d.ts +74 -0
  13. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/index-cjs.js +7 -0
  14. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/index-cjs.js.map +1 -0
  15. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/index.d.ts +30 -0
  16. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/index.js +49 -0
  17. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/index.js.map +1 -0
  18. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.d.ts +5 -0
  19. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.js +79 -0
  20. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.js.map +1 -0
  21. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/mkdirp-native.d.ts +5 -0
  22. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/mkdirp-native.js +50 -0
  23. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/mkdirp-native.js.map +1 -0
  24. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/opts-arg.d.ts +41 -0
  25. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/opts-arg.js +38 -0
  26. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/opts-arg.js.map +1 -0
  27. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/path-arg.d.ts +1 -0
  28. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/path-arg.js +28 -0
  29. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/path-arg.js.map +1 -0
  30. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/use-native.d.ts +5 -0
  31. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/use-native.js +17 -0
  32. package/app/api-destined-function/node_modules/mkdirp/dist/cjs/src/use-native.js.map +1 -0
  33. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/find-made.d.ts +3 -0
  34. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/find-made.js +30 -0
  35. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/find-made.js.map +1 -0
  36. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/index.d.ts +30 -0
  37. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/index.js +39 -0
  38. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/index.js.map +1 -0
  39. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/mkdirp-manual.d.ts +5 -0
  40. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/mkdirp-manual.js +75 -0
  41. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/mkdirp-manual.js.map +1 -0
  42. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/mkdirp-native.d.ts +5 -0
  43. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/mkdirp-native.js +46 -0
  44. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/mkdirp-native.js.map +1 -0
  45. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/opts-arg.d.ts +41 -0
  46. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/opts-arg.js +34 -0
  47. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/opts-arg.js.map +1 -0
  48. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/package.json +3 -0
  49. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/path-arg.d.ts +1 -0
  50. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/path-arg.js +24 -0
  51. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/path-arg.js.map +1 -0
  52. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/use-native.d.ts +5 -0
  53. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/use-native.js +14 -0
  54. package/app/api-destined-function/node_modules/mkdirp/dist/mjs/use-native.js.map +1 -0
  55. package/app/api-destined-function/node_modules/mkdirp/package.json +66 -20
  56. package/app/api-destined-function/node_modules/mkdirp/readme.markdown +104 -89
  57. package/app/api-destined-function/package.json +1 -1
  58. package/package.json +11 -11
  59. package/app/api-destined-function/node_modules/mkdirp/bin/cmd.js +0 -68
  60. package/app/api-destined-function/node_modules/mkdirp/index.js +0 -31
  61. package/app/api-destined-function/node_modules/mkdirp/lib/find-made.js +0 -29
  62. package/app/api-destined-function/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  63. package/app/api-destined-function/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  64. package/app/api-destined-function/node_modules/mkdirp/lib/opts-arg.js +0 -23
  65. package/app/api-destined-function/node_modules/mkdirp/lib/path-arg.js +0 -29
  66. package/app/api-destined-function/node_modules/mkdirp/lib/use-native.js +0 -10
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mkdirpNative = exports.mkdirpNativeSync = void 0;
4
+ const path_1 = require("path");
5
+ const find_made_js_1 = require("./find-made.js");
6
+ const mkdirp_manual_js_1 = require("./mkdirp-manual.js");
7
+ const opts_arg_js_1 = require("./opts-arg.js");
8
+ const mkdirpNativeSync = (path, options) => {
9
+ const opts = (0, opts_arg_js_1.optsArg)(options);
10
+ opts.recursive = true;
11
+ const parent = (0, path_1.dirname)(path);
12
+ if (parent === path) {
13
+ return opts.mkdirSync(path, opts);
14
+ }
15
+ const made = (0, find_made_js_1.findMadeSync)(opts, path);
16
+ try {
17
+ opts.mkdirSync(path, opts);
18
+ return made;
19
+ }
20
+ catch (er) {
21
+ const fer = er;
22
+ if (fer && fer.code === 'ENOENT') {
23
+ return (0, mkdirp_manual_js_1.mkdirpManualSync)(path, opts);
24
+ }
25
+ else {
26
+ throw er;
27
+ }
28
+ }
29
+ };
30
+ exports.mkdirpNativeSync = mkdirpNativeSync;
31
+ exports.mkdirpNative = Object.assign(async (path, options) => {
32
+ const opts = { ...(0, opts_arg_js_1.optsArg)(options), recursive: true };
33
+ const parent = (0, path_1.dirname)(path);
34
+ if (parent === path) {
35
+ return await opts.mkdirAsync(path, opts);
36
+ }
37
+ return (0, find_made_js_1.findMade)(opts, path).then((made) => opts
38
+ .mkdirAsync(path, opts)
39
+ .then(m => made || m)
40
+ .catch(er => {
41
+ const fer = er;
42
+ if (fer && fer.code === 'ENOENT') {
43
+ return (0, mkdirp_manual_js_1.mkdirpManual)(path, opts);
44
+ }
45
+ else {
46
+ throw er;
47
+ }
48
+ }));
49
+ }, { sync: exports.mkdirpNativeSync });
50
+ //# sourceMappingURL=mkdirp-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mkdirp-native.js","sourceRoot":"","sources":["../../../src/mkdirp-native.ts"],"names":[],"mappings":";;;AAAA,+BAA8B;AAC9B,iDAAuD;AACvD,yDAAmE;AACnE,+CAAsD;AAE/C,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,OAAuB,EACI,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAA,qBAAO,EAAC,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACrB,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;KAClC;IAED,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrC,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,EAA2B,CAAA;QACvC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAA,mCAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACpC;aAAM;YACL,MAAM,EAAE,CAAA;SACT;KACF;AACH,CAAC,CAAA;AAvBY,QAAA,gBAAgB,oBAuB5B;AAEY,QAAA,YAAY,GAAG,MAAM,CAAC,MAAM,CACvC,KAAK,EACH,IAAY,EACZ,OAAuB,EACa,EAAE;IACtC,MAAM,IAAI,GAAG,EAAE,GAAG,IAAA,qBAAO,EAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACrD,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;KACzC;IAED,OAAO,IAAA,uBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAyB,EAAE,EAAE,CAC7D,IAAI;SACD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;SACpB,KAAK,CAAC,EAAE,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,EAA2B,CAAA;QACvC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAA,+BAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SAChC;aAAM;YACL,MAAM,EAAE,CAAA;SACT;IACH,CAAC,CAAC,CACL,CAAA;AACH,CAAC,EACD,EAAE,IAAI,EAAE,wBAAgB,EAAE,CAC3B,CAAA"}
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { MakeDirectoryOptions, Stats } from 'fs';
4
+ export interface FsProvider {
5
+ stat?: (path: string, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => any) => any;
6
+ mkdir?: (path: string, opts: MakeDirectoryOptions & {
7
+ recursive?: boolean;
8
+ }, callback: (err: NodeJS.ErrnoException | null, made?: string) => any) => any;
9
+ statSync?: (path: string) => Stats;
10
+ mkdirSync?: (path: string, opts: MakeDirectoryOptions & {
11
+ recursive?: boolean;
12
+ }) => string | undefined;
13
+ }
14
+ interface Options extends FsProvider {
15
+ mode?: number | string;
16
+ fs?: FsProvider;
17
+ mkdirAsync?: (path: string, opts: MakeDirectoryOptions & {
18
+ recursive?: boolean;
19
+ }) => Promise<string | undefined>;
20
+ statAsync?: (path: string) => Promise<Stats>;
21
+ }
22
+ export type MkdirpOptions = Options | number | string;
23
+ export interface MkdirpOptionsResolved {
24
+ mode: number;
25
+ fs: FsProvider;
26
+ mkdirAsync: (path: string, opts: MakeDirectoryOptions & {
27
+ recursive?: boolean;
28
+ }) => Promise<string | undefined>;
29
+ statAsync: (path: string) => Promise<Stats>;
30
+ stat: (path: string, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => any) => any;
31
+ mkdir: (path: string, opts: MakeDirectoryOptions & {
32
+ recursive?: boolean;
33
+ }, callback: (err: NodeJS.ErrnoException | null, made?: string) => any) => any;
34
+ statSync: (path: string) => Stats;
35
+ mkdirSync: (path: string, opts: MakeDirectoryOptions & {
36
+ recursive?: boolean;
37
+ }) => string | undefined;
38
+ recursive?: boolean;
39
+ }
40
+ export declare const optsArg: (opts?: MkdirpOptions) => MkdirpOptionsResolved;
41
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.optsArg = void 0;
4
+ const fs_1 = require("fs");
5
+ const optsArg = (opts) => {
6
+ if (!opts) {
7
+ opts = { mode: 0o777 };
8
+ }
9
+ else if (typeof opts === 'object') {
10
+ opts = { mode: 0o777, ...opts };
11
+ }
12
+ else if (typeof opts === 'number') {
13
+ opts = { mode: opts };
14
+ }
15
+ else if (typeof opts === 'string') {
16
+ opts = { mode: parseInt(opts, 8) };
17
+ }
18
+ else {
19
+ throw new TypeError('invalid options argument');
20
+ }
21
+ const resolved = opts;
22
+ const optsFs = opts.fs || {};
23
+ opts.mkdir = opts.mkdir || optsFs.mkdir || fs_1.mkdir;
24
+ opts.mkdirAsync = opts.mkdirAsync
25
+ ? opts.mkdirAsync
26
+ : async (path, options) => {
27
+ return new Promise((res, rej) => resolved.mkdir(path, options, (er, made) => er ? rej(er) : res(made)));
28
+ };
29
+ opts.stat = opts.stat || optsFs.stat || fs_1.stat;
30
+ opts.statAsync = opts.statAsync
31
+ ? opts.statAsync
32
+ : async (path) => new Promise((res, rej) => resolved.stat(path, (err, stats) => (err ? rej(err) : res(stats))));
33
+ opts.statSync = opts.statSync || optsFs.statSync || fs_1.statSync;
34
+ opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || fs_1.mkdirSync;
35
+ return resolved;
36
+ };
37
+ exports.optsArg = optsArg;
38
+ //# sourceMappingURL=opts-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opts-arg.js","sourceRoot":"","sources":["../../../src/opts-arg.ts"],"names":[],"mappings":";;;AAAA,2BAOW;AAwDJ,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAyB,EAAE;IACrE,IAAI,CAAC,IAAI,EAAE;QACT,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;KACvB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAA;KAChC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;KACtB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;KACnC;SAAM;QACL,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAA;KAChD;IAED,MAAM,QAAQ,GAAG,IAA6B,CAAA;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;IAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,UAAK,CAAA;IAEhD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;QAC/B,CAAC,CAAC,IAAI,CAAC,UAAU;QACjB,CAAC,CAAC,KAAK,EACH,IAAY,EACZ,OAAuD,EAC1B,EAAE;YAC/B,OAAO,IAAI,OAAO,CAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAClD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CACzC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB,CACF,CAAA;QACH,CAAC,CAAA;IAEL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,SAAI,CAAA;IAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAC7B,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CACrB,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACnE,CAAA;IAEP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAQ,CAAA;IAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,cAAS,CAAA;IAEhE,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AA3CY,QAAA,OAAO,WA2CnB"}
@@ -0,0 +1 @@
1
+ export declare const pathArg: (path: string) => string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pathArg = void 0;
4
+ const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
5
+ const path_1 = require("path");
6
+ const pathArg = (path) => {
7
+ if (/\0/.test(path)) {
8
+ // simulate same failure that node raises
9
+ throw Object.assign(new TypeError('path must be a string without null bytes'), {
10
+ path,
11
+ code: 'ERR_INVALID_ARG_VALUE',
12
+ });
13
+ }
14
+ path = (0, path_1.resolve)(path);
15
+ if (platform === 'win32') {
16
+ const badWinChars = /[*|"<>?:]/;
17
+ const { root } = (0, path_1.parse)(path);
18
+ if (badWinChars.test(path.substring(root.length))) {
19
+ throw Object.assign(new Error('Illegal characters in path.'), {
20
+ path,
21
+ code: 'EINVAL',
22
+ });
23
+ }
24
+ }
25
+ return path;
26
+ };
27
+ exports.pathArg = pathArg;
28
+ //# sourceMappingURL=path-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-arg.js","sourceRoot":"","sources":["../../../src/path-arg.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,CAAA;AAC5E,+BAAqC;AAC9B,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;IACtC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnB,yCAAyC;QACzC,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,SAAS,CAAC,0CAA0C,CAAC,EACzD;YACE,IAAI;YACJ,IAAI,EAAE,uBAAuB;SAC9B,CACF,CAAA;KACF;IAED,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAA;IACpB,IAAI,QAAQ,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;AAzBY,QAAA,OAAO,WAyBnB"}
@@ -0,0 +1,5 @@
1
+ import { MkdirpOptions } from './opts-arg.js';
2
+ export declare const useNativeSync: (opts?: MkdirpOptions) => boolean;
3
+ export declare const useNative: ((opts?: MkdirpOptions) => boolean) & {
4
+ sync: (opts?: MkdirpOptions) => boolean;
5
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useNative = exports.useNativeSync = void 0;
4
+ const fs_1 = require("fs");
5
+ const opts_arg_js_1 = require("./opts-arg.js");
6
+ const version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
7
+ const versArr = version.replace(/^v/, '').split('.');
8
+ const hasNative = +versArr[0] > 10 || (+versArr[0] === 10 && +versArr[1] >= 12);
9
+ exports.useNativeSync = !hasNative
10
+ ? () => false
11
+ : (opts) => (0, opts_arg_js_1.optsArg)(opts).mkdirSync === fs_1.mkdirSync;
12
+ exports.useNative = Object.assign(!hasNative
13
+ ? () => false
14
+ : (opts) => (0, opts_arg_js_1.optsArg)(opts).mkdir === fs_1.mkdir, {
15
+ sync: exports.useNativeSync,
16
+ });
17
+ //# sourceMappingURL=use-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-native.js","sourceRoot":"","sources":["../../../src/use-native.ts"],"names":[],"mappings":";;;AAAA,2BAAqC;AACrC,+CAAsD;AAEtD,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;AAElE,QAAA,aAAa,GAAG,CAAC,SAAS;IACrC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,CAAC,SAAS,KAAK,cAAS,CAAA;AAEtD,QAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CACpC,CAAC,SAAS;IACR,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAA,qBAAO,EAAC,IAAI,CAAC,CAAC,KAAK,KAAK,UAAK,EAC3D;IACE,IAAI,EAAE,qBAAa;CACpB,CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { MkdirpOptionsResolved } from './opts-arg.js';
2
+ export declare const findMade: (opts: MkdirpOptionsResolved, parent: string, path?: string) => Promise<undefined | string>;
3
+ export declare const findMadeSync: (opts: MkdirpOptionsResolved, parent: string, path?: string) => undefined | string;
@@ -0,0 +1,30 @@
1
+ import { dirname } from 'path';
2
+ export const findMade = async (opts, parent, path) => {
3
+ // we never want the 'made' return value to be a root directory
4
+ if (path === parent) {
5
+ return;
6
+ }
7
+ return opts.statAsync(parent).then(st => (st.isDirectory() ? path : undefined), // will fail later
8
+ // will fail later
9
+ er => {
10
+ const fer = er;
11
+ return fer && fer.code === 'ENOENT'
12
+ ? findMade(opts, dirname(parent), parent)
13
+ : undefined;
14
+ });
15
+ };
16
+ export const findMadeSync = (opts, parent, path) => {
17
+ if (path === parent) {
18
+ return undefined;
19
+ }
20
+ try {
21
+ return opts.statSync(parent).isDirectory() ? path : undefined;
22
+ }
23
+ catch (er) {
24
+ const fer = er;
25
+ return fer && fer.code === 'ENOENT'
26
+ ? findMadeSync(opts, dirname(parent), parent)
27
+ : undefined;
28
+ }
29
+ };
30
+ //# sourceMappingURL=find-made.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-made.js","sourceRoot":"","sources":["../../src/find-made.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAG9B,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAA2B,EAC3B,MAAc,EACd,IAAa,EACgB,EAAE;IAC/B,+DAA+D;IAC/D,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAM;KACP;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAChC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,kBAAkB;IAC/D,AAD6C,kBAAkB;IAC/D,EAAE,CAAC,EAAE;QACH,MAAM,GAAG,GAAG,EAA2B,CAAA;QACvC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YACjC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YACzC,CAAC,CAAC,SAAS,CAAA;IACf,CAAC,CACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAA2B,EAC3B,MAAc,EACd,IAAa,EACO,EAAE;IACtB,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAO,SAAS,CAAA;KACjB;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;KAC9D;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,EAA2B,CAAA;QACvC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YACjC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;KACd;AACH,CAAC,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { MkdirpOptions } from './opts-arg.js';
2
+ export { mkdirpManual, mkdirpManualSync } from './mkdirp-manual.js';
3
+ export { mkdirpNative, mkdirpNativeSync } from './mkdirp-native.js';
4
+ export { useNative, useNativeSync } from './use-native.js';
5
+ export declare const mkdirpSync: (path: string, opts?: MkdirpOptions) => string | void;
6
+ export declare const mkdirp: ((path: string, opts?: MkdirpOptions) => Promise<string | void | undefined>) & {
7
+ mkdirpSync: (path: string, opts?: MkdirpOptions) => string | void;
8
+ mkdirpNative: ((path: string, options?: MkdirpOptions | undefined) => Promise<string | void | undefined>) & {
9
+ sync: (path: string, options?: MkdirpOptions | undefined) => string | void | undefined;
10
+ };
11
+ mkdirpNativeSync: (path: string, options?: MkdirpOptions | undefined) => string | void | undefined;
12
+ mkdirpManual: ((path: string, options?: MkdirpOptions | undefined, made?: string | void | undefined) => Promise<string | void | undefined>) & {
13
+ sync: (path: string, options?: MkdirpOptions | undefined, made?: string | void | undefined) => string | void | undefined;
14
+ };
15
+ mkdirpManualSync: (path: string, options?: MkdirpOptions | undefined, made?: string | void | undefined) => string | void | undefined;
16
+ sync: (path: string, opts?: MkdirpOptions) => string | void;
17
+ native: ((path: string, options?: MkdirpOptions | undefined) => Promise<string | void | undefined>) & {
18
+ sync: (path: string, options?: MkdirpOptions | undefined) => string | void | undefined;
19
+ };
20
+ nativeSync: (path: string, options?: MkdirpOptions | undefined) => string | void | undefined;
21
+ manual: ((path: string, options?: MkdirpOptions | undefined, made?: string | void | undefined) => Promise<string | void | undefined>) & {
22
+ sync: (path: string, options?: MkdirpOptions | undefined, made?: string | void | undefined) => string | void | undefined;
23
+ };
24
+ manualSync: (path: string, options?: MkdirpOptions | undefined, made?: string | void | undefined) => string | void | undefined;
25
+ useNative: ((opts?: MkdirpOptions | undefined) => boolean) & {
26
+ sync: (opts?: MkdirpOptions | undefined) => boolean;
27
+ };
28
+ useNativeSync: (opts?: MkdirpOptions | undefined) => boolean;
29
+ };
30
+ export default mkdirp;
@@ -0,0 +1,39 @@
1
+ import { mkdirpManual, mkdirpManualSync } from './mkdirp-manual.js';
2
+ import { mkdirpNative, mkdirpNativeSync } from './mkdirp-native.js';
3
+ import { optsArg } from './opts-arg.js';
4
+ import { pathArg } from './path-arg.js';
5
+ import { useNative, useNativeSync } from './use-native.js';
6
+ /* c8 ignore start */
7
+ export { mkdirpManual, mkdirpManualSync } from './mkdirp-manual.js';
8
+ export { mkdirpNative, mkdirpNativeSync } from './mkdirp-native.js';
9
+ export { useNative, useNativeSync } from './use-native.js';
10
+ /* c8 ignore stop */
11
+ export const mkdirpSync = (path, opts) => {
12
+ path = pathArg(path);
13
+ const resolved = optsArg(opts);
14
+ return useNativeSync(resolved)
15
+ ? mkdirpNativeSync(path, resolved)
16
+ : mkdirpManualSync(path, resolved);
17
+ };
18
+ export const mkdirp = Object.assign(async (path, opts) => {
19
+ path = pathArg(path);
20
+ const resolved = optsArg(opts);
21
+ return useNative(resolved)
22
+ ? mkdirpNative(path, resolved)
23
+ : mkdirpManual(path, resolved);
24
+ }, {
25
+ mkdirpSync,
26
+ mkdirpNative,
27
+ mkdirpNativeSync,
28
+ mkdirpManual,
29
+ mkdirpManualSync,
30
+ sync: mkdirpSync,
31
+ native: mkdirpNative,
32
+ nativeSync: mkdirpNativeSync,
33
+ manual: mkdirpManual,
34
+ manualSync: mkdirpManualSync,
35
+ useNative,
36
+ useNativeSync,
37
+ });
38
+ export default mkdirp;
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,oBAAoB;AAEpB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAoB,EAAE,EAAE;IAC/D,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,aAAa,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;QAClC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CACjC,KAAK,EAAE,IAAY,EAAE,IAAoB,EAAE,EAAE;IAC3C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC;QACxB,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC9B,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAClC,CAAC,EACD;IACE,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAEhB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,SAAS;IACT,aAAa;CACd,CACF,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { MkdirpOptions } from './opts-arg.js';
2
+ export declare const mkdirpManualSync: (path: string, options?: MkdirpOptions, made?: string | undefined | void) => string | undefined | void;
3
+ export declare const mkdirpManual: ((path: string, options?: MkdirpOptions, made?: string | undefined | void) => Promise<string | undefined | void>) & {
4
+ sync: (path: string, options?: MkdirpOptions, made?: string | undefined | void) => string | undefined | void;
5
+ };
@@ -0,0 +1,75 @@
1
+ import { dirname } from 'path';
2
+ import { optsArg } from './opts-arg.js';
3
+ export const mkdirpManualSync = (path, options, made) => {
4
+ const parent = dirname(path);
5
+ const opts = { ...optsArg(options), recursive: false };
6
+ if (parent === path) {
7
+ try {
8
+ return opts.mkdirSync(path, opts);
9
+ }
10
+ catch (er) {
11
+ // swallowed by recursive implementation on posix systems
12
+ // any other error is a failure
13
+ const fer = er;
14
+ if (fer && fer.code !== 'EISDIR') {
15
+ throw er;
16
+ }
17
+ return;
18
+ }
19
+ }
20
+ try {
21
+ opts.mkdirSync(path, opts);
22
+ return made || path;
23
+ }
24
+ catch (er) {
25
+ const fer = er;
26
+ if (fer && fer.code === 'ENOENT') {
27
+ return mkdirpManualSync(path, opts, mkdirpManualSync(parent, opts, made));
28
+ }
29
+ if (fer && fer.code !== 'EEXIST' && fer && fer.code !== 'EROFS') {
30
+ throw er;
31
+ }
32
+ try {
33
+ if (!opts.statSync(path).isDirectory())
34
+ throw er;
35
+ }
36
+ catch (_) {
37
+ throw er;
38
+ }
39
+ }
40
+ };
41
+ export const mkdirpManual = Object.assign(async (path, options, made) => {
42
+ const opts = optsArg(options);
43
+ opts.recursive = false;
44
+ const parent = dirname(path);
45
+ if (parent === path) {
46
+ return opts.mkdirAsync(path, opts).catch(er => {
47
+ // swallowed by recursive implementation on posix systems
48
+ // any other error is a failure
49
+ const fer = er;
50
+ if (fer && fer.code !== 'EISDIR') {
51
+ throw er;
52
+ }
53
+ });
54
+ }
55
+ return opts.mkdirAsync(path, opts).then(() => made || path, async (er) => {
56
+ const fer = er;
57
+ if (fer && fer.code === 'ENOENT') {
58
+ return mkdirpManual(parent, opts).then((made) => mkdirpManual(path, opts, made));
59
+ }
60
+ if (fer && fer.code !== 'EEXIST' && fer.code !== 'EROFS') {
61
+ throw er;
62
+ }
63
+ return opts.statAsync(path).then(st => {
64
+ if (st.isDirectory()) {
65
+ return made;
66
+ }
67
+ else {
68
+ throw er;
69
+ }
70
+ }, () => {
71
+ throw er;
72
+ });
73
+ });
74
+ }, { sync: mkdirpManualSync });
75
+ //# sourceMappingURL=mkdirp-manual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mkdirp-manual.js","sourceRoot":"","sources":["../../src/mkdirp-manual.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { MkdirpOptions } from './opts-arg.js';
2
+ export declare const mkdirpNativeSync: (path: string, options?: MkdirpOptions) => string | void | undefined;
3
+ export declare const mkdirpNative: ((path: string, options?: MkdirpOptions) => Promise<string | void | undefined>) & {
4
+ sync: (path: string, options?: MkdirpOptions) => string | void | undefined;
5
+ };
@@ -0,0 +1,46 @@
1
+ import { dirname } from 'path';
2
+ import { findMade, findMadeSync } from './find-made.js';
3
+ import { mkdirpManual, mkdirpManualSync } from './mkdirp-manual.js';
4
+ import { optsArg } from './opts-arg.js';
5
+ export const mkdirpNativeSync = (path, options) => {
6
+ const opts = optsArg(options);
7
+ opts.recursive = true;
8
+ const parent = dirname(path);
9
+ if (parent === path) {
10
+ return opts.mkdirSync(path, opts);
11
+ }
12
+ const made = findMadeSync(opts, path);
13
+ try {
14
+ opts.mkdirSync(path, opts);
15
+ return made;
16
+ }
17
+ catch (er) {
18
+ const fer = er;
19
+ if (fer && fer.code === 'ENOENT') {
20
+ return mkdirpManualSync(path, opts);
21
+ }
22
+ else {
23
+ throw er;
24
+ }
25
+ }
26
+ };
27
+ export const mkdirpNative = Object.assign(async (path, options) => {
28
+ const opts = { ...optsArg(options), recursive: true };
29
+ const parent = dirname(path);
30
+ if (parent === path) {
31
+ return await opts.mkdirAsync(path, opts);
32
+ }
33
+ return findMade(opts, path).then((made) => opts
34
+ .mkdirAsync(path, opts)
35
+ .then(m => made || m)
36
+ .catch(er => {
37
+ const fer = er;
38
+ if (fer && fer.code === 'ENOENT') {
39
+ return mkdirpManual(path, opts);
40
+ }
41
+ else {
42
+ throw er;
43
+ }
44
+ }));
45
+ }, { sync: mkdirpNativeSync });
46
+ //# sourceMappingURL=mkdirp-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mkdirp-native.js","sourceRoot":"","sources":["../../src/mkdirp-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,OAAuB,EACI,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;KAClC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrC,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,EAA2B,CAAA;QACvC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACpC;aAAM;YACL,MAAM,EAAE,CAAA;SACT;KACF;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CACvC,KAAK,EACH,IAAY,EACZ,OAAuB,EACa,EAAE;IACtC,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;KACzC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAyB,EAAE,EAAE,CAC7D,IAAI;SACD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;SACpB,KAAK,CAAC,EAAE,CAAC,EAAE;QACV,MAAM,GAAG,GAAG,EAA2B,CAAA;QACvC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SAChC;aAAM;YACL,MAAM,EAAE,CAAA;SACT;IACH,CAAC,CAAC,CACL,CAAA;AACH,CAAC,EACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3B,CAAA"}
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { MakeDirectoryOptions, Stats } from 'fs';
4
+ export interface FsProvider {
5
+ stat?: (path: string, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => any) => any;
6
+ mkdir?: (path: string, opts: MakeDirectoryOptions & {
7
+ recursive?: boolean;
8
+ }, callback: (err: NodeJS.ErrnoException | null, made?: string) => any) => any;
9
+ statSync?: (path: string) => Stats;
10
+ mkdirSync?: (path: string, opts: MakeDirectoryOptions & {
11
+ recursive?: boolean;
12
+ }) => string | undefined;
13
+ }
14
+ interface Options extends FsProvider {
15
+ mode?: number | string;
16
+ fs?: FsProvider;
17
+ mkdirAsync?: (path: string, opts: MakeDirectoryOptions & {
18
+ recursive?: boolean;
19
+ }) => Promise<string | undefined>;
20
+ statAsync?: (path: string) => Promise<Stats>;
21
+ }
22
+ export type MkdirpOptions = Options | number | string;
23
+ export interface MkdirpOptionsResolved {
24
+ mode: number;
25
+ fs: FsProvider;
26
+ mkdirAsync: (path: string, opts: MakeDirectoryOptions & {
27
+ recursive?: boolean;
28
+ }) => Promise<string | undefined>;
29
+ statAsync: (path: string) => Promise<Stats>;
30
+ stat: (path: string, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => any) => any;
31
+ mkdir: (path: string, opts: MakeDirectoryOptions & {
32
+ recursive?: boolean;
33
+ }, callback: (err: NodeJS.ErrnoException | null, made?: string) => any) => any;
34
+ statSync: (path: string) => Stats;
35
+ mkdirSync: (path: string, opts: MakeDirectoryOptions & {
36
+ recursive?: boolean;
37
+ }) => string | undefined;
38
+ recursive?: boolean;
39
+ }
40
+ export declare const optsArg: (opts?: MkdirpOptions) => MkdirpOptionsResolved;
41
+ export {};
@@ -0,0 +1,34 @@
1
+ import { mkdir, mkdirSync, stat, statSync, } from 'fs';
2
+ export const optsArg = (opts) => {
3
+ if (!opts) {
4
+ opts = { mode: 0o777 };
5
+ }
6
+ else if (typeof opts === 'object') {
7
+ opts = { mode: 0o777, ...opts };
8
+ }
9
+ else if (typeof opts === 'number') {
10
+ opts = { mode: opts };
11
+ }
12
+ else if (typeof opts === 'string') {
13
+ opts = { mode: parseInt(opts, 8) };
14
+ }
15
+ else {
16
+ throw new TypeError('invalid options argument');
17
+ }
18
+ const resolved = opts;
19
+ const optsFs = opts.fs || {};
20
+ opts.mkdir = opts.mkdir || optsFs.mkdir || mkdir;
21
+ opts.mkdirAsync = opts.mkdirAsync
22
+ ? opts.mkdirAsync
23
+ : async (path, options) => {
24
+ return new Promise((res, rej) => resolved.mkdir(path, options, (er, made) => er ? rej(er) : res(made)));
25
+ };
26
+ opts.stat = opts.stat || optsFs.stat || stat;
27
+ opts.statAsync = opts.statAsync
28
+ ? opts.statAsync
29
+ : async (path) => new Promise((res, rej) => resolved.stat(path, (err, stats) => (err ? rej(err) : res(stats))));
30
+ opts.statSync = opts.statSync || optsFs.statSync || statSync;
31
+ opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || mkdirSync;
32
+ return resolved;
33
+ };
34
+ //# sourceMappingURL=opts-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opts-arg.js","sourceRoot":"","sources":["../../src/opts-arg.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EACL,SAAS,EACT,IAAI,EAEJ,QAAQ,GACT,MAAM,IAAI,CAAA;AAwDX,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAyB,EAAE;IACrE,IAAI,CAAC,IAAI,EAAE;QACT,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;KACvB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAA;KAChC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;KACtB;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;KACnC;SAAM;QACL,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAA;KAChD;IAED,MAAM,QAAQ,GAAG,IAA6B,CAAA;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;IAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;IAEhD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;QAC/B,CAAC,CAAC,IAAI,CAAC,UAAU;QACjB,CAAC,CAAC,KAAK,EACH,IAAY,EACZ,OAAuD,EAC1B,EAAE;YAC/B,OAAO,IAAI,OAAO,CAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAClD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CACzC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB,CACF,CAAA;QACH,CAAC,CAAA;IAEL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAA;IAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAC7B,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CACrB,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CACnE,CAAA;IAEP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAA;IAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,SAAS,CAAA;IAEhE,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const pathArg: (path: string) => string;
@@ -0,0 +1,24 @@
1
+ const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
2
+ import { parse, resolve } from 'path';
3
+ export const pathArg = (path) => {
4
+ if (/\0/.test(path)) {
5
+ // simulate same failure that node raises
6
+ throw Object.assign(new TypeError('path must be a string without null bytes'), {
7
+ path,
8
+ code: 'ERR_INVALID_ARG_VALUE',
9
+ });
10
+ }
11
+ path = resolve(path);
12
+ if (platform === 'win32') {
13
+ const badWinChars = /[*|"<>?:]/;
14
+ const { root } = parse(path);
15
+ if (badWinChars.test(path.substring(root.length))) {
16
+ throw Object.assign(new Error('Illegal characters in path.'), {
17
+ path,
18
+ code: 'EINVAL',
19
+ });
20
+ }
21
+ }
22
+ return path;
23
+ };
24
+ //# sourceMappingURL=path-arg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-arg.js","sourceRoot":"","sources":["../../src/path-arg.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACrC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;IACtC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnB,yCAAyC;QACzC,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,SAAS,CAAC,0CAA0C,CAAC,EACzD;YACE,IAAI;YACJ,IAAI,EAAE,uBAAuB;SAC9B,CACF,CAAA;KACF;IAED,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,IAAI,QAAQ,KAAK,OAAO,EAAE;QACxB,MAAM,WAAW,GAAG,WAAW,CAAA;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,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"}
@@ -0,0 +1,5 @@
1
+ import { MkdirpOptions } from './opts-arg.js';
2
+ export declare const useNativeSync: (opts?: MkdirpOptions) => boolean;
3
+ export declare const useNative: ((opts?: MkdirpOptions) => boolean) & {
4
+ sync: (opts?: MkdirpOptions) => boolean;
5
+ };
@@ -0,0 +1,14 @@
1
+ import { mkdir, mkdirSync } from 'fs';
2
+ import { optsArg } from './opts-arg.js';
3
+ const version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
4
+ const versArr = version.replace(/^v/, '').split('.');
5
+ const hasNative = +versArr[0] > 10 || (+versArr[0] === 10 && +versArr[1] >= 12);
6
+ export const useNativeSync = !hasNative
7
+ ? () => false
8
+ : (opts) => optsArg(opts).mkdirSync === mkdirSync;
9
+ export const useNative = Object.assign(!hasNative
10
+ ? () => false
11
+ : (opts) => optsArg(opts).mkdir === mkdir, {
12
+ sync: useNativeSync,
13
+ });
14
+ //# sourceMappingURL=use-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-native.js","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACrC,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAEtD,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,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS;IACrC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAA;AAEnE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CACpC,CAAC,SAAS;IACR,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAC3D;IACE,IAAI,EAAE,aAAa;CACpB,CACF,CAAA"}