summaryrefslogtreecommitdiff
path: root/deps/npm/lib/install/decompose-actions.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/install/decompose-actions.js')
-rw-r--r--deps/npm/lib/install/decompose-actions.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/deps/npm/lib/install/decompose-actions.js b/deps/npm/lib/install/decompose-actions.js
index 1d954f5cab..57dc7cd687 100644
--- a/deps/npm/lib/install/decompose-actions.js
+++ b/deps/npm/lib/install/decompose-actions.js
@@ -19,6 +19,8 @@ module.exports = function (differences, decomposed, next) {
moveSteps(decomposed, pkg, done)
break
case 'remove':
+ removeSteps(decomposed, pkg, done)
+ break
default:
defaultSteps(decomposed, cmd, pkg, done)
}
@@ -44,8 +46,15 @@ function addSteps (decomposed, pkg, done) {
}
function updateSteps (decomposed, pkg, done) {
+ removeSteps(decomposed, pkg.oldPkg, () => {
+ addSteps(decomposed, pkg, done)
+ })
+}
+
+function removeSteps (decomposed, pkg, done) {
+ decomposed.push(['unbuild', pkg])
decomposed.push(['remove', pkg])
- addSteps(decomposed, pkg, done)
+ done()
}
function moveSteps (decomposed, pkg, done) {