I am a Japanese Web Developer.
I am not good at English, sorry.
https://www.npmjs.com/package/unzipper
I am using this library.
Here is my code.
// unzip module
import fs from 'fs-extra'
import unzipper from 'unzipper'
import Promise from 'bluebird'
export default ({ inputFilePath, outputFilePath }) => {
return new Promise(async (resolve, reject, onCancel) => {
try {
await streamPromise(fs.createReadStream(inputFilePath).pipe(unzipper.Extract({ path: outputFilePath })))
.then(resolve)
} catch (error) {
reject(error)
}
})
}
const streamPromise = (stream) => {
return new Promise((resolve, reject) => {
stream.on('end', () => {
resolve('end')
})
stream.on('finish', () => {
resolve('finish')
})
stream.on('error', (error) => {
reject(error)
})
})
}
But directory which has no file inside, won't be copied.
Any way to fix this?