File tree Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Original file line number Diff line number Diff line change @@ -334,6 +334,10 @@ class Node {
334334 return `${ myname } @${ alias } ${ version } `
335335 }
336336
337+ get overridden ( ) {
338+ return ! ! ( this . overrides && this . overrides . value && this . overrides . name === this . name )
339+ }
340+
337341 get package ( ) {
338342 return this [ _package ]
339343 }
Original file line number Diff line number Diff line change @@ -2728,6 +2728,52 @@ t.test('overrides', (t) => {
27282728 t . end ( )
27292729 } )
27302730
2731+ t . test ( 'node.overridden is true when an override applies to a specific node' , async ( t ) => {
2732+ const tree = new Node ( {
2733+ loadOverrides : true ,
2734+ path : '/some/path' ,
2735+ pkg : {
2736+ name : 'foo' ,
2737+ dependencies : {
2738+ bar : '^1' ,
2739+ } ,
2740+ overrides : {
2741+ baz : '1.0.0' ,
2742+ } ,
2743+ } ,
2744+ children : [ {
2745+ name : 'bar' ,
2746+ version : '1.0.0' ,
2747+ pkg : {
2748+ dependencies : {
2749+ baz : '2.0.0' ,
2750+ } ,
2751+ } ,
2752+ children : [ {
2753+ name : 'baz' ,
2754+ version : '1.0.0' ,
2755+ pkg : {
2756+ dependencies : {
2757+ buzz : '1.0.0' ,
2758+ } ,
2759+ } ,
2760+ children : [ {
2761+ name : 'buzz' ,
2762+ version : '1.0.0' ,
2763+ pkg : { } ,
2764+ } ] ,
2765+ } ] ,
2766+ } ] ,
2767+ } )
2768+
2769+ const bar = tree . edgesOut . get ( 'bar' ) . to
2770+ t . not ( bar . overridden , 'bar was not overridden' )
2771+ const baz = bar . edgesOut . get ( 'baz' ) . to
2772+ t . ok ( baz . overridden , 'baz was overridden' )
2773+ const buzz = baz . edgesOut . get ( 'buzz' ) . to
2774+ t . not ( buzz . overridden , 'buzz was not overridden' )
2775+ } )
2776+
27312777 t . test ( 'assertRootOverrides throws when a dependency and override conflict' , async ( t ) => {
27322778 const conflictingTree = new Node ( {
27332779 loadOverrides : true ,
You can’t perform that action at this time.
0 commit comments