Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
850ea14
Upgrade to .NET 10.0 and add corresponding package versions
Carael Nov 17, 2025
87f61e8
Refactor JSON value type checks to use GetValueKind for consistency
Carael Nov 17, 2025
f2259ad
Refactor JSON handling and add utility methods for deep copy and equi…
Carael Nov 17, 2025
c08dffe
Refactor code formatting for consistency and readability in various t…
Carael Nov 17, 2025
18b2b53
Refactor CI workflows: remove obsolete dotnet.yml, update gh-pages an…
glucaci Dec 21, 2025
dffe084
Add CI workflow for multi-OS builds with .NET setup and testing
glucaci Dec 21, 2025
985146c
Refactor CI workflows: update job names for consistency and remove ob…
glucaci Dec 21, 2025
5ebd026
Update GitHub Actions to use latest versions of pages configuration a…
glucaci Dec 21, 2025
7c23c18
Enhance path normalization: add NormalizePathSeparators method and ap…
glucaci Dec 21, 2025
2f41575
Refactor path handling: remove NormalizePathSeparators calls and upda…
glucaci Dec 21, 2025
8e89ab4
Refactor snapshot matching: update MatchSnapshot to use platform-spec…
glucaci Dec 21, 2025
8a6a623
Add snapshot tests for GraphQL and Dotnet component inputs
glucaci Dec 21, 2025
05f7006
Add step to upload snapshot mismatches on test failure
glucaci Dec 21, 2025
ae3e91f
Enhance path handling in SnapshotBuilder: normalize Windows path sepa…
glucaci Dec 21, 2025
44902ec
Enhance path handling in SnapshotBuilder: add support for JSON-escape…
glucaci Dec 21, 2025
1209beb
Add snapshot tests for GraphQL and Dotnet component inputs
glucaci Dec 21, 2025
6bcbe82
Enhance path handling in SnapshotBuilder: protect JSON escape sequenc…
glucaci Dec 21, 2025
3e204da
Enhance path handling in SnapshotBuilder: normalize double forward sl…
glucaci Dec 21, 2025
6539a28
Enhance path handling in SnapshotBuilder: protect URL scheme separato…
glucaci Dec 21, 2025
0171da6
Enhance path handling in SnapshotBuilder: use regex to replace backsl…
glucaci Dec 21, 2025
7943149
Update language version in Directory.Build.props to latest
glucaci Dec 21, 2025
30ce238
Enhance path handling in SnapshotBuilder: protect JSON escape sequenc…
glucaci Dec 21, 2025
9afb64b
Enhance path handling in SnapshotBuilder: normalize Windows paths to …
glucaci Dec 21, 2025
da0a8ee
Refactor ReplacePath methods to improve readability and maintainabili…
glucaci Dec 21, 2025
808073a
Update regex for collapsing multiple forward slashes to preserve URLs…
glucaci Dec 21, 2025
e213be2
Enhance MagicPathRewriterTests: normalize paths in snapshot matching …
glucaci Dec 21, 2025
b66a99a
Fix Windows file path in MagicPathRewriterTests: replace backslash wi…
glucaci Dec 21, 2025
9a58a41
Enhance RemoveLineThatStartsWith method to handle different line endi…
glucaci Dec 21, 2025
a34f671
Add IsNonNullString extension method and enhance null handling in Var…
glucaci Dec 21, 2025
8db395c
Enhance MagicPathRewriter and tests to handle null values without thr…
glucaci Dec 21, 2025
bc28fbc
Enhance MetadataKeywordJsonConverter to handle null values during des…
glucaci Dec 21, 2025
fbd9a26
Refactor MagicPathRewriterTests to use platform-agnostic checks for m…
glucaci Dec 21, 2025
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
45 changes: 45 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: CI
run-name: CI ${{ github.event.pull_request.title }}

on:
pull_request:

jobs:
ci-build:
name: Build & Test ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

defaults:
run:
working-directory: ./src/Confix.Tool

steps:
- uses: actions/checkout@v6

- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
9.0.x
10.0.x

- name: Restore dependencies
run: dotnet restore

- name: Build
run: dotnet build

- name: Test
run: dotnet test

- name: Upload snapshot mismatches
if: failure()
uses: actions/upload-artifact@v4
with:
name: snapshot-mismatches-${{ matrix.os }}
path: ./**/test/**/__mismatch__/**
if-no-files-found: ignore
29 changes: 0 additions & 29 deletions .github/workflows/dotnet.yml

This file was deleted.

12 changes: 6 additions & 6 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy documentation with GitHub Pages
name: GitHub Pages

on:
# Runs on pushes targeting the default branch
Expand Down Expand Up @@ -26,17 +26,17 @@ jobs:
working-directory: ./docs
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Setup Pages
uses: actions/configure-pages@v3
uses: actions/configure-pages@v5
- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v6
with:
node-version: 'latest'
- run: npm ci
- run: npm run build
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v4
with:
path: ./docs/out/

Expand All @@ -50,4 +50,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4
7 changes: 4 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: Confix.Tool.Release
name: Release
run-name: Release ${{ github.event.release.tag_name }}

on:
release:
Expand All @@ -14,9 +15,9 @@ jobs:
VERSION: ${{ github.event.release.tag_name }}
NUGET_TOKEN: ${{ secrets.NUGET_API_KEY }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
8.0.x
Expand Down
178 changes: 0 additions & 178 deletions All.sln

This file was deleted.

4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
<Import Condition="Exists($(PropsAbove))" Project="$(PropsAbove)"/>

<PropertyGroup>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
<RootNamespace>Confix</RootNamespace>
<Nullable>enable</Nullable>
<LangVersion>11</LangVersion>
<LangVersion>latest</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

Expand Down
9 changes: 9 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,15 @@
<PackageVersion Include="Snapshooter.Xunit" Version="0.13.0" />
<PackageVersion Include="FluentAssertions" Version="6.11.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
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": "latestMinor"
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System.Text.Json;
using System.Text.Json.Nodes;
using Confix.Utilities.Json;
using Confix.Utilities.Parsing;
Expand Down Expand Up @@ -48,7 +49,7 @@ public static ComponentReferenceConfiguration Parse(string key, JsonNode node)
"The component key must be in the format '@provider/componentName'.");
}

if (node.GetSchemaValueType() is SchemaValueType.String)
if (node.GetValueKind() is JsonValueKind.String)
{
return new ComponentReferenceConfiguration(
provider,
Expand All @@ -58,7 +59,7 @@ public static ComponentReferenceConfiguration Parse(string key, JsonNode node)
null);
}

if (node.GetSchemaValueType() is SchemaValueType.Boolean)
if (node.GetValueKind() is JsonValueKind.True || node.GetValueKind() is JsonValueKind.False)
{
return new ComponentReferenceConfiguration(
provider,
Expand All @@ -76,7 +77,7 @@ public static ComponentReferenceConfiguration Parse(string key, JsonNode node)

var mountingPoints =
obj.TryGetNonNullPropertyValue(FieldNames.MountingPoint, out var mountingPointNode)
? mountingPointNode.GetSchemaValueType() is SchemaValueType.Array
? mountingPointNode.GetValueKind() is JsonValueKind.Array
? mountingPointNode
.ExpectArray()
.WhereNotNull()
Expand Down
Loading
Loading