@@ -584,7 +584,7 @@ export async function loadVersionInfo(params: ContainerFeatureInternalParams, co
584
584
585
585
const { lockfile } = await readLockfile ( config ) ;
586
586
587
- const features : Record < string , any > = { } ;
587
+ const resolved : Record < string , any > = { } ;
588
588
589
589
await Promise . all ( userFeatures . map ( async userFeature => {
590
590
const userFeatureId = userFeature . userFeatureId ;
@@ -610,7 +610,7 @@ export async function loadVersionInfo(params: ContainerFeatureInternalParams, co
610
610
wanted = wantedFeature ?. version ;
611
611
}
612
612
}
613
- features [ userFeatureId ] = {
613
+ resolved [ userFeatureId ] = {
614
614
current : lockfileVersion || wanted ,
615
615
wanted,
616
616
wantedMajor : wanted && semver . major ( wanted ) ?. toString ( ) ,
@@ -621,7 +621,13 @@ export async function loadVersionInfo(params: ContainerFeatureInternalParams, co
621
621
}
622
622
} ) ) ;
623
623
624
- return { features } ;
624
+ // Reorder Features to match the order in which they were specified in config
625
+ return {
626
+ features : userFeatures . reduce ( ( acc , userFeature ) => {
627
+ acc [ userFeature . userFeatureId ] = resolved [ userFeature . userFeatureId ] ;
628
+ return acc ;
629
+ } , { } as Record < string , any > )
630
+ } ;
625
631
}
626
632
627
633
async function findOCIFeatureMetadata ( params : ContainerFeatureInternalParams , manifest : ManifestContainer ) {
0 commit comments