aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/mkdirp
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/mkdirp')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/CHANGELOG.md15
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/LICENSE21
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/bin/cmd.js68
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/index.js31
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/lib/find-made.js29
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-manual.js64
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-native.js39
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/lib/opts-arg.js23
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/lib/path-arg.js29
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/lib/use-native.js10
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/package.json44
-rw-r--r--sandbox/testAppNevena/Front/node_modules/mkdirp/readme.markdown266
12 files changed, 0 insertions, 639 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/CHANGELOG.md b/sandbox/testAppNevena/Front/node_modules/mkdirp/CHANGELOG.md
deleted file mode 100644
index 81458380..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/CHANGELOG.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Changers Lorgs!
-
-## 1.0
-
-Full rewrite. Essentially a brand new module.
-
-- Return a promise instead of taking a callback.
-- Use native `fs.mkdir(path, { recursive: true })` when available.
-- Drop support for outdated Node.js versions. (Technically still works on
- Node.js v8, but only 10 and above are officially supported.)
-
-## 0.x
-
-Original and most widely used recursive directory creation implementation
-in JavaScript, dating back to 2010.
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/LICENSE b/sandbox/testAppNevena/Front/node_modules/mkdirp/LICENSE
deleted file mode 100644
index 13fcd15f..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-Copyright James Halliday (mail@substack.net) and Isaac Z. Schlueter (i@izs.me)
-
-This project is free software released under the MIT license:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/bin/cmd.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/bin/cmd.js
deleted file mode 100644
index 6e0aa8dc..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/bin/cmd.js
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env node
-
-const usage = () => `
-usage: mkdirp [DIR1,DIR2..] {OPTIONS}
-
- Create each supplied directory including any necessary parent directories
- that don't yet exist.
-
- If the directory already exists, do nothing.
-
-OPTIONS are:
-
- -m<mode> If a directory needs to be created, set the mode as an octal
- --mode=<mode> permission string.
-
- -v --version Print the mkdirp version number
-
- -h --help Print this helpful banner
-
- -p --print Print the first directories created for each path provided
-
- --manual Use manual implementation, even if native is available
-`
-
-const dirs = []
-const opts = {}
-let print = false
-let dashdash = false
-let manual = false
-for (const arg of process.argv.slice(2)) {
- if (dashdash)
- dirs.push(arg)
- else if (arg === '--')
- dashdash = true
- else if (arg === '--manual')
- manual = true
- else if (/^-h/.test(arg) || /^--help/.test(arg)) {
- console.log(usage())
- process.exit(0)
- } else if (arg === '-v' || arg === '--version') {
- console.log(require('../package.json').version)
- process.exit(0)
- } else if (arg === '-p' || arg === '--print') {
- print = true
- } else if (/^-m/.test(arg) || /^--mode=/.test(arg)) {
- const mode = parseInt(arg.replace(/^(-m|--mode=)/, ''), 8)
- if (isNaN(mode)) {
- console.error(`invalid mode argument: ${arg}\nMust be an octal number.`)
- process.exit(1)
- }
- opts.mode = mode
- } else
- dirs.push(arg)
-}
-
-const mkdirp = require('../')
-const impl = manual ? mkdirp.manual : mkdirp
-if (dirs.length === 0)
- console.error(usage())
-
-Promise.all(dirs.map(dir => impl(dir, opts)))
- .then(made => print ? made.forEach(m => m && console.log(m)) : null)
- .catch(er => {
- console.error(er.message)
- if (er.code)
- console.error(' code: ' + er.code)
- process.exit(1)
- })
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/index.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/index.js
deleted file mode 100644
index ad7a16c9..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/index.js
+++ /dev/null
@@ -1,31 +0,0 @@
-const optsArg = require('./lib/opts-arg.js')
-const pathArg = require('./lib/path-arg.js')
-
-const {mkdirpNative, mkdirpNativeSync} = require('./lib/mkdirp-native.js')
-const {mkdirpManual, mkdirpManualSync} = require('./lib/mkdirp-manual.js')
-const {useNative, useNativeSync} = require('./lib/use-native.js')
-
-
-const mkdirp = (path, opts) => {
- path = pathArg(path)
- opts = optsArg(opts)
- return useNative(opts)
- ? mkdirpNative(path, opts)
- : mkdirpManual(path, opts)
-}
-
-const mkdirpSync = (path, opts) => {
- path = pathArg(path)
- opts = optsArg(opts)
- return useNativeSync(opts)
- ? mkdirpNativeSync(path, opts)
- : mkdirpManualSync(path, opts)
-}
-
-mkdirp.sync = mkdirpSync
-mkdirp.native = (path, opts) => mkdirpNative(pathArg(path), optsArg(opts))
-mkdirp.manual = (path, opts) => mkdirpManual(pathArg(path), optsArg(opts))
-mkdirp.nativeSync = (path, opts) => mkdirpNativeSync(pathArg(path), optsArg(opts))
-mkdirp.manualSync = (path, opts) => mkdirpManualSync(pathArg(path), optsArg(opts))
-
-module.exports = mkdirp
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/find-made.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/find-made.js
deleted file mode 100644
index 022e492c..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/find-made.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const {dirname} = require('path')
-
-const findMade = (opts, parent, path = undefined) => {
- // we never want the 'made' return value to be a root directory
- if (path === parent)
- return Promise.resolve()
-
- return opts.statAsync(parent).then(
- st => st.isDirectory() ? path : undefined, // will fail later
- er => er.code === 'ENOENT'
- ? findMade(opts, dirname(parent), parent)
- : undefined
- )
-}
-
-const findMadeSync = (opts, parent, path = undefined) => {
- if (path === parent)
- return undefined
-
- try {
- return opts.statSync(parent).isDirectory() ? path : undefined
- } catch (er) {
- return er.code === 'ENOENT'
- ? findMadeSync(opts, dirname(parent), parent)
- : undefined
- }
-}
-
-module.exports = {findMade, findMadeSync}
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-manual.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-manual.js
deleted file mode 100644
index 2eb18cd6..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-manual.js
+++ /dev/null
@@ -1,64 +0,0 @@
-const {dirname} = require('path')
-
-const mkdirpManual = (path, opts, made) => {
- opts.recursive = false
- const parent = dirname(path)
- if (parent === path) {
- return opts.mkdirAsync(path, opts).catch(er => {
- // swallowed by recursive implementation on posix systems
- // any other error is a failure
- if (er.code !== 'EISDIR')
- throw er
- })
- }
-
- return opts.mkdirAsync(path, opts).then(() => made || path, er => {
- if (er.code === 'ENOENT')
- return mkdirpManual(parent, opts)
- .then(made => mkdirpManual(path, opts, made))
- if (er.code !== 'EEXIST' && er.code !== 'EROFS')
- throw er
- return opts.statAsync(path).then(st => {
- if (st.isDirectory())
- return made
- else
- throw er
- }, () => { throw er })
- })
-}
-
-const mkdirpManualSync = (path, opts, made) => {
- const parent = dirname(path)
- opts.recursive = false
-
- if (parent === path) {
- try {
- return opts.mkdirSync(path, opts)
- } catch (er) {
- // swallowed by recursive implementation on posix systems
- // any other error is a failure
- if (er.code !== 'EISDIR')
- throw er
- else
- return
- }
- }
-
- try {
- opts.mkdirSync(path, opts)
- return made || path
- } catch (er) {
- if (er.code === 'ENOENT')
- return mkdirpManualSync(path, opts, mkdirpManualSync(parent, opts, made))
- if (er.code !== 'EEXIST' && er.code !== 'EROFS')
- throw er
- try {
- if (!opts.statSync(path).isDirectory())
- throw er
- } catch (_) {
- throw er
- }
- }
-}
-
-module.exports = {mkdirpManual, mkdirpManualSync}
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-native.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-native.js
deleted file mode 100644
index c7a6b698..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/mkdirp-native.js
+++ /dev/null
@@ -1,39 +0,0 @@
-const {dirname} = require('path')
-const {findMade, findMadeSync} = require('./find-made.js')
-const {mkdirpManual, mkdirpManualSync} = require('./mkdirp-manual.js')
-
-const mkdirpNative = (path, opts) => {
- opts.recursive = true
- const parent = dirname(path)
- if (parent === path)
- return opts.mkdirAsync(path, opts)
-
- return findMade(opts, path).then(made =>
- opts.mkdirAsync(path, opts).then(() => made)
- .catch(er => {
- if (er.code === 'ENOENT')
- return mkdirpManual(path, opts)
- else
- throw er
- }))
-}
-
-const mkdirpNativeSync = (path, opts) => {
- opts.recursive = true
- const parent = dirname(path)
- if (parent === path)
- return opts.mkdirSync(path, opts)
-
- const made = findMadeSync(opts, path)
- try {
- opts.mkdirSync(path, opts)
- return made
- } catch (er) {
- if (er.code === 'ENOENT')
- return mkdirpManualSync(path, opts)
- else
- throw er
- }
-}
-
-module.exports = {mkdirpNative, mkdirpNativeSync}
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/opts-arg.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/opts-arg.js
deleted file mode 100644
index 2fa4833f..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/opts-arg.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const { promisify } = require('util')
-const fs = require('fs')
-const optsArg = opts => {
- if (!opts)
- opts = { mode: 0o777, fs }
- else if (typeof opts === 'object')
- opts = { mode: 0o777, fs, ...opts }
- else if (typeof opts === 'number')
- opts = { mode: opts, fs }
- else if (typeof opts === 'string')
- opts = { mode: parseInt(opts, 8), fs }
- else
- throw new TypeError('invalid options argument')
-
- opts.mkdir = opts.mkdir || opts.fs.mkdir || fs.mkdir
- opts.mkdirAsync = promisify(opts.mkdir)
- opts.stat = opts.stat || opts.fs.stat || fs.stat
- opts.statAsync = promisify(opts.stat)
- opts.statSync = opts.statSync || opts.fs.statSync || fs.statSync
- opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs.mkdirSync
- return opts
-}
-module.exports = optsArg
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/path-arg.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/path-arg.js
deleted file mode 100644
index cc07de5a..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/path-arg.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform
-const { resolve, parse } = require('path')
-const pathArg = path => {
- if (/\0/.test(path)) {
- // simulate same failure that node raises
- throw Object.assign(
- new TypeError('path must be a string without null bytes'),
- {
- path,
- code: 'ERR_INVALID_ARG_VALUE',
- }
- )
- }
-
- path = resolve(path)
- if (platform === 'win32') {
- const badWinChars = /[*|"<>?:]/
- const {root} = parse(path)
- if (badWinChars.test(path.substr(root.length))) {
- throw Object.assign(new Error('Illegal characters in path.'), {
- path,
- code: 'EINVAL',
- })
- }
- }
-
- return path
-}
-module.exports = pathArg
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/use-native.js b/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/use-native.js
deleted file mode 100644
index 079361de..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/lib/use-native.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const fs = require('fs')
-
-const version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version
-const versArr = version.replace(/^v/, '').split('.')
-const hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12
-
-const useNative = !hasNative ? () => false : opts => opts.mkdir === fs.mkdir
-const useNativeSync = !hasNative ? () => false : opts => opts.mkdirSync === fs.mkdirSync
-
-module.exports = {useNative, useNativeSync}
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/package.json b/sandbox/testAppNevena/Front/node_modules/mkdirp/package.json
deleted file mode 100644
index 2913ed09..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "mkdirp",
- "description": "Recursively mkdir, like `mkdir -p`",
- "version": "1.0.4",
- "main": "index.js",
- "keywords": [
- "mkdir",
- "directory",
- "make dir",
- "make",
- "dir",
- "recursive",
- "native"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/isaacs/node-mkdirp.git"
- },
- "scripts": {
- "test": "tap",
- "snap": "tap",
- "preversion": "npm test",
- "postversion": "npm publish",
- "postpublish": "git push origin --follow-tags"
- },
- "tap": {
- "check-coverage": true,
- "coverage-map": "map.js"
- },
- "devDependencies": {
- "require-inject": "^1.4.4",
- "tap": "^14.10.7"
- },
- "bin": "bin/cmd.js",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "files": [
- "bin",
- "lib",
- "index.js"
- ]
-}
diff --git a/sandbox/testAppNevena/Front/node_modules/mkdirp/readme.markdown b/sandbox/testAppNevena/Front/node_modules/mkdirp/readme.markdown
deleted file mode 100644
index 827de590..00000000
--- a/sandbox/testAppNevena/Front/node_modules/mkdirp/readme.markdown
+++ /dev/null
@@ -1,266 +0,0 @@
-# mkdirp
-
-Like `mkdir -p`, but in Node.js!
-
-Now with a modern API and no\* bugs!
-
-<small>\* may contain some bugs</small>
-
-# example
-
-## pow.js
-
-```js
-const mkdirp = require('mkdirp')
-
-// return value is a Promise resolving to the first directory created
-mkdirp('/tmp/foo/bar/baz').then(made =>
- console.log(`made directories, starting with ${made}`))
-```
-
-Output (where `/tmp/foo` already exists)
-
-```
-made directories, starting with /tmp/foo/bar
-```
-
-Or, if you don't have time to wait around for promises:
-
-```js
-const mkdirp = require('mkdirp')
-
-// return value is the first directory created
-const made = mkdirp.sync('/tmp/foo/bar/baz')
-console.log(`made directories, starting with ${made}`)
-```
-
-And now /tmp/foo/bar/baz exists, huzzah!
-
-# methods
-
-```js
-const mkdirp = require('mkdirp')
-```
-
-## mkdirp(dir, [opts]) -> Promise<String | undefined>
-
-Create a new directory and any necessary subdirectories at `dir` with octal
-permission string `opts.mode`. If `opts` is a string or number, it will be
-treated as the `opts.mode`.
-
-If `opts.mode` isn't specified, it defaults to `0o777 &
-(~process.umask())`.
-
-Promise resolves to first directory `made` that had to be created, or
-`undefined` if everything already exists. Promise rejects if any errors
-are encountered. Note that, in the case of promise rejection, some
-directories _may_ have been created, as recursive directory creation is not
-an atomic operation.
-
-You can optionally pass in an alternate `fs` implementation by passing in
-`opts.fs`. Your implementation should have `opts.fs.mkdir(path, opts, cb)`
-and `opts.fs.stat(path, cb)`.
-
-You can also override just one or the other of `mkdir` and `stat` by
-passing in `opts.stat` or `opts.mkdir`, or providing an `fs` option that
-only overrides one of these.
-
-## mkdirp.sync(dir, opts) -> String|null
-
-Synchronously create a new directory and any necessary subdirectories at
-`dir` with octal permission string `opts.mode`. If `opts` is a string or
-number, it will be treated as the `opts.mode`.
-
-If `opts.mode` isn't specified, it defaults to `0o777 &
-(~process.umask())`.
-
-Returns the first directory that had to be created, or undefined if
-everything already exists.
-
-You can optionally pass in an alternate `fs` implementation by passing in
-`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)`
-and `opts.fs.statSync(path)`.
-
-You can also override just one or the other of `mkdirSync` and `statSync`
-by passing in `opts.statSync` or `opts.mkdirSync`, or providing an `fs`
-option that only overrides one of these.
-
-## mkdirp.manual, mkdirp.manualSync
-
-Use the manual implementation (not the native one). This is the default
-when the native implementation is not available or the stat/mkdir
-implementation is overridden.
-
-## mkdirp.native, mkdirp.nativeSync
-
-Use the native implementation (not the manual one). This is the default
-when the native implementation is available and stat/mkdir are not
-overridden.
-
-# implementation
-
-On Node.js v10.12.0 and above, use the native `fs.mkdir(p,
-{recursive:true})` option, unless `fs.mkdir`/`fs.mkdirSync` has been
-overridden by an option.
-
-## native implementation
-
-- If the path is a root directory, then pass it to the underlying
- implementation and return the result/error. (In this case, it'll either
- succeed or fail, but we aren't actually creating any dirs.)
-- Walk up the path statting each directory, to find the first path that
- will be created, `made`.
-- Call `fs.mkdir(path, { recursive: true })` (or `fs.mkdirSync`)
-- If error, raise it to the caller.
-- Return `made`.
-
-## manual implementation
-
-- Call underlying `fs.mkdir` implementation, with `recursive: false`
-- If error:
- - If path is a root directory, raise to the caller and do not handle it
- - If ENOENT, mkdirp parent dir, store result as `made`
- - stat(path)
- - If error, raise original `mkdir` error
- - If directory, return `made`
- - Else, raise original `mkdir` error
-- else
- - return `undefined` if a root dir, or `made` if set, or `path`
-
-## windows vs unix caveat
-
-On Windows file systems, attempts to create a root directory (ie, a drive
-letter or root UNC path) will fail. If the root directory exists, then it
-will fail with `EPERM`. If the root directory does not exist, then it will
-fail with `ENOENT`.
-
-On posix file systems, attempts to create a root directory (in recursive
-mode) will succeed silently, as it is treated like just another directory
-that already exists. (In non-recursive mode, of course, it fails with
-`EEXIST`.)
-
-In order to preserve this system-specific behavior (and because it's not as
-if we can create the parent of a root directory anyway), attempts to create
-a root directory are passed directly to the `fs` implementation, and any
-errors encountered are not handled.
-
-## native error caveat
-
-The native implementation (as of at least Node.js v13.4.0) does not provide
-appropriate errors in some cases (see
-[nodejs/node#31481](https://github.com/nodejs/node/issues/31481) and
-[nodejs/node#28015](https://github.com/nodejs/node/issues/28015)).
-
-In order to work around this issue, the native implementation will fall
-back to the manual implementation if an `ENOENT` error is encountered.
-
-# choosing a recursive mkdir implementation
-
-There are a few to choose from! Use the one that suits your needs best :D
-
-## use `fs.mkdir(path, {recursive: true}, cb)` if:
-
-- You wish to optimize performance even at the expense of other factors.
-- You don't need to know the first dir created.
-- You are ok with getting `ENOENT` as the error when some other problem is
- the actual cause.
-- You can limit your platforms to Node.js v10.12 and above.
-- You're ok with using callbacks instead of promises.
-- You don't need/want a CLI.
-- You don't need to override the `fs` methods in use.
-
-## use this module (mkdirp 1.x) if:
-
-- You need to know the first directory that was created.
-- You wish to use the native implementation if available, but fall back
- when it's not.
-- You prefer promise-returning APIs to callback-taking APIs.
-- You want more useful error messages than the native recursive mkdir
- provides (at least as of Node.js v13.4), and are ok with re-trying on
- `ENOENT` to achieve this.
-- You need (or at least, are ok with) a CLI.
-- You need to override the `fs` methods in use.
-
-## use [`make-dir`](http://npm.im/make-dir) if:
-
-- You do not need to know the first dir created (and wish to save a few
- `stat` calls when using the native implementation for this reason).
-- You wish to use the native implementation if available, but fall back
- when it's not.
-- You prefer promise-returning APIs to callback-taking APIs.
-- You are ok with occasionally getting `ENOENT` errors for failures that
- are actually related to something other than a missing file system entry.
-- You don't need/want a CLI.
-- You need to override the `fs` methods in use.
-
-## use mkdirp 0.x if:
-
-- You need to know the first directory that was created.
-- You need (or at least, are ok with) a CLI.
-- You need to override the `fs` methods in use.
-- You're ok with using callbacks instead of promises.
-- You are not running on Windows, where the root-level ENOENT errors can
- lead to infinite regress.
-- You think vinyl just sounds warmer and richer for some weird reason.
-- You are supporting truly ancient Node.js versions, before even the advent
- of a `Promise` language primitive. (Please don't. You deserve better.)
-
-# cli
-
-This package also ships with a `mkdirp` command.
-
-```
-$ mkdirp -h
-
-usage: mkdirp [DIR1,DIR2..] {OPTIONS}
-
- Create each supplied directory including any necessary parent directories
- that don't yet exist.
-
- If the directory already exists, do nothing.
-
-OPTIONS are:
-
- -m<mode> If a directory needs to be created, set the mode as an octal
- --mode=<mode> permission string.
-
- -v --version Print the mkdirp version number
-
- -h --help Print this helpful banner
-
- -p --print Print the first directories created for each path provided
-
- --manual Use manual implementation, even if native is available
-```
-
-# install
-
-With [npm](http://npmjs.org) do:
-
-```
-npm install mkdirp
-```
-
-to get the library locally, or
-
-```
-npm install -g mkdirp
-```
-
-to get the command everywhere, or
-
-```
-npx mkdirp ...
-```
-
-to run the command without installing it globally.
-
-# platform support
-
-This module works on node v8, but only v10 and above are officially
-supported, as Node v8 reached its LTS end of life 2020-01-01, which is in
-the past, as of this writing.
-
-# license
-
-MIT