Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ class Extractor {
const destDir = path.dirname(path.join(this.opts.dir, entry.fileName))

try {
await fs.mkdir(destDir, { recursive: true })
if (!path.parse(process.cwd()).root === destDir) {
Comment thread
superigno marked this conversation as resolved.
Outdated
await fs.mkdir(destDir, { recursive: true })
}

const canonicalDestDir = await fs.realpath(destDir)
const relativeDestDir = path.relative(this.opts.dir, canonicalDestDir)
Expand Down Expand Up @@ -167,7 +169,10 @@ module.exports = async function (zipPath, opts) {
throw new Error('Target directory is expected to be absolute')
}

await fs.mkdir(opts.dir, { recursive: true })
if (!path.parse(process.cwd()).root === opts.dir) {
Comment thread
superigno marked this conversation as resolved.
Outdated
await fs.mkdir(opts.dir, { recursive: true })
}

opts.dir = await fs.realpath(opts.dir)
return new Extractor(zipPath, opts).extract()
}