mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-17 23:45:29 -05:00
removing all tarballs on unpublish --force
This commit is contained in:
parent
3a407396b8
commit
6ae26226eb
1 changed files with 31 additions and 9 deletions
|
@ -61,17 +61,39 @@ Storage.prototype.add_package = function(name, metadata, callback) {
|
||||||
|
|
||||||
Storage.prototype.remove_package = function(name, callback) {
|
Storage.prototype.remove_package = function(name, callback) {
|
||||||
var self = this
|
var self = this
|
||||||
self.storage.unlink(name + '/' + info_file, function(err) {
|
self.storage.read_json(name + '/' + info_file, function(err, data) {
|
||||||
if (err && err.code === 'ENOENT') {
|
if (err) {
|
||||||
return callback(new UError({
|
if (err.code === 'ENOENT') {
|
||||||
status: 404,
|
return callback(new UError({
|
||||||
msg: 'no such package available',
|
status: 404,
|
||||||
}))
|
msg: 'no such package available',
|
||||||
|
}))
|
||||||
|
} else {
|
||||||
|
return callback(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
self._normalize_package(data)
|
||||||
|
|
||||||
// try to unlink the directory, but ignore errors because it can fail
|
self.storage.unlink(name + '/' + info_file, function(err) {
|
||||||
self.storage.rmdir(name, function(err) {
|
if (err) return callback(err)
|
||||||
callback()
|
|
||||||
|
var files = Object.keys(data._attachments)
|
||||||
|
|
||||||
|
function unlinkNext(cb) {
|
||||||
|
if (files.length === 0) return cb()
|
||||||
|
|
||||||
|
var file = files.shift()
|
||||||
|
self.storage.unlink(name + '/' + file, function() {
|
||||||
|
unlinkNext(cb)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
unlinkNext(function() {
|
||||||
|
// try to unlink the directory, but ignore errors because it can fail
|
||||||
|
self.storage.rmdir(name, function(err) {
|
||||||
|
callback()
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue