@@ -110,20 +110,43 @@ function CodeSnippets({
110110
111111 // User-defined languages array
112112 // Can override languageSet, change order of langs, override options and variants
113- const userDefinedLanguageSet =
114- ( siteConfig ?. themeConfig ?. languageTabs as Language [ ] | undefined ) ??
115- languageSet ;
113+ const languageAliases : Record <
114+ string ,
115+ { language : string ; variant ?: string }
116+ > = {
117+ curl : { language : "shell" , variant : "curl" } ,
118+ nodejs : { language : "node" } ,
119+ } ;
120+
121+ const userDefinedLanguageSet = (
122+ siteConfig ?. themeConfig ?. languageTabs as Language [ ] | undefined
123+ )
124+ ?. map ( ( lang ) => {
125+ const alias = languageAliases [ lang . language ] ;
126+ if ( alias ) {
127+ return {
128+ ...lang ,
129+ ...alias ,
130+ label : lang . label ?? lang . language ,
131+ } ;
132+ }
133+ return lang ;
134+ } )
135+ . filter ( ( lang ) => languageSet . some ( ( ls ) => ls . language === lang . language ) ) ;
136+
137+ const finalLanguageSet =
138+ userDefinedLanguageSet && userDefinedLanguageSet . length
139+ ? userDefinedLanguageSet
140+ : languageSet ;
116141
117142 // Filter languageSet by user-defined langs
118- const filteredLanguageSet = languageSet . filter ( ( ls ) => {
119- return userDefinedLanguageSet ?. some ( ( lang ) => {
120- return lang . language === ls . language ;
121- } ) ;
122- } ) ;
143+ const filteredLanguageSet = languageSet . filter ( ( ls ) =>
144+ finalLanguageSet . some ( ( lang ) => lang . language === ls . language )
145+ ) ;
123146
124147 // Merge user-defined langs into languageSet
125148 const mergedLangs = mergeCodeSampleLanguage (
126- mergeArraysbyLanguage ( userDefinedLanguageSet , filteredLanguageSet ) ,
149+ mergeArraysbyLanguage ( finalLanguageSet , filteredLanguageSet ) ,
127150 codeSamples
128151 ) ;
129152
@@ -264,7 +287,7 @@ function CodeSnippets({
264287 return (
265288 < CodeTab
266289 value = { lang . language }
267- label = { lang . language }
290+ label = { lang . label ?? lang . language }
268291 key = { lang . language }
269292 attributes = { {
270293 className : `openapi-tabs__code-item--${ lang . logoClass } ` ,
0 commit comments