@@ -368,33 +368,32 @@ function mergeEditorConfigs(
368368 } ;
369369 }
370370
371- // settings.json: recursive deep merge, preserving existing keys
372- function deepMerge (
373- target : Record < string , unknown > ,
374- source : Record < string , unknown > ,
375- ) : Record < string , unknown > {
376- const result = { ...target } ;
377- for ( const [ key , value ] of Object . entries ( source ) ) {
378- if ( ! ( key in result ) ) {
379- result [ key ] = value ;
380- } else if (
381- typeof result [ key ] === 'object' &&
382- result [ key ] !== null &&
383- ! Array . isArray ( result [ key ] ) &&
384- typeof value === 'object' &&
385- value !== null &&
386- ! Array . isArray ( value )
387- ) {
388- result [ key ] = deepMerge (
389- result [ key ] as Record < string , unknown > ,
390- value as Record < string , unknown > ,
391- ) ;
392- }
371+ return deepMerge ( existing , incoming ) ;
372+ }
373+
374+ function deepMerge (
375+ target : Record < string , unknown > ,
376+ source : Record < string , unknown > ,
377+ ) : Record < string , unknown > {
378+ const result = { ...target } ;
379+ for ( const [ key , value ] of Object . entries ( source ) ) {
380+ if ( ! ( key in result ) ) {
381+ result [ key ] = value ;
382+ } else if (
383+ typeof result [ key ] === 'object' &&
384+ result [ key ] !== null &&
385+ ! Array . isArray ( result [ key ] ) &&
386+ typeof value === 'object' &&
387+ value !== null &&
388+ ! Array . isArray ( value )
389+ ) {
390+ result [ key ] = deepMerge (
391+ result [ key ] as Record < string , unknown > ,
392+ value as Record < string , unknown > ,
393+ ) ;
393394 }
394- return result ;
395395 }
396-
397- return deepMerge ( existing , incoming ) ;
396+ return result ;
398397}
399398
400399function resolveEditorId ( editor : string ) : EditorId | undefined {
0 commit comments