diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index f12b996..186c450 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,14 +3,14 @@ "isRoot": true, "tools": { "nbgv": { - "version": "3.7.115", + "version": "3.9.50", "commands": [ "nbgv" ], "rollForward": false }, "csharpier": { - "version": "1.1.2", + "version": "1.2.1", "commands": [ "csharpier" ], diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1da7778..79fafee 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,22 +3,18 @@ { "name": "C# (.NET)", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/debian:bullseye", - "customizations": { - "vscode": { - "extensions": [ - "ms-dotnettools.csdevkit", - "ms-dotnettools.csharp", - "csharpier.csharpier-vscode" - ] - } - }, + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", // Features to add to the dev container. More info: https://containers.dev/features. "features": { + // https://github.com/devcontainers/features/tree/main/src/dotnet "ghcr.io/devcontainers/features/dotnet:2": { "version": "lts", - "additionalDotnetVersions": "8.0, 7.0, 6.0" + "additionalVersions": "10.0, 9.0, 8.0" } + }, + "containerEnv": { + // disable Git Versioning in the container + "NBGV_GitEngine": "Disabled" } // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [5000, 5001], diff --git a/.github/workflows/dependabot-merge.yaml b/.github/workflows/dependabot-merge.yaml index df45a4a..a1b8ef1 100644 --- a/.github/workflows/dependabot-merge.yaml +++ b/.github/workflows/dependabot-merge.yaml @@ -16,7 +16,7 @@ jobs: with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Enable auto-merge for Dependabot PRs - run: gh pr merge --auto --merge "$PR_URL" + run: gh pr merge --auto --squash "$PR_URL" env: PR_URL: ${{github.event.pull_request.html_url}} GH_TOKEN: ${{secrets.GITHUB_TOKEN}} \ No newline at end of file diff --git a/.github/workflows/release-github.yaml b/.github/workflows/release-github.yaml deleted file mode 100644 index ff6b547..0000000 --- a/.github/workflows/release-github.yaml +++ /dev/null @@ -1,60 +0,0 @@ -name: Release Package to GitHub - -on: - workflow_dispatch: - push: - branches: - - release/* - paths: - - '**.csproj' - - '**.cs' - - '**.razor' - - '**.yaml' - -permissions: - contents: write - -jobs: - release-github: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: | - 10.x - 9.x - 8.x - cache: true - cache-dependency-path: '**/packages.lock.json' - - - uses: dotnet/nbgv@master - id: nbgv - - - name: Restore dependencies - run: dotnet restore --locked-mode - - - name: Build - run: dotnet build --no-restore -c Release - - - name: Generate Nuget Package - run: dotnet pack --no-build -c Release --output ./artifacts - - - name: Create Release - id: create_release - uses: softprops/action-gh-release@v1 - with: - name: ${{ steps.nbgv.outputs.SemVer2 }} - tag_name: ${{ steps.nbgv.outputs.SemVer2 }} - target_commitish: ${{ github.ref }} - generate_release_notes: true - files: ./artifacts/*.nupkg - # if hyphen contains in the tag name, it will be prerelease - prerelease: ${{ contains(steps.nbgv.outputs.SemVer2, '-') }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 892f848..76506f3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,27 +1,42 @@ -name: Release Package to NuGet +name: Package Release to GitHub and Nuget on: workflow_dispatch: + push: + branches: + - release/* +permissions: + contents: write + +env: + DOTNET_VERSION: '10.0.x' + jobs: - release-nuget: + package-build: runs-on: ubuntu-latest + outputs: + VERSION: ${{ steps.version.outputs.VERSION }} steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: - dotnet-version: | - 10.x - 9.x - 8.x + dotnet-version: ${{ env.DOTNET_VERSION }} cache: true cache-dependency-path: '**/packages.lock.json' - + + - uses: dotnet/nbgv@master + id: nbgv + + - name: export version to env + id: version + run: echo "VERSION=${{ steps.nbgv.outputs.SemVer2 }}" >> $GITHUB_ENV + - name: Restore dependencies run: dotnet restore --locked-mode @@ -30,6 +45,47 @@ jobs: - name: Generate Nuget Package run: dotnet pack --no-build -c Release --output ./artifacts + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: nuget-packages + path: ./artifacts/*.nupkg + retention-days: 1 + + release-github: + runs-on: ubuntu-latest + needs: package-build + steps: + - name: Download Artifacts + uses: actions/download-artifact@v5 + with: + name: nuget-packages + path: ./artifacts + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v2 + with: + name: ${{ needs.package-build.outputs.VERSION }} + tag_name: ${{ needs.package-build.outputs.VERSION }} + target_commitish: ${{ github.ref }} + generate_release_notes: true + files: ./artifacts/*.nupkg + # if hyphen contains in the tag name, it will be prerelease + prerelease: ${{ contains(needs.package-build.outputs.VERSION, '-') }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + release-nuget: + runs-on: ubuntu-latest + needs: package-build + steps: + - name: Download Artifacts + uses: actions/download-artifact@v5 + with: + name: nuget-packages + path: ./artifacts - name: Publish Nuget Package run: dotnet nuget push ./artifacts/*.nupkg --source https://api.nuget.org/v3/index.json --api-key $NUGET_API_KEY diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 7bd0770..e5e0d81 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -8,6 +8,9 @@ on: - '**.cs' - '**.razor' - '**.yaml' + # for auto mergie + - '**/package*.json' + - '**/dotnet-tools.json' jobs: test: @@ -38,4 +41,4 @@ jobs: run: dotnet build --no-restore - name: Run tests - run: dotnet test --no-build --verbosity normal \ No newline at end of file + run: dotnet test --no-build --verbosity normal diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 147ed7f..be39fdd 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,5 +1,7 @@ { "recommendations": [ + "ms-dotnettools.csdevkit", + "ms-dotnettools.csharp", "csharpier.csharpier-vscode" ] } \ No newline at end of file diff --git a/assets/blazorlocaltime.png b/assets/blazorlocaltime.png new file mode 100644 index 0000000..074ad64 Binary files /dev/null and b/assets/blazorlocaltime.png differ diff --git a/assets/blazorlocaltime_512.png b/assets/blazorlocaltime_512.png new file mode 100644 index 0000000..41d1ddf Binary files /dev/null and b/assets/blazorlocaltime_512.png differ diff --git a/example/BlazorLocalTimeSample/BlazorLocalTimeSample.csproj b/example/BlazorLocalTimeSample/BlazorLocalTimeSample.csproj index 1df70fc..3a3ec80 100644 --- a/example/BlazorLocalTimeSample/BlazorLocalTimeSample.csproj +++ b/example/BlazorLocalTimeSample/BlazorLocalTimeSample.csproj @@ -5,19 +5,19 @@ enable - + - - - + + + diff --git a/src/BlazorLocalTime/BlazorLocalTime.csproj b/src/BlazorLocalTime/BlazorLocalTime.csproj index 2a4296d..c02bfca 100644 --- a/src/BlazorLocalTime/BlazorLocalTime.csproj +++ b/src/BlazorLocalTime/BlazorLocalTime.csproj @@ -20,10 +20,10 @@ /> - + diff --git a/src/BlazorLocalTime/packages.lock.json b/src/BlazorLocalTime/packages.lock.json index 11efc75..8d1b807 100644 --- a/src/BlazorLocalTime/packages.lock.json +++ b/src/BlazorLocalTime/packages.lock.json @@ -4,28 +4,28 @@ "net10.0": { "Microsoft.AspNetCore.Components.Web": { "type": "Direct", - "requested": "[10.0.0-rc.1.25451.107, )", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "cVTYnPyUdEc/D0b5+adwo2KxTBmqDOFd7aa9Pw14liicqbf1hUOfPADt3DohV52BUsW9NwPRztLL8kVPWeV0Bg==", + "requested": "[10.*, )", + "resolved": "10.0.0", + "contentHash": "TAv9+cOrU27YPKuHE7AlG2UBWtTWivvcDHmfdN2yngzQFtas+3p2IBDAF6odNfOJiW3Cs1lHwzqLAoNw5Sc59Q==", "dependencies": { - "Microsoft.AspNetCore.Components": "10.0.0-rc.1.25451.107", - "Microsoft.AspNetCore.Components.Forms": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.DependencyInjection": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Primitives": "10.0.0-rc.1.25451.107", - "Microsoft.JSInterop": "10.0.0-rc.1.25451.107" + "Microsoft.AspNetCore.Components": "10.0.0", + "Microsoft.AspNetCore.Components.Forms": "10.0.0", + "Microsoft.Extensions.DependencyInjection": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0", + "Microsoft.JSInterop": "10.0.0" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Direct", - "requested": "[10.0.0-rc.1.25451.107, )", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "Wm2HfC0GlWExQmJajq85FHM9iHEOm61Z1c2YLivbzI6R5eT+TTSyfk3RHUra4oBU+oj1XhOIQ5hLW6Kg2r85tg==" + "requested": "[10.*, )", + "resolved": "10.0.0", + "contentHash": "L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==" }, "Nerdbank.GitVersioning": { "type": "Direct", "requested": "[3.*, )", - "resolved": "3.8.118", - "contentHash": "cRaG+ICcECG+CzbtQyUV2WftH7yl2B02AjYGGNScXx8TwYavZYwhCewBTiC0qTcsac7m6AzBUYna5xzBWmTGYw==" + "resolved": "3.9.50", + "contentHash": "HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA==" }, "PolySharp": { "type": "Direct", @@ -41,157 +41,157 @@ }, "Microsoft.AspNetCore.Authorization": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "rOEeQW4pIn/C/olu/bAAvQ9dUo0+Rz1t7K7bBHpOHbpWVLX2/Zss1ikhvRuCnuKloHSnluU++sM9q/2NYdJAaQ==", + "resolved": "10.0.0", + "contentHash": "8qUwBAtUj9kX8RwqEPGJu3zGM/GlwF2bR9gsxk/+kiSmCB6aDYlYF7E2gM9VOYS9NDF6zxTSEgJxwD9kFbu8Sw==", "dependencies": { - "Microsoft.AspNetCore.Metadata": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Diagnostics": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Options": "10.0.0-rc.1.25451.107" + "Microsoft.AspNetCore.Metadata": "10.0.0", + "Microsoft.Extensions.Diagnostics": "10.0.0", + "Microsoft.Extensions.Logging.Abstractions": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0" } }, "Microsoft.AspNetCore.Components": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "yV7i50dpK5iZF7AQ+NZ7KcQsBs7I6YKC4LDjldxAlWvA9aF+/NGLwXlDhUZlYXjt8ypAhZrl9xaVVIerAb8v9g==", + "resolved": "10.0.0", + "contentHash": "ljLBmYTPkIe/WhOn/y3kpMCJ4A/xg76H/SRm9XkoOBqlM96Ntcbr+WFJqV/0bEqjaUqQYIMITPnJXrVJ242cWQ==", "dependencies": { - "Microsoft.AspNetCore.Authorization": "10.0.0-rc.1.25451.107", - "Microsoft.AspNetCore.Components.Analyzers": "10.0.0-rc.1.25451.107" + "Microsoft.AspNetCore.Authorization": "10.0.0", + "Microsoft.AspNetCore.Components.Analyzers": "10.0.0" } }, "Microsoft.AspNetCore.Components.Analyzers": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "gys8QIdJXKzxbQw+143PubTDAwi078Nvs1orpAluSIFsyF8zCg894J0Ie4Mf35RHgXAqDgf6raWYsrWwpiNVbg==" + "resolved": "10.0.0", + "contentHash": "5j9dQ/U51yLLKo8hKJOU7uTPppPsjLTua0PFzRotaePcmz7M9W7pM69pBXDEgkBfGD1tp2ufH0zHRHkwg1ikDg==" }, "Microsoft.AspNetCore.Components.Forms": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "ZTio9zIV9jwDN92AaDH9r1Fw7Nw1ncf/0TI4E1L8Ln0uLOvey+lw/VZtjC0/LfpcwYpfs7KWQeP04TecVO2KOQ==", + "resolved": "10.0.0", + "contentHash": "5kMwH8DqYFfUpyMNv+IzIoDHxR8fHTPKeJeFNAyjY5tMxo3yyM7ezmuYNcVt9QJ+6K2soHQjBnCvFs8yNd3UGQ==", "dependencies": { - "Microsoft.AspNetCore.Components": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Validation": "10.0.0-rc.1.25451.107" + "Microsoft.AspNetCore.Components": "10.0.0", + "Microsoft.Extensions.Validation": "10.0.0" } }, "Microsoft.AspNetCore.Metadata": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "atTSbLXw1CVPA3IwY2tsnu0q8wmVQJIBRZvXBn7V4TZ1+NkyybHHE4FSCtTGlR7+X2mXOK+qwb6doudgOFiyBQ==" + "resolved": "10.0.0", + "contentHash": "uMXReBNxJKabrdoxHn4LNDTlGQFGDPtntlVvqo/b0HaxJzeDAIMFXJJ64mufJCNRuQU/Pus8ngcTZErvnsh7vg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "pyIiy0uo0i2pM1IPTHf9X/sy1lOxRjAPuj7TAHlt+prfEvurKOXVdTrK41Xmr4e6mScWdesoOVpIoAhgP/N5BQ==", + "resolved": "10.0.0", + "contentHash": "H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Primitives": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "NOCQeNLsBMq0rdmZAWMWMEepO+/4iV6zBO2iyOBAzwtR1kZCVjrm/p4Z2Vda7IycOLEJKkcXfjN+oeqXH8mcFw==", + "resolved": "10.0.0", + "contentHash": "d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "leKQmXsApCae6Mp65B29INCh3IFEALvpvKNAmcNV1GcwgAxZaDFVS6WbOQegkYLvTAX2G3DT5KE0skI8jy1kig==", + "resolved": "10.0.0", + "contentHash": "tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "LyE1mwZNT30J/6ygkZZm6QlDRaKpwQf5dHkREGAlJQr75kz1VGx0RI/cxa6kevnuYaLNE5UtgtGT2Amp+dFT1Q==", + "resolved": "10.0.0", + "contentHash": "f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "tuZIsk+xd+/jdBOhfjtJMnjnl6qNitUrx6WO7qUUCyJ5vMZiEaDW0XXdVWtvefUs08inp6fdYoL0+PBlHCtrAQ==", + "resolved": "10.0.0", + "contentHash": "xjkxIPgrT0mKTfBwb+CVqZnRchyZgzKIfDQOp8z+WUC6vPe3WokIf71z+hJPkH0YBUYJwa7Z/al1R087ib9oiw==", "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.Configuration": "10.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "rskaFEs+RNVX8AXFeC3QqjS9O5cMjYsyHLGt/3SV5IYXIJdIA+iy3W8/fVsJED0ydkssEkftewhiTCOqh1DM3w==", + "resolved": "10.0.0", + "contentHash": "SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Options": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "RwlHkxMbkgvKs5m0jfguF+a6nZH1qaJVC63cSAODNLMVyX22VumSWwDBgnzFTB3oUHfOnQgLmtEK1U/eEQRLLQ==", + "resolved": "10.0.0", + "contentHash": "FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" } }, "Microsoft.Extensions.Options": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "lM7V/A39nKSh7kdTqqh8yRCEvgw1P3X0odWd5o7A94j/Ln8xT+1kV60MTP/i78jaa4FNDhFfYE7yao5T84aQZg==", + "resolved": "10.0.0", + "contentHash": "8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Primitives": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "6G5VB30lHscf+GUb/e0ZNdN8/yeLzNHWDPfdk1zDVODIlDL3Lm0zcr/h0v9gatilVlKKzLno49ftwLqyhw0sbw==", + "resolved": "10.0.0", + "contentHash": "tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Configuration.Binder": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Options": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Primitives": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", + "Microsoft.Extensions.Configuration.Binder": "10.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0", + "Microsoft.Extensions.Primitives": "10.0.0" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "BNCfqG7CvhUQp7Sj8Qcr+HVNXkwV/nQfD6uS1HXXY2oO//QNpi4Mqy6IGeaIPIZIoQxykhLgPoSOJqRPCJRh/Q==" + "resolved": "10.0.0", + "contentHash": "inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==" }, "Microsoft.Extensions.Validation": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "eMFTc82o6kw6YAmU/j4VHNaeBaDCjUT49sYwA3BV7blv65aBJ2NImmpKYox7JJ3a6iB8DP0YeEq2Wiitb87DBA==", + "resolved": "10.0.0", + "contentHash": "viIKcmaf1akdhx77c+dLkODvhL+HyonHNpBsicndoi47zvbSeHJEWPOk188NnFCh+dCUz7Icld1jPMbS5E2fqw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-rc.1.25451.107", - "Microsoft.Extensions.Options": "10.0.0-rc.1.25451.107" + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.Options": "10.0.0" } }, "Microsoft.JSInterop": { "type": "Transitive", - "resolved": "10.0.0-rc.1.25451.107", - "contentHash": "cBU1SDHO0TLvEkk6QpHxLiVuZl+b1aTvMGMcyiBBq0MTQ9zOwIPic6BynANAp1r9oxX5hTf9JuZMomOB0L3Z+g==" + "resolved": "10.0.0", + "contentHash": "Qfs4KtmfMUQ/BtD4jdt753kiAa7frm1QVms8UHiFArOokoXBkBOOKE2N5APdt3BlAdTSFJNiuDFfgDzVq/3EZg==" } }, "net8.0": { "Microsoft.AspNetCore.Components.Web": { "type": "Direct", "requested": "[8.*, )", - "resolved": "8.0.20", - "contentHash": "I4gboA+JSe1cJgohZvsZYz8uZ2LAh0d68A7tY7If8h+H+QJg3aEQJd0HDtF/cD1C9QzLZCDhD0lXbi+DSvTcGA==", + "resolved": "8.0.22", + "contentHash": "b/ik4mgmL7ncHw9//7mOWnx/BwKdrNO4DUyu3xZuzSt5ABmj1BVTElOCzjLBEewCOCwUIk0LmOqDpzaoXyG/NA==", "dependencies": { - "Microsoft.AspNetCore.Components": "8.0.20", - "Microsoft.AspNetCore.Components.Forms": "8.0.20", + "Microsoft.AspNetCore.Components": "8.0.22", + "Microsoft.AspNetCore.Components.Forms": "8.0.22", "Microsoft.Extensions.DependencyInjection": "8.0.1", "Microsoft.Extensions.Primitives": "8.0.0", - "Microsoft.JSInterop": "8.0.20", + "Microsoft.JSInterop": "8.0.22", "System.IO.Pipelines": "8.0.0" } }, @@ -204,8 +204,8 @@ "Nerdbank.GitVersioning": { "type": "Direct", "requested": "[3.*, )", - "resolved": "3.8.118", - "contentHash": "cRaG+ICcECG+CzbtQyUV2WftH7yl2B02AjYGGNScXx8TwYavZYwhCewBTiC0qTcsac7m6AzBUYna5xzBWmTGYw==" + "resolved": "3.9.50", + "contentHash": "HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA==" }, "PolySharp": { "type": "Direct", @@ -221,40 +221,40 @@ }, "Microsoft.AspNetCore.Authorization": { "type": "Transitive", - "resolved": "8.0.20", - "contentHash": "295bKuC0id+di1sGf/flQHLvnlwD+9yuvd43Eq2ITEMtqfb5SxvcVA0xcXvNo/Zd3uS/VRXQGJ3CHIMlPgDwtw==", + "resolved": "8.0.22", + "contentHash": "D7GY8e30UCkjQO9z2cQ1XT/+T1CSAae+KxojcI5SRb8iKmhVjMrAyspdslGMVhS5zOnPgObUp1666BriQmzv3g==", "dependencies": { - "Microsoft.AspNetCore.Metadata": "8.0.20", + "Microsoft.AspNetCore.Metadata": "8.0.22", "Microsoft.Extensions.Logging.Abstractions": "8.0.3", "Microsoft.Extensions.Options": "8.0.2" } }, "Microsoft.AspNetCore.Components": { "type": "Transitive", - "resolved": "8.0.20", - "contentHash": "ZSgRdT6bUeq2h4jR8g3nGMy/k8e/9uQAIok8YNesgn+MiTt6szdNLCyBwKyvkUOkxtPFSiquN8Lq43WUHF86xw==", + "resolved": "8.0.22", + "contentHash": "qlW2tz9umukb/XTA+D7p+OiOz6l10rtn0jwh2A46LN8VwikutX5HbCE3pdc1x7eG2LdSKb2OLOTpdhaDp4NB3g==", "dependencies": { - "Microsoft.AspNetCore.Authorization": "8.0.20", - "Microsoft.AspNetCore.Components.Analyzers": "8.0.20" + "Microsoft.AspNetCore.Authorization": "8.0.22", + "Microsoft.AspNetCore.Components.Analyzers": "8.0.22" } }, "Microsoft.AspNetCore.Components.Analyzers": { "type": "Transitive", - "resolved": "8.0.20", - "contentHash": "n3GLOh3bLTQqxs2gDXXg+6QFF9rMtR51mS0lXbe0YtqxXtWEfj+Jdm+SOuZV2l3kZGuxxjzo6MU/LwmNA4dngw==" + "resolved": "8.0.22", + "contentHash": "Xf/+WuHI1obDwkxUb8w5P+JnaQJEau6r/fDkTvikUvTsMJOwsMAlaG67mJBx31z21jv2SGSPiOWLysBcLagcIQ==" }, "Microsoft.AspNetCore.Components.Forms": { "type": "Transitive", - "resolved": "8.0.20", - "contentHash": "b2Xj7WgiNFHxVW9lk59T9Q4xkKg1JJwgHc3O/drzfDxYs9aMOY7TRnc4rqb0a56u+4daHcEym806gO2MSQRFDg==", + "resolved": "8.0.22", + "contentHash": "QbuKgMz6oE2FR2kFvoYoXJljdp43IQoHXbqmILVPE9TJ80GlTvE6YLqqHdYInT8+gR7lP9r56AJg9n+RBGEhQA==", "dependencies": { - "Microsoft.AspNetCore.Components": "8.0.20" + "Microsoft.AspNetCore.Components": "8.0.22" } }, "Microsoft.AspNetCore.Metadata": { "type": "Transitive", - "resolved": "8.0.20", - "contentHash": "0tULF+2scqnCEDbvd6w6+wU12O3KJgTle3UsrsglJElhXI1w5otkOrfyAKk4UyWhexKUXl99ttXzScP3X3+7gA==" + "resolved": "8.0.22", + "contentHash": "Ha5M7eC//ZyBzJTc7CmUs0RJkqfBRXc38xzewR8VqZov8jURWuyaSv2XNiokjt7H77cZjQ7sLL0I/RD5JnQ/nA==" }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", @@ -288,8 +288,8 @@ }, "Microsoft.JSInterop": { "type": "Transitive", - "resolved": "8.0.20", - "contentHash": "0jdxTuYqGKmPVuiMMzz0G3k0X/hcrXWm8H1kPFzQQHoN72DDZJ+os/i2yM7CWznnvAdRkSNfCKnYJt7Q7Qhr0g==" + "resolved": "8.0.22", + "contentHash": "RmReQAbsJXtJZjQEAo2XrpZDplNmvLtysMRGbcQlLwY6A/3/HZ3Y0kR1K6aq9PK5wyF6S5AwRNny09H+L997/Q==" }, "System.IO.Pipelines": { "type": "Transitive", @@ -301,27 +301,27 @@ "Microsoft.AspNetCore.Components.Web": { "type": "Direct", "requested": "[9.*, )", - "resolved": "9.0.9", - "contentHash": "wBAFkkBtZAZ856SvqS3NTzRHqgvlcAu7gwsw74e2c0Y7Rc6/VLmO/RJNGiYMjYaex3M+sFR7zETtxiXHneXJCw==", + "resolved": "9.0.11", + "contentHash": "wU9oVKqHfP4euIpRiRHLVkmhjFXctOvRDHOMUdBRnUErUua+fE6KsIRuBvUKla6tIql9sS58wbETZnjZpnX0lw==", "dependencies": { - "Microsoft.AspNetCore.Components": "9.0.9", - "Microsoft.AspNetCore.Components.Forms": "9.0.9", - "Microsoft.Extensions.DependencyInjection": "9.0.9", - "Microsoft.Extensions.Primitives": "9.0.9", - "Microsoft.JSInterop": "9.0.9" + "Microsoft.AspNetCore.Components": "9.0.11", + "Microsoft.AspNetCore.Components.Forms": "9.0.11", + "Microsoft.Extensions.DependencyInjection": "9.0.11", + "Microsoft.Extensions.Primitives": "9.0.11", + "Microsoft.JSInterop": "9.0.11" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Direct", "requested": "[9.*, )", - "resolved": "9.0.9", - "contentHash": "/hymojfWbE9AlDOa0mczR44m00Jj+T3+HZO0ZnVTI032fVycI0ZbNOVFP6kqZMcXiLSYXzR2ilcwaRi6dzeGyA==" + "resolved": "9.0.11", + "contentHash": "+ZxxZzcVU+IEzq12GItUzf/V3mEc5nSLiXijwvDc4zyhbjvSZZ043giSZqGnhakrjwRWjkerIHPrRwm9okEIpw==" }, "Nerdbank.GitVersioning": { "type": "Direct", "requested": "[3.*, )", - "resolved": "3.8.118", - "contentHash": "cRaG+ICcECG+CzbtQyUV2WftH7yl2B02AjYGGNScXx8TwYavZYwhCewBTiC0qTcsac7m6AzBUYna5xzBWmTGYw==" + "resolved": "3.9.50", + "contentHash": "HtOgGF6jZ+WYbXnCUCYPT8Y2d6mIJo9ozjK/FINTRsXdm4Zgv9GehUMa7EFoGQkqrMcDJNOIDwCmENnvXg4UbA==" }, "PolySharp": { "type": "Direct", @@ -337,75 +337,75 @@ }, "Microsoft.AspNetCore.Authorization": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "OVUDsnJDBhCuyJtjkQXObWbBGjh4kyxL/pl/5RqtZHnSJcpEr1eD6l4vbFIdRHg4bFI59vTTrfHKQ3zwfR4KCw==", + "resolved": "9.0.11", + "contentHash": "VtzQJnpvemh+n4jjMJR+XWiupCWu+Em822orJIFF9jXRfrJET1fBTo6yWqNFnQQKqtvQ3E4Vrjq0N/bHdZR25w==", "dependencies": { - "Microsoft.AspNetCore.Metadata": "9.0.9", - "Microsoft.Extensions.Logging.Abstractions": "9.0.9", - "Microsoft.Extensions.Options": "9.0.9" + "Microsoft.AspNetCore.Metadata": "9.0.11", + "Microsoft.Extensions.Logging.Abstractions": "9.0.11", + "Microsoft.Extensions.Options": "9.0.11" } }, "Microsoft.AspNetCore.Components": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "n8hjxdgIAWTtYOu1bitWwi8HYR7OT78syKpNSzJ8jSvzv5xnJFMf7BaZCorNx+Y76CINKrG9TBNY6ovBSnNahQ==", + "resolved": "9.0.11", + "contentHash": "HIMOsBnuhcTNWBnCyugRHVgrh4iYfIM2Hl+8+8SQ6wrEIk+I2fUKa8USwV8XaMvZsjyJD7fPHaldAPoR9BNAVA==", "dependencies": { - "Microsoft.AspNetCore.Authorization": "9.0.9", - "Microsoft.AspNetCore.Components.Analyzers": "9.0.9" + "Microsoft.AspNetCore.Authorization": "9.0.11", + "Microsoft.AspNetCore.Components.Analyzers": "9.0.11" } }, "Microsoft.AspNetCore.Components.Analyzers": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "jmT0+VkIoSq3VNshj8XX44aV/oQtA82xYa7ScqmAa7I2avXgMiQZzGEbd5dmn2PjKqYvI9MlK+gLyja1TYPzzQ==" + "resolved": "9.0.11", + "contentHash": "7345cqEUev15rfdBeoBmYtUFrdHyYP/FVUbva3Q66eFTT0UuaykqWPtHmnv8R8GJZ9xntMxKhmqhySZTnth7sQ==" }, "Microsoft.AspNetCore.Components.Forms": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "peotiQv5UfocSWtP837SFvKwQ+fwJhUItY0Uo7YgeYUbajHmfTfiFaOBUfsP1uF3RkVyzAK7IGR38PuIZ0JB6g==", + "resolved": "9.0.11", + "contentHash": "emoJb7TUrOy27stNXcXv+WsyItn0Qhe4gMcZHtfIfcnErRjN2YOotCAKWezBeKvYWqaV28qsDpjxvjjcANxZGw==", "dependencies": { - "Microsoft.AspNetCore.Components": "9.0.9" + "Microsoft.AspNetCore.Components": "9.0.11" } }, "Microsoft.AspNetCore.Metadata": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "AiIVl/wZOk5TeJjQrLltG6BdZ5wNywqB+48tGxZpNL151YKuc+5/e/h1q9lthNdFGnWPHOclA3o06WfFrCGa7A==" + "resolved": "9.0.11", + "contentHash": "O0HzG5utNH6ihO632k0nHFZa8iNDmGphdgWWqeDSdN/T9n0ZOXlA5+q77DxY3nHTjNfA0KMfpykIhEI+Wmzosg==" }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "zQV2WOSP+3z1EuK91ULxfGgo2Y75bTRnmJHp08+w/YXAyekZutX/qCd88/HOMNh35MDW9mJJJxPpMPS+1Rww8A==", + "resolved": "9.0.11", + "contentHash": "UquyDzvz0EneIQrrU67GJkIgynS+VD7t+RDtNv6VgKMOFrLBjldn6hzlXppGGecFMvAkMTqn4T8RYvzw7j7fQA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.11" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "FEgpSF+Z9StMvrsSViaybOBwR0f0ZZxDm8xV5cSOFiXN/t+ys+rwAlTd/6yG7Ld1gfppgvLcMasZry3GsI9lGA==", + "resolved": "9.0.11", + "contentHash": "UKWFTDwtZQIoypyt1YPVsxTnDK+0sKn26+UeSGeNlkRQddrkt9EC6kP4g94rgO/WOZkz94bKNlF1dVZN3QfPFQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.11" } }, "Microsoft.Extensions.Options": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "loxGGHE1FC2AefwPHzrjPq7X92LQm64qnU/whKfo6oWaceewPUVYQJBJs3S3E2qlWwnCpeZ+dGCPTX+5dgVAuQ==", + "resolved": "9.0.11", + "contentHash": "HX4M3BLkW1dtByMKHDVq6r7Jy6e4hf8NDzHpIgz7C8BtYk9JQHhfYX5c1UheQTD5Veg1yBhz/cD9C8vtrGrk9w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", - "Microsoft.Extensions.Primitives": "9.0.9" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.11", + "Microsoft.Extensions.Primitives": "9.0.11" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "z4pyMePOrl733ltTowbN565PxBw1oAr8IHmIXNDiDqd22nFpYltX9KhrNC/qBWAG1/Zx5MHX+cOYhWJQYCO/iw==" + "resolved": "9.0.11", + "contentHash": "rtUNSIhbQTv8iSBTFvtg2b/ZUkoqC9qAH9DdC2hr+xPpoZrxiCITci9UR/ELUGUGnGUrF8Xye+tGVRhCxE+4LA==" }, "Microsoft.JSInterop": { "type": "Transitive", - "resolved": "9.0.9", - "contentHash": "Babc8chP50+TS4glykMYs8jDeJyqeZZLp+qFfRF1S7FReS+k2q8ufjONV/m+Pr1STA7TvAC7b/Gx0UXyjRjWHg==" + "resolved": "9.0.11", + "contentHash": "5w/W57cXjt8Ugp5COQCsv1R/wt7KzZXjbTqK4AFvgsxqmv1DFJ6OzagzJmwgp6unczFuff6t8wNi+URePV6PYQ==" } } } diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 7508098..0df905e 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -9,6 +9,7 @@ arika0093 Apache-2.0 README.md + blazorlocaltime.png true @@ -43,5 +44,6 @@ + diff --git a/tests/BlazorLocalTimeTest.Nls/BlazorLocalTimeTest.Nls.csproj b/tests/BlazorLocalTimeTest.Nls/BlazorLocalTimeTest.Nls.csproj index 5c0476c..ecdcbe9 100644 --- a/tests/BlazorLocalTimeTest.Nls/BlazorLocalTimeTest.Nls.csproj +++ b/tests/BlazorLocalTimeTest.Nls/BlazorLocalTimeTest.Nls.csproj @@ -6,7 +6,7 @@ false - + diff --git a/tests/BlazorLocalTimeTest/BlazorLocalTimeTest.csproj b/tests/BlazorLocalTimeTest/BlazorLocalTimeTest.csproj index 9007f21..4b6aeda 100644 --- a/tests/BlazorLocalTimeTest/BlazorLocalTimeTest.csproj +++ b/tests/BlazorLocalTimeTest/BlazorLocalTimeTest.csproj @@ -6,7 +6,7 @@ false - +