Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
9.0.x
10.0.x

- name: Restore dependencies
run: dotnet restore ShellUI.sln
run: dotnet restore ShellUI.slnx

- name: Build
run: dotnet build ShellUI.sln --no-restore --configuration Release
run: dotnet build ShellUI.slnx --no-restore --configuration Release

- name: Run tests
run: dotnet test ShellUI.sln --no-restore --no-build --configuration Release --verbosity normal
run: dotnet test ShellUI.slnx --no-restore --no-build --configuration Release --verbosity normal

# End-to-end build of a scaffolded project — catches anything the in-process
# TemplateCompileTests miss (missing usings, dependency resolution).
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/preview-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
push:
branches: [ main ]
paths:
- 'NET9/ShellUI.Preview/**'
- 'NET10/ShellUI.Preview/**'
- 'src/ShellUI.Components/**'
- '.github/workflows/preview-pages.yml'
workflow_dispatch:
Expand All @@ -28,11 +28,11 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
dotnet-version: '10.0.x'

- name: Publish Preview (Blazor WASM)
run: |
dotnet publish NET9/ShellUI.Preview/ShellUI.Preview.csproj \
dotnet publish NET10/ShellUI.Preview/ShellUI.Preview.csproj \
-c Release \
-o ./preview-publish
env:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'
dotnet-version: '10.0.x'

- name: Cache NuGet packages
uses: actions/cache@v4
Expand All @@ -34,16 +34,16 @@ jobs:
${{ runner.os }}-nuget-

- name: Restore dependencies
run: dotnet restore ShellUI.sln
run: dotnet restore ShellUI.slnx

- name: Build
run: dotnet build ShellUI.sln --no-restore --configuration Release
run: dotnet build ShellUI.slnx --no-restore --configuration Release

- name: Run tests
run: dotnet test ShellUI.sln --no-restore --no-build --configuration Release --verbosity normal
run: dotnet test ShellUI.slnx --no-restore --no-build --configuration Release --verbosity normal

- name: Pack NuGet packages
run: dotnet pack ShellUI.sln --no-build --configuration Release -p:ContinuousIntegrationBuild=true
run: dotnet pack ShellUI.slnx --no-build --configuration Release -p:ContinuousIntegrationBuild=true

# ShellUI.Core and ShellUI.Templates are internal-only — they have no public API
# surface that consumers reference. Only the CLI tool and the Components runtime
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
*.user
*.userosscache
*.sln.docstates

*.sln
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

Expand Down
4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<Project>
<!-- Centralized ShellUI Version - Update this single file to version all components -->
<PropertyGroup>
<ShellUIVersion>0.3.0</ShellUIVersion>
<ShellUIVersionSuffix>rc.1</ShellUIVersionSuffix>
<ShellUIVersion>0.4.0</ShellUIVersion>
<ShellUIVersionSuffix>alpha.1</ShellUIVersionSuffix>
</PropertyGroup>

<!-- Common properties for all ShellUI projects -->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<OverrideHtmlAssetPlaceholders>true</OverrideHtmlAssetPlaceholders>
<RootNamespace>ShellUI.Preview</RootNamespace>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.0" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion ShellUI.Tests/IntegrationTest1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ private async Task<int> RunShellUICommand(string args)
{
// Get the path to the CLI from the test directory perspective
var solutionDir = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), ".."));
var cliPath = Path.Combine(solutionDir, "src", "ShellUI.CLI", "bin", "Release", "net9.0", "ShellUI.CLI.dll");
var cliPath = Path.Combine(solutionDir, "src", "ShellUI.CLI", "bin", "Release", "net10.0", "ShellUI.CLI.dll");

var process = new Process
{
Expand Down
2 changes: 1 addition & 1 deletion ShellUI.Tests/ShellUI.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
Expand Down
98 changes: 0 additions & 98 deletions ShellUI.sln

This file was deleted.

14 changes: 14 additions & 0 deletions ShellUI.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Solution>
<Configurations>
<Platform Name="Any CPU" />
<Platform Name="x64" />
<Platform Name="x86" />
</Configurations>
<Folder Name="/src/">
<Project Path="src/ShellUI.CLI/ShellUI.CLI.csproj" />
<Project Path="src/ShellUI.Components/ShellUI.Components.csproj" />
<Project Path="src/ShellUI.Core/ShellUI.Core.csproj" />
<Project Path="src/ShellUI.Templates/ShellUI.Templates.csproj" />
</Folder>
<Project Path="ShellUI.Tests/ShellUI.Tests.csproj" />
</Solution>
2 changes: 1 addition & 1 deletion docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ When you run `shellui add button`, that counts as **1 component**. Dependencies
- **src/ShellUI.Core/** – ComponentMetadata, ShellUIConfig
- **src/ShellUI.Templates/** – 139 component templates (embedded in CLI)
- **src/ShellUI.Components/** – NuGet package
- **NET9/** – Blazor demo app
- **NET10/** – Blazor demo app
- **docs/** – Documentation

## Core Principles
Expand Down
12 changes: 6 additions & 6 deletions docs/PROJECT_STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Counts are top-level components users invoke directly via `shellui add <name>`.
## How to Get Started with Development

### Prerequisites
- .NET 9.0 SDK or higher (components target .NET 9.0)
- .NET 10.0 SDK or higher (components target .NET 10.0)
- Git
- Visual Studio 2022 or VS Code
- Basic understanding of Blazor
Expand Down Expand Up @@ -129,7 +129,7 @@ dotnet shellui add button input card

3. **Run the demo**
```bash
cd NET9/BlazorInteractiveServer
cd NET10/BlazorInteractiveServer
dotnet run
```

Expand Down Expand Up @@ -157,10 +157,10 @@ dotnet shellui add button input card
**Rationale:** Full customization, no version lock-in, better debugging
**Trade-off:** Users manage updates manually

### 4. .NET 9.0 Target
**Decision:** Target .NET 9.0
**Rationale:** Latest features, best performance, modern Blazor capabilities
**Impact:** Requires .NET 9.0 SDK or higher
### 4. .NET 10.0 Target
**Decision:** Target .NET 10.0 (LTS)
**Rationale:** Long-term support through Nov 2028, latest C# 14 features, modern Blazor capabilities including the asset-fingerprinting `@Assets[...]` helper that init now patches
**Impact:** Requires .NET 10.0 SDK or higher. Users on .NET 8 LTS can stay on `ShellUI 0.3.x` until they upgrade — we can multi-target `net8.0;net10.0` later if enterprise demand justifies it.

### 5. Accessibility First
**Decision:** WCAG 2.1 AA compliance required for all components
Expand Down
2 changes: 1 addition & 1 deletion docs/tailwind-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This guide shows you how to set up Tailwind CSS for a new Blazor project using t

## Prerequisites

- .NET 9.0 SDK
- .NET 10.0 SDK
- A Blazor project (new or existing)

## Method 1: Using ShellUI CLI (Recommended)
Expand Down
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "9.0.100",
"version": "10.0.100",
"rollForward": "latestFeature",
"allowPrerelease": false
}
Expand Down
2 changes: 1 addition & 1 deletion src/ShellUI.CLI/ShellUI.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

Expand Down
7 changes: 2 additions & 5 deletions src/ShellUI.Components/ShellUI.Components.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>

Expand All @@ -21,9 +21,6 @@
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>

<!-- Disable static web assets compression for packaging (.NET 10 SDK bug workaround) -->
<EnableStaticWebAssetsCompression>false</EnableStaticWebAssetsCompression>
<StaticWebAssetsBuildMode Condition="'$(ContinuousIntegrationBuild)' == 'true'">Default</StaticWebAssetsBuildMode>
</PropertyGroup>


Expand All @@ -32,7 +29,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.6" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="10.0.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.7.1" />
<PackageReference Include="Blazor-ApexCharts" Version="6.0.2" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/ShellUI.Core/ShellUI.Core.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<!-- Internal library — consumed only by ShellUI.CLI. Not published to NuGet. -->
Expand Down
2 changes: 1 addition & 1 deletion src/ShellUI.Templates/ShellUI.Templates.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</ItemGroup>

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

Expand Down
Loading