Skip to content

Commit

Permalink
Merge pull request #233 from MADE-Apps/feature/fluentvalidation
Browse files Browse the repository at this point in the history
Added FluentValidation support for validators
  • Loading branch information
jamesmcroft committed Apr 27, 2022
2 parents 0bde84a + 3ced165 commit ea7492d
Show file tree
Hide file tree
Showing 21 changed files with 560 additions and 61 deletions.
7 changes: 2 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

env:
BUILD_CONFIG: 'Release'
SOLUTION: 'MADE.NET.NoSamples.slnf'
SOLUTION: 'MADE.NET.sln'

runs-on: windows-latest

Expand All @@ -55,11 +55,8 @@ jobs:
with:
dotnet-version: 6.0.x

- name: Setup NuGet
uses: NuGet/setup-nuget@v1.0.5

- name: Restore dependencies
run: nuget restore $SOLUTION
run: dotnet restore $SOLUTION

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2
Expand Down
26 changes: 0 additions & 26 deletions MADE.NET.NoSamples.slnf

This file was deleted.

122 changes: 120 additions & 2 deletions MADE.NET.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31624.102
# Visual Studio Version 17
VisualStudioVersion = 17.1.32228.430
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{01380FB8-F8A7-4416-AABA-5407574B7723}"
EndProject
Expand Down Expand Up @@ -45,6 +45,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MADE.Data.EFCore", "src\MAD
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MADE.Foundation", "src\MADE.Foundation\MADE.Foundation.csproj", "{C8DF10B0-D157-47CF-BD10-9EE1D06BEB9A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MADE.Data.Validation.FluentValidation", "src\MADE.Data.Validation.FluentValidation\MADE.Data.Validation.FluentValidation.csproj", "{BBAB544A-BFB2-4755-8F09-8E150D3638F3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MADE.Data.Validation.FluentValidation.Tests", "tests\MADE.Data.Validation.FluentValidation.Tests\MADE.Data.Validation.FluentValidation.Tests.csproj", "{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
Expand Down Expand Up @@ -1141,6 +1145,118 @@ Global
{C8DF10B0-D157-47CF-BD10-9EE1D06BEB9A}.Release|x64.Build.0 = Release|Any CPU
{C8DF10B0-D157-47CF-BD10-9EE1D06BEB9A}.Release|x86.ActiveCfg = Release|Any CPU
{C8DF10B0-D157-47CF-BD10-9EE1D06BEB9A}.Release|x86.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|Any CPU.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|ARM.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|ARM.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|ARM64.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|ARM64.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|iPhone.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|x64.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|x64.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|x86.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.AppStore|x86.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|ARM.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|ARM.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|ARM64.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|iPhone.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|x64.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|x64.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|x86.ActiveCfg = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Debug|x86.Build.0 = Debug|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|Any CPU.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|ARM.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|ARM.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|ARM64.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|ARM64.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|iPhone.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|iPhone.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|x64.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|x64.Build.0 = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|x86.ActiveCfg = Release|Any CPU
{BBAB544A-BFB2-4755-8F09-8E150D3638F3}.Release|x86.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|Any CPU.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|ARM.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|ARM.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|ARM64.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|ARM64.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|iPhone.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|x64.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|x64.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|x86.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.AppStore|x86.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|ARM.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|ARM.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|ARM64.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|iPhone.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|x64.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|x64.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|x86.ActiveCfg = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Debug|x86.Build.0 = Debug|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|Any CPU.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|ARM.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|ARM.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|ARM64.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|ARM64.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|iPhone.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|iPhone.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|x64.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|x64.Build.0 = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|x86.ActiveCfg = Release|Any CPU
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -1165,6 +1281,8 @@ Global
{1CDB43BD-71F9-46C6-816C-4EFC9FA2ED1C} = {69149D0F-BB09-411B-88F0-A1E845058D70}
{3A5D7EA4-5AD9-4D34-87E6-B34416CA928E} = {01380FB8-F8A7-4416-AABA-5407574B7723}
{C8DF10B0-D157-47CF-BD10-9EE1D06BEB9A} = {01380FB8-F8A7-4416-AABA-5407574B7723}
{BBAB544A-BFB2-4755-8F09-8E150D3638F3} = {01380FB8-F8A7-4416-AABA-5407574B7723}
{D8C1B3CC-B5BA-4946-944E-D898AB4DFF6E} = {69149D0F-BB09-411B-88F0-A1E845058D70}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3921AD86-E6C0-4436-8880-2D9EDFAD6151}
Expand Down
18 changes: 14 additions & 4 deletions docs/articles/features/data-validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ title: Using the Data Validation package

# Using the Data Validation package

The Data Validation package is designed to provide out-of-the-box data validation to applications built with C#.
The Data Validation package is designed to provide out-of-the-box data validation to applications built with C#.

## Validating an object using the ValidatorCollection

Data validation can be implemented in so many different ways. MADE provides the capability to perform data validation through its own `IValidator` interface that can be used to create consistent data validators.

Using the `MADE.Data.Validation.ValidatorCollection` based on a `List` type, you can construct a collection of `IValidator` instances which can be used to validate values.

For example, you might want a collection of validators that ensure that a value is provided, it has a minimum length, and it contains only alphanumeric characters.
For example, you might want a collection of validators that ensure that a value is provided, it has a minimum length, and it contains only alphanumeric characters.

Instead of implementing your own custom validation in your application, you can take advantage of the built-in `IValidator` implementation of this package and utilize them with the `ValidatorCollection`.

Expand Down Expand Up @@ -102,15 +102,15 @@ The implementation splits the IP address into each nibble and validates them bas

### MaxValueValidator

The `MaxValueValidator` validates an `IComparable` value is less than a configurable maximum value.
The `MaxValueValidator` validates an `IComparable` value is less than a configurable maximum value.

The maximum can be configured by setting the `Max` value.

The in-box `System` types which implement the `IComparable` interface can be [found in the Microsoft documentation](https://docs.microsoft.com/en-us/dotnet/api/system.icomparable?view=net-5.0).

### MinValueValidator

The `MinValueValidator` validates an `IComparable` value is greater than a configurable minimum value.
The `MinValueValidator` validates an `IComparable` value is greater than a configurable minimum value.

The minimum can be configured by setting the `Min` value.

Expand Down Expand Up @@ -191,3 +191,13 @@ namespace MADE.Data.Validation.Validators
```

If there is a common data validator you think is missing from MADE.NET, [raise a tracking item on GitHub](https://github.com/MADE-Apps/MADE.NET/issues/new/choose) and we'll get it implemented.

## Using FluentValidation with MADE.NET

The `MADE.Data.Validation.FluentValidation` package provides an easy way to take advantage of validation with the [FluentValidation](https://fluentvalidation.net/) library validator framework.

### Validating an object using the FluentValidatorCollection

Using the `MADE.Data.Validation.FluentValidatorCollection<T>` based on a `List` type, you can construct a collection of `AbstractValidator` instances which can be used to validate values.

This way, you can bring FluentValidation's out-of-the-box validators or your own custom validators based on the `AbstractValidator` type and get all the benefits of using the existing MADE.NET validation framework. This is great for example with input validator controls that currently support the MADE.NET validation framework!
1 change: 1 addition & 0 deletions docs/articles/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ dotnet add package MADE.Collections
| MADE.Data.Converters | [![NuGet](https://img.shields.io/nuget/v/MADE.Data.Converters)](https://www.nuget.org/packages/MADE.Data.Converters/) |
| MADE.Data.EFCore | [![NuGet](https://img.shields.io/nuget/v/MADE.Data.EFCore)](https://www.nuget.org/packages/MADE.Data.EFCore/) |
| MADE.Data.Validation | [![NuGet](https://img.shields.io/nuget/v/MADE.Data.Validation)](https://www.nuget.org/packages/MADE.Data.Validation/) |
| MADE.Data.Validation.FluentValidation | [![NuGet](https://img.shields.io/nuget/v/MADE.Data.Validation.FluentValidation)](https://www.nuget.org/packages/MADE.Data.Validation.FluentValidation/) |
| MADE.Diagnostics | [![NuGet](https://img.shields.io/nuget/v/MADE.Diagnostics)](https://www.nuget.org/packages/MADE.Diagnostics/) |
| MADE.Media.Image | [![NuGet](https://img.shields.io/nuget/v/MADE.Media.Image)](https://www.nuget.org/packages/MADE.Media.Image/) |
| MADE.Networking | [![NuGet](https://img.shields.io/nuget/v/MADE.Networking)](https://www.nuget.org/packages/MADE.Networking/) |
Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ title: Make App Development Easier
<div class="stat-container">
<div class="stat-header">
<span>
v1.4.0
v1.5.0
</span>
</div>
<div class="stat-content">
Expand All @@ -122,7 +122,7 @@ title: Make App Development Easier
<div class="stat-container">
<div class="stat-header">
<span>
225k+
275k+
</span>
</div>
<div class="stat-content">
Expand Down
2 changes: 1 addition & 1 deletion src/MADE.Collections/MADE.Collections.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="MSBuild.Sdk.Extras">

<PropertyGroup>
<TargetFrameworks>uap10.0.17763;netstandard2.0</TargetFrameworks>
<TargetFramework>netstandard2.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Product>MADE.NET Collections</Product>
<Description>
Expand Down

0 comments on commit ea7492d

Please sign in to comment.