diff --git a/package.json b/package.json index c9ade8e3..b5418ea1 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,13 @@ "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", "yallist": "^5.0.0" }, "devDependencies": { "chmodr": "^1.2.0", "end-of-stream": "^1.4.3", "events-to-array": "^2.0.3", + "mkdirp": "^3.0.1", "mutate-fs": "^2.1.1", "nock": "^13.5.4", "prettier": "^3.2.5", diff --git a/src/mkdir.ts b/src/mkdir.ts index f65c98ef..d374dece 100644 --- a/src/mkdir.ts +++ b/src/mkdir.ts @@ -1,6 +1,6 @@ import { chownr, chownrSync } from 'chownr' -import fs from 'fs' -import { mkdirp, mkdirpSync } from 'mkdirp' +import fs from 'node:fs' +import fsp from 'node:fs/promises' import path from 'node:path' import { CwdError } from './cwd-error.js' import { normalizeWindowsPath } from './normalize-windows-path.js' @@ -48,7 +48,7 @@ const checkCwd = ( } /** - * Wrapper around mkdirp for tar's needs. + * Wrapper around mkdir for tar's needs. * * The main purpose is to avoid creating directories if we know that * they already exist (and track which ones exist for this purpose), @@ -107,7 +107,7 @@ export const mkdir = ( } if (preserve) { - return mkdirp(dir, { mode }).then( + return fsp.mkdir(dir, { recursive: true, mode }).then( made => done(null, made ?? undefined), // oh, ts done, ) @@ -252,7 +252,7 @@ export const mkdirSync = (dir: string, opt: MkdirOptions) => { } if (preserve) { - return done(mkdirpSync(dir, mode) ?? undefined) + return done(fs.mkdirSync(dir, { recursive: true, mode }) ?? undefined) } const sub = normalizeWindowsPath(path.relative(cwd, dir))