@@ -212,7 +212,8 @@ module.exports = cls => class ActualLoader extends cls {
212212 const promises = [ ]
213213 for ( const path of tree . workspaces . values ( ) ) {
214214 if ( ! this [ _cache ] . has ( path ) ) {
215- const p = this [ _loadFSNode ] ( { path, root : this [ _actualTree ] } )
215+ // workspace overrides use the root overrides
216+ const p = this [ _loadFSNode ] ( { path, root : this [ _actualTree ] , useRootOverrides : true } )
216217 . then ( node => this [ _loadFSTree ] ( node ) )
217218 promises . push ( p )
218219 }
@@ -240,7 +241,7 @@ module.exports = cls => class ActualLoader extends cls {
240241 this [ _actualTree ] = root
241242 }
242243
243- [ _loadFSNode ] ( { path, parent, real, root, loadOverrides } ) {
244+ [ _loadFSNode ] ( { path, parent, real, root, loadOverrides, useRootOverrides } ) {
244245 if ( ! real ) {
245246 return realpath ( path , this [ _rpcache ] , this [ _stcache ] )
246247 . then (
@@ -250,6 +251,7 @@ module.exports = cls => class ActualLoader extends cls {
250251 real,
251252 root,
252253 loadOverrides,
254+ useRootOverrides,
253255 } ) ,
254256 // if realpath fails, just provide a dummy error node
255257 error => new Node ( {
@@ -289,6 +291,9 @@ module.exports = cls => class ActualLoader extends cls {
289291 parent,
290292 root,
291293 loadOverrides,
294+ ...( useRootOverrides && root . overrides
295+ ? { overrides : root . overrides . getNodeRule ( { name : pkg . name , version : pkg . version } ) }
296+ : { } ) ,
292297 } )
293298 } )
294299 . then ( node => {
0 commit comments