From 257b41e2392b5b747f50b5cba77e876f67283711 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 21:42:34 +0000 Subject: [PATCH 1/7] Initial plan From 9d2fdb65fc92786900a6fcbda8037562e37d74d7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 21:49:26 +0000 Subject: [PATCH 2/7] feat: Add --project-only flag to unoapp template Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com> --- .../unoapp/.template.config/template.json | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/Uno.Templates/content/unoapp/.template.config/template.json b/src/Uno.Templates/content/unoapp/.template.config/template.json index 8c95ecf98..cf0d15994 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/template.json +++ b/src/Uno.Templates/content/unoapp/.template.config/template.json @@ -803,6 +803,13 @@ "description": "If specified, skips the automatic restore of the project on create.", "defaultValue": "false" }, + "projectOnly": { + "type": "parameter", + "datatype": "bool", + "displayName": "Project Only", + "description": "If specified, creates only the main project folder without solution file or top-level configuration files. Intended for adding projects to existing solutions.", + "defaultValue": "false" + }, "unoSdkVersion": { "type": "parameter", "datatype": "text", @@ -818,6 +825,11 @@ "description": "If specified, generates a global.json file with the Uno.SDK version. Set to false to manage SDK versions externally.", "defaultValue": "true" }, + "includeGlobalJsonEvaluator": { + "type": "computed", + "datatype": "bool", + "value": "(includeGlobalJson && !projectOnly)" + }, "unoWasmBootstrapVersion": { "type": "parameter", "datatype": "text" @@ -2360,7 +2372,7 @@ ] }, { - "condition": "(isVsix)", + "condition": "(isVsix || projectOnly)", "exclude": [ "MyExtensionsApp.1.sln" ] @@ -2766,10 +2778,19 @@ ] }, { - "condition": "(!includeGlobalJson)", + "condition": "(!includeGlobalJsonEvaluator)", "exclude": [ "global.json" ] + }, + { + "condition": "(projectOnly)", + "exclude": [ + ".editorconfig", + ".vsconfig", + ".run/**/*", + ".vscode/**/*" + ] } ] } From a6383364c0068d342d0a47bb8b3630d2cb298c49 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 22:03:33 +0000 Subject: [PATCH 3/7] feat: Place project contents at root when using --project-only Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com> --- .../content/unoapp/.template.config/template.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Uno.Templates/content/unoapp/.template.config/template.json b/src/Uno.Templates/content/unoapp/.template.config/template.json index cf0d15994..2ee026be5 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/template.json +++ b/src/Uno.Templates/content/unoapp/.template.config/template.json @@ -2789,10 +2789,16 @@ ".editorconfig", ".vsconfig", ".run/**/*", - ".vscode/**/*" + ".vscode/**/*", + "MyExtensionsApp.1/**" ] } ] + }, + { + "condition": "(projectOnly)", + "source": "MyExtensionsApp.1/", + "target": "./" } ], "postActions": [ From d2fd856adb30c584adf54e758a458f1d41e1c980 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 22:12:22 +0000 Subject: [PATCH 4/7] feat: Ignore --project-only when NuGet packages are required Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com> --- .../content/unoapp/.template.config/template.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Uno.Templates/content/unoapp/.template.config/template.json b/src/Uno.Templates/content/unoapp/.template.config/template.json index 2ee026be5..e1d486048 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/template.json +++ b/src/Uno.Templates/content/unoapp/.template.config/template.json @@ -2372,7 +2372,7 @@ ] }, { - "condition": "(isVsix || projectOnly)", + "condition": "(isVsix || (projectOnly && !requiresNugetPackages))", "exclude": [ "MyExtensionsApp.1.sln" ] @@ -2784,7 +2784,7 @@ ] }, { - "condition": "(projectOnly)", + "condition": "(projectOnly && !requiresNugetPackages)", "exclude": [ ".editorconfig", ".vsconfig", @@ -2796,7 +2796,7 @@ ] }, { - "condition": "(projectOnly)", + "condition": "(projectOnly && !requiresNugetPackages)", "source": "MyExtensionsApp.1/", "target": "./" } From 53e13c0915b69e961df1a47c188af9fa40a0ff5a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 13:26:24 +0000 Subject: [PATCH 5/7] feat: Make projectOnly and includeGlobalJson hidden parameters Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com> --- .../content/unoapp/.template.config/template.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Uno.Templates/content/unoapp/.template.config/template.json b/src/Uno.Templates/content/unoapp/.template.config/template.json index e1d486048..774d975f0 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/template.json +++ b/src/Uno.Templates/content/unoapp/.template.config/template.json @@ -808,7 +808,8 @@ "datatype": "bool", "displayName": "Project Only", "description": "If specified, creates only the main project folder without solution file or top-level configuration files. Intended for adding projects to existing solutions.", - "defaultValue": "false" + "defaultValue": "false", + "isHidden": "true" }, "unoSdkVersion": { "type": "parameter", @@ -823,7 +824,8 @@ "datatype": "bool", "displayName": "Include global.json", "description": "If specified, generates a global.json file with the Uno.SDK version. Set to false to manage SDK versions externally.", - "defaultValue": "true" + "defaultValue": "true", + "isHidden": "true" }, "includeGlobalJsonEvaluator": { "type": "computed", From ef0a23a1ba7db711764dbebd1a19aecb04672ab1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 13:28:19 +0000 Subject: [PATCH 6/7] fix: Use boolean true instead of string for isHidden Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com> --- .../content/unoapp/.template.config/template.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Uno.Templates/content/unoapp/.template.config/template.json b/src/Uno.Templates/content/unoapp/.template.config/template.json index 774d975f0..9e2db6c98 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/template.json +++ b/src/Uno.Templates/content/unoapp/.template.config/template.json @@ -809,7 +809,7 @@ "displayName": "Project Only", "description": "If specified, creates only the main project folder without solution file or top-level configuration files. Intended for adding projects to existing solutions.", "defaultValue": "false", - "isHidden": "true" + "isHidden": true }, "unoSdkVersion": { "type": "parameter", @@ -825,7 +825,7 @@ "displayName": "Include global.json", "description": "If specified, generates a global.json file with the Uno.SDK version. Set to false to manage SDK versions externally.", "defaultValue": "true", - "isHidden": "true" + "isHidden": true }, "includeGlobalJsonEvaluator": { "type": "computed", From 9aaee7e56915ce99591f3df6eff8b8f9080be144 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 13:49:43 +0000 Subject: [PATCH 7/7] fix: Move isHidden to dotnetcli.host.json Co-authored-by: jeromelaban <5839577+jeromelaban@users.noreply.github.com> --- .../unoapp/.template.config/dotnetcli.host.json | 10 ++++++++++ .../content/unoapp/.template.config/template.json | 6 ++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Uno.Templates/content/unoapp/.template.config/dotnetcli.host.json b/src/Uno.Templates/content/unoapp/.template.config/dotnetcli.host.json index fdfd02825..685d9459a 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/dotnetcli.host.json +++ b/src/Uno.Templates/content/unoapp/.template.config/dotnetcli.host.json @@ -153,6 +153,16 @@ }, "isVsix": { "isHidden": true + }, + "projectOnly": { + "longName": "project-only", + "shortName": "project-only", + "isHidden": true + }, + "includeGlobalJson": { + "longName": "include-global-json", + "shortName": "include-global-json", + "isHidden": true } } } diff --git a/src/Uno.Templates/content/unoapp/.template.config/template.json b/src/Uno.Templates/content/unoapp/.template.config/template.json index 9e2db6c98..e1d486048 100644 --- a/src/Uno.Templates/content/unoapp/.template.config/template.json +++ b/src/Uno.Templates/content/unoapp/.template.config/template.json @@ -808,8 +808,7 @@ "datatype": "bool", "displayName": "Project Only", "description": "If specified, creates only the main project folder without solution file or top-level configuration files. Intended for adding projects to existing solutions.", - "defaultValue": "false", - "isHidden": true + "defaultValue": "false" }, "unoSdkVersion": { "type": "parameter", @@ -824,8 +823,7 @@ "datatype": "bool", "displayName": "Include global.json", "description": "If specified, generates a global.json file with the Uno.SDK version. Set to false to manage SDK versions externally.", - "defaultValue": "true", - "isHidden": true + "defaultValue": "true" }, "includeGlobalJsonEvaluator": { "type": "computed",