Commit 6ed3535 1 parent ec8c95c commit 6ed3535 Copy full SHA for 6ed3535
File tree 1 file changed +9
-7
lines changed
workspaces/arborist/lib/arborist
1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -89,7 +89,6 @@ module.exports = cls => class Builder extends cls {
89
89
const {
90
90
depNodes,
91
91
linkNodes,
92
- storeNodes,
93
92
} = this [ _retrieveNodesByType ] ( nodes )
94
93
95
94
// build regular deps
@@ -100,10 +99,6 @@ module.exports = cls => class Builder extends cls {
100
99
this [ _resetQueues ] ( )
101
100
await this [ _build ] ( linkNodes , { type : 'links' } )
102
101
}
103
- if ( storeNodes . size ) {
104
- this [ _resetQueues ] ( )
105
- await this [ _build ] ( storeNodes , { type : 'storelinks' } )
106
- }
107
102
108
103
process . emit ( 'timeEnd' , 'build' )
109
104
}
@@ -146,6 +141,12 @@ module.exports = cls => class Builder extends cls {
146
141
depNodes . add ( node )
147
142
}
148
143
}
144
+ // Make sure that store linked nodes are processed last.
145
+ // We can't process store links separately or else lifecycle scripts on
146
+ // standard nodes might not have bin links yet.
147
+ for ( const node of storeNodes ) {
148
+ depNodes . add ( node )
149
+ }
149
150
150
151
// deduplicates link nodes and their targets, avoids
151
152
// calling lifecycle scripts twice when running `npm rebuild`
@@ -162,7 +163,6 @@ module.exports = cls => class Builder extends cls {
162
163
return {
163
164
depNodes,
164
165
linkNodes,
165
- storeNodes,
166
166
}
167
167
}
168
168
@@ -330,10 +330,12 @@ module.exports = cls => class Builder extends cls {
330
330
devOptional,
331
331
package : pkg ,
332
332
location,
333
+ isStoreLink,
333
334
} = node . target
334
335
335
336
// skip any that we know we'll be deleting
336
- if ( this [ _trashList ] . has ( path ) ) {
337
+ // or storeLinks
338
+ if ( this [ _trashList ] . has ( path ) || isStoreLink ) {
337
339
return
338
340
}
339
341
You can’t perform that action at this time.
0 commit comments