@@ -116,6 +116,14 @@ const languageTargets: Target[] = [
116116 appTarget : "app-ruby" ,
117117 versions : languageVersions [ "ruby" ] ,
118118 } ,
119+ {
120+ icon : ":csharp:" ,
121+ label : "C#" ,
122+ key : "csharp" ,
123+ sdkTarget : "sdk-csharp" ,
124+ appTarget : "app-csharp" ,
125+ versions : [ ] , // C# doesn't use mise for version management
126+ } ,
119127] ;
120128
121129function generateAppCommands ( key : string , appTarget : string ) {
@@ -124,6 +132,15 @@ function generateAppCommands(key: string, appTarget: string) {
124132 language = "node" ;
125133 }
126134
135+ // C# uses dotnet directly, not mise
136+ if ( key === "csharp" ) {
137+ return [
138+ "mise trust" ,
139+ `nx install ${ appTarget } ` ,
140+ `nx run ${ appTarget } :run` ,
141+ ] ;
142+ }
143+
127144 let appInstallCommand = `mise exec ${ language } @{{matrix}} -- nx install ${ appTarget } ` ;
128145 if ( language === "python" ) {
129146 appInstallCommand = `mise exec ${ language } @{{matrix}} -- pip install --no-cache-dir uv black && nx install ${ appTarget } ` ;
@@ -196,17 +213,42 @@ languageTargets.forEach((target) => {
196213 `nx run ${ target . sdkTarget } :docs:build` ,
197214 ] ,
198215 } ,
199- {
200- label : ":lab_coat: Apps" ,
201- key : `${ target . key } -apps` ,
202- depends_on : [ `${ target . key } -test` , `${ target . key } -build` ] ,
203- plugins : languagePlugins ,
204- commands : generateAppCommands ( target . key , target . appTarget ) ,
205- matrix : target . versions ,
206- env : {
207- MISE_NODE_VERIFY : false ,
208- } ,
209- } ,
216+ // Only add matrix if there are versions to test
217+ ...( target . versions . length > 0
218+ ? [
219+ {
220+ label : ":lab_coat: Apps" ,
221+ key : `${ target . key } -apps` ,
222+ depends_on : [
223+ `${ target . key } -test` ,
224+ `${ target . key } -build` ,
225+ ] ,
226+ plugins : languagePlugins ,
227+ commands : generateAppCommands (
228+ target . key ,
229+ target . appTarget
230+ ) ,
231+ matrix : target . versions ,
232+ env : {
233+ MISE_NODE_VERIFY : false ,
234+ } ,
235+ } ,
236+ ]
237+ : [
238+ {
239+ label : ":lab_coat: Apps" ,
240+ key : `${ target . key } -apps` ,
241+ depends_on : [
242+ `${ target . key } -test` ,
243+ `${ target . key } -build` ,
244+ ] ,
245+ plugins : languagePlugins ,
246+ commands : generateAppCommands (
247+ target . key ,
248+ target . appTarget
249+ ) ,
250+ } ,
251+ ] ) ,
210252 ] ,
211253 } ) ;
212254} ) ;
0 commit comments