Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
eb7967c
Update OC versions to preview.
sarahelsaig Jan 7, 2026
e678433
Fix miscileneous warnings.
sarahelsaig Jan 9, 2026
c8a181e
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jan 9, 2026
8e5de59
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jan 16, 2026
c8d9132
Update branch selector.
sarahelsaig Jan 19, 2026
c232f03
Update branch selectors.
sarahelsaig Jan 19, 2026
4000ca8
CompatibilitySuppressions.xml
sarahelsaig Jan 20, 2026
ddd9807
Nuget.
sarahelsaig Jan 20, 2026
ea5160f
Delete all CompatibilitySuppressions so we may start from scratch.
sarahelsaig Jan 20, 2026
c9ba646
CompatibilitySuppressions.xml
sarahelsaig Jan 20, 2026
a60cd59
Nuget.config
sarahelsaig Jan 20, 2026
e64a432
Revert
sarahelsaig Jan 20, 2026
7cab211
HL nuget
sarahelsaig Jan 22, 2026
a064a5c
Update HL nuget.
sarahelsaig Jan 23, 2026
49f5149
Update HL NuGet.
sarahelsaig Jan 28, 2026
ba31966
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jan 29, 2026
687cbf8
Update HL Nuget.
sarahelsaig Feb 5, 2026
f78c7e4
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Feb 13, 2026
8b64fd2
Update HL nuget.
sarahelsaig Feb 22, 2026
3690503
Update HL nuget correctly.
sarahelsaig Feb 22, 2026
de31868
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Feb 27, 2026
8c74c74
Update nugets.
sarahelsaig Mar 7, 2026
8724abb
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Mar 7, 2026
ef4ff09
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Mar 20, 2026
b769e10
Use Tests SDK.
sarahelsaig Mar 31, 2026
c4dfa91
Create new SLNX files.
sarahelsaig Apr 2, 2026
d6068a2
Update validate-nuget-publish.yml issue branch.
sarahelsaig Apr 2, 2026
a69fe00
Merge remote-tracking branch 'origin/dev' into issue/OSOE-1199
Apr 3, 2026
7b7503b
Remove SLN files.
sarahelsaig Apr 3, 2026
1baa8a1
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Apr 8, 2026
936c4e6
Revert "Use Tests SDK."
sarahelsaig Apr 11, 2026
7f4f0b1
Update HL Nuget.
sarahelsaig Apr 11, 2026
a1913f2
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Apr 20, 2026
a7b550c
Reapply "Use Tests SDK."
sarahelsaig Apr 24, 2026
6a2f990
Update NuGet and apply library SDK where applicable
sarahelsaig Apr 24, 2026
e07d498
Update SDK NuGet.
sarahelsaig Apr 25, 2026
eb54046
Merge remote-tracking branch 'origin/issue/OSOE-1208' into issue/OSOE…
sarahelsaig Apr 25, 2026
c12e4a4
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Apr 25, 2026
57986db
Merge remote-tracking branch 'origin/issue/OSOE-925' into issue/OSOE-…
sarahelsaig Apr 25, 2026
8e594bc
Merge remote-tracking branch 'origin/issue/OSOE-1208' into issue/OSOE…
sarahelsaig Apr 25, 2026
6c5fee9
Fix static code analysis warnings.
sarahelsaig Apr 26, 2026
9e01709
Merge pull request #38 from Lombiq/issue/OSOE-1199
DemeSzabolcs Apr 27, 2026
63995c6
Update GHA branch selectors.
sarahelsaig Apr 27, 2026
228ca93
Update SDKs.
sarahelsaig May 16, 2026
6cd72f8
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig May 16, 2026
ee67b05
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig May 24, 2026
e638451
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jun 13, 2026
e924e34
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jun 20, 2026
e02073b
gitignore
sarahelsaig Jun 20, 2026
d320249
Try something.
sarahelsaig Jun 24, 2026
1af4cdb
revert
sarahelsaig Jun 24, 2026
40d8d88
Try to fix IDE0055 warnings.
sarahelsaig Jun 24, 2026
9f104d0
Update version.
sarahelsaig Jun 24, 2026
2bd74a3
nuget
sarahelsaig Jun 24, 2026
561a2d6
Update Lombiq.MSBuild
sarahelsaig Jun 26, 2026
ec5806d
Update HL NuGet.
sarahelsaig Jun 26, 2026
e09702d
nuget
sarahelsaig Jun 27, 2026
90191cc
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jun 27, 2026
e0cb606
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jul 2, 2026
20dcedd
Merge remote-tracking branch 'origin/dev' into issue/OSOE-925
sarahelsaig Jul 10, 2026
016d110
Update NuGet versions.
sarahelsaig Jul 12, 2026
6a3e529
Update SDK
sarahelsaig Jul 12, 2026
8f9cd34
Update SDK NuGet.
sarahelsaig Jul 13, 2026
027978c
skip test temporarily
sarahelsaig Jul 15, 2026
969838f
Display node_modules contents.
sarahelsaig Jul 15, 2026
ec7fc0f
more logs
sarahelsaig Jul 15, 2026
41a1a63
Better logging.
sarahelsaig Jul 15, 2026
acbdd01
include node_modules to git.
sarahelsaig Jul 15, 2026
2508952
revert
sarahelsaig Jul 15, 2026
564a4ec
Make Libman integration available for all SDKs.
sarahelsaig Jul 15, 2026
702535d
Make AddVendors configurable.
sarahelsaig Jul 15, 2026
e6b055a
Update SDK NuGet
sarahelsaig Jul 17, 2026
9016aee
revert all branch selectors
sarahelsaig Jul 18, 2026
a89a732
Update SDK to release version.
sarahelsaig Jul 18, 2026
3abd6b8
Use PackageVersionLombiqHelpfulLibraries
sarahelsaig Jul 18, 2026
d42aae8
Try to fix nuget packaging.
sarahelsaig Jul 19, 2026
faaa59c
Restore AddNodeModules
sarahelsaig Jul 19, 2026
42c7fe9
Not actually needed.
sarahelsaig Jul 19, 2026
5eec2c4
Try to fix AddNodeModules.
sarahelsaig Jul 19, 2026
477a4e7
Try removing custom AddNodeModules target.
sarahelsaig Jul 19, 2026
0598a4c
Use fixed Lombiq.MSBuild.Library.Sdk.
sarahelsaig Jul 19, 2026
8c92a94
Copy the files after the fact.
sarahelsaig Jul 19, 2026
b95268b
Update SDK nuget.
sarahelsaig Jul 19, 2026
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ wwwroot/
node_modules/
*.user
.pnpm-debug.log
*.orig

# Mac
.DS_Store
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
</ItemGroup>
<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.Library.Sdk/Sdk/Import.props" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.props" Sdk="Lombiq.MSBuild.Library.Sdk" Version="2.0.1" />

<ItemGroup>
<ProjectReference Include="..\Lombiq.EInvoiceValidator\Lombiq.EInvoiceValidator.csproj" />
Expand All @@ -18,4 +17,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.Library.Sdk/Sdk/Import.targets" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.targets" Sdk="Lombiq.MSBuild.Library.Sdk" Version="2.0.1" />
</Project>
7 changes: 3 additions & 4 deletions Lombiq.EInvoiceValidator.Benchmark/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
var invoiceValidationService = serviceProvider.GetRequiredService<IInvoiceValidationService>();

// Start the benchmark.
await ValidationBenchmarkHelpers.RunBenchMarkAsync(
async stream =>
// Step 2. Validate the eInvoice XML file read into a stream using the helper method.
await invoiceValidationService.ValidateInvoiceAsync(stream));
// Step 2. Validate the eInvoice XML file read into a stream using the helper method.
await ValidationBenchmarkHelpers.RunBenchMarkAsync(async stream =>
await invoiceValidationService.ValidateInvoiceAsync(stream));
Original file line number Diff line number Diff line change
@@ -1,30 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.Library.Sdk/Sdk/Import.props" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.props" Sdk="Lombiq.MSBuild.Library.Sdk" Version="2.0.1" />

<PropertyGroup>
<Title>Lombiq eInvoice Validator Sample</Title>
<Authors>Lombiq Technologies</Authors>
<Copyright>Copyright © 2025, Lombiq Technologies Ltd.</Copyright>
<Description>Lombiq eInvoice Validator Sample: Sample console application to showcase the Lombiq eInvoice Validator. See the project website for detailed documentation.</Description>
<PackageIcon>NuGetIcon.png</PackageIcon>
<CopyrightYear>2025</CopyrightYear>
<DescriptionBody>Sample console application to showcase the Lombiq eInvoice Validator. See the project website for detailed documentation.</DescriptionBody>
<PackageTags>OrchardCore;Lombiq;AspNetCore;EN16931;eInvoice;XML;UBL;CII</PackageTags>
<RepositoryUrl>https://github.com/Lombiq/eInvoice-Validator</RepositoryUrl>
<PackageProjectUrl>https://github.com/Lombiq/eInvoice-Validator/Lombiq.EInvoiceValidator.Sample/Readme.md</PackageProjectUrl>
<PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression>
</PropertyGroup>

<ItemGroup>
<None Include="Readme.md" />
<None Include="NuGetIcon.png" Pack="true" PackagePath="" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Lombiq.EInvoiceValidator\Lombiq.EInvoiceValidator.csproj" />
</ItemGroup>
Expand All @@ -33,8 +24,11 @@
<None Update="SampleInvoices\**\*.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Pack>true</Pack>
<PackagePath>contentFiles\any\any</PackagePath>
<PackagePath>contentFiles\any\$(TargetFramework)</PackagePath>
<PackageCopyToOutput>true</PackageCopyToOutput>
</None>
</ItemGroup>

<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.Library.Sdk/Sdk/Import.targets" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.targets" Sdk="Lombiq.MSBuild.Library.Sdk" Version="2.0.1" />
</Project>
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
<PackageReference Include="xunit.v3" Version="3.2.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.OrchardCore.Tests.Sdk/Sdk/Import.props" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.props" Sdk="Lombiq.MSBuild.OrchardCore.Tests.Sdk" Version="2.0.1" />

<ItemGroup>
<ProjectReference Include="..\..\..\..\test\Lombiq.Tests\Lombiq.Tests.csproj" />
<ProjectReference Include="..\Lombiq.EInvoiceValidator\Lombiq.EInvoiceValidator.csproj" />
</ItemGroup>

Expand All @@ -25,4 +16,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.OrchardCore.Tests.Sdk/Sdk/Import.targets" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.targets" Sdk="Lombiq.MSBuild.OrchardCore.Tests.Sdk" Version="2.0.1" />
</Project>
36 changes: 36 additions & 0 deletions Lombiq.EInvoiceValidator.Tests/Tests/ValidatorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@
using Microsoft.Extensions.DependencyInjection;
using Shouldly;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Xunit;

namespace Lombiq.EInvoiceValidator.Tests.Tests;

public class ValidatorTests
{
private readonly ITestOutputHelper _testOutputHelper;

public static TheoryData<string> InvoiceFilePaths
{
get
Expand All @@ -25,10 +28,24 @@ public static TheoryData<string> InvoiceFilePaths
}
}

public ValidatorTests(ITestOutputHelper testOutputHelper) =>
_testOutputHelper = testOutputHelper;

[Theory]
[MemberData(nameof(InvoiceFilePaths))]
public async Task TestInvoiceValidation(string filePath)
{
var directoryTree = new StringBuilder("node_modules directory contents:\n");
var directoryInfo = new DirectoryInfo("node_modules");

if (!directoryInfo.Exists)
{
throw new DirectoryNotFoundException($"The directory \"{directoryInfo.FullName}\" does not exist!");
}

WriteTree(directoryTree, directoryInfo, depth: 0);
_testOutputHelper.WriteLine(directoryTree.ToString());

var services = new ServiceCollection();
services.AddEInvoiceValidationServices();
var serviceProvider = services.BuildServiceProvider();
Expand All @@ -49,4 +66,23 @@ public async Task TestInvoiceValidation(string filePath)
result.Successful.ShouldBeTrue($"{filePath} should pass validation but did not.");
}
}

private static void WriteTree(StringBuilder builder, DirectoryInfo info, int depth)
{
builder.Append(new string(' ', 2 * depth));
builder.AppendLine(info.Name);

var nextDepth = depth + 1;

foreach (var child in info.GetDirectories())
{
WriteTree(builder, child, nextDepth);
}

foreach (var child in info.GetFiles())
{
builder.Append(new string(' ', 2 * nextDepth));
builder.AppendLine(child.Name);
}
}
}
22 changes: 0 additions & 22 deletions Lombiq.EInvoiceValidator.sln

This file was deleted.

4 changes: 4 additions & 0 deletions Lombiq.EInvoiceValidator.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<Solution>
<Project Path="Lombiq.EInvoiceValidator.Sample/Lombiq.EInvoiceValidator.Sample.csproj" />
<Project Path="Lombiq.EInvoiceValidator/Lombiq.EInvoiceValidator.csproj" />
</Solution>
40 changes: 12 additions & 28 deletions Lombiq.EInvoiceValidator/Lombiq.EInvoiceValidator.csproj
Original file line number Diff line number Diff line change
@@ -1,27 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">

<Project>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<DefaultItemExcludes>$(DefaultItemExcludes);.git*</DefaultItemExcludes>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<LombiqMSBuildLibManTarget>node_modules</LombiqMSBuildLibManTarget>
</PropertyGroup>

<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.Library.Sdk/Sdk/Import.props" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.props" Sdk="Lombiq.MSBuild.Library.Sdk" Version="2.0.1" />

<PropertyGroup>
<Title>Lombiq eInvoice Validator</Title>
<Authors>Lombiq Technologies</Authors>
<Copyright>Copyright © 2025, Lombiq Technologies Ltd.</Copyright>
<Description>Lombiq eInvoice Validator: Adds validation for EU eInvoices that follow the EN 16931 standard. See the project website for detailed documentation.</Description>
<PackageIcon>NuGetIcon.png</PackageIcon>
<CopyrightYear>2025</CopyrightYear>
<DescriptionBody>Adds validation for EU eInvoices that follow the EN 16931 standard. See the project website for detailed documentation.</DescriptionBody>
<PackageTags>OrchardCore;Lombiq;AspNetCore;EN16931;eInvoice;XML;UBL;CII</PackageTags>
<RepositoryUrl>https://github.com/Lombiq/eInvoice-Validator</RepositoryUrl>
<PackageProjectUrl>https://github.com/Lombiq/eInvoice-Validator</PackageProjectUrl>
<PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression>
</PropertyGroup>

<ItemGroup>
<None Include="../Readme.md" />
<None Include="NuGetIcon.png" Pack="true" PackagePath="" />

<None Remove="SchemaFiles\CII\*.xsd" />
<EmbeddedResource Include="SchemaFiles\CII\*.xsd" />
<None Remove="SchemaFiles\UBL\common\*.xsd" />
Expand All @@ -35,7 +30,7 @@
<Content Include="validator.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Pack>true</Pack>
<PackagePath>contentFiles\any\any</PackagePath>
<PackagePath>contentFiles\any\$(TargetFramework)</PackagePath>
<PackageCopyToOutput>true</PackageCopyToOutput>
</Content>

Expand All @@ -47,27 +42,16 @@

<ItemGroup>
<PackageReference Include="Jering.Javascript.NodeJS" Version="7.0.0" />
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="3.0.114" />
</ItemGroup>

<ItemGroup Condition="'$(NuGetBuild)' == 'true'">
<PackageReference Include="Lombiq.HelpfulLibraries.OrchardCore" Version="12.5.0" />
<PackageReference Include="Lombiq.HelpfulLibraries.OrchardCore" Version="$(PackageVersionLombiqHelpfulLibraries)" />
</ItemGroup>

<ItemGroup Condition="'$(NuGetBuild)' != 'true'">
<ProjectReference Include="..\..\Lombiq.HelpfulLibraries\Lombiq.HelpfulLibraries.OrchardCore\Lombiq.HelpfulLibraries.OrchardCore.csproj" />
</ItemGroup>

<!-- Needed for projects that uses this project by a NuGet package. -->
<Target Name="AddNodeModules" AfterTargets="LibraryManagerRestore" Condition="'$(NuGetBuild)' == 'true'">
<ItemGroup>
<Content Include="node_modules\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Pack>true</Pack>
<PackagePath>contentFiles\any\any\node_modules</PackagePath>
<PackageCopyToOutput>true</PackageCopyToOutput>
</Content>
</ItemGroup>
</Target>

<Import Condition="'$(NuGetBuild)' != 'true'" Project="../../../Utilities/Lombiq.MSBuild.Targets/Lombiq.MSBuild.Library.Sdk/Sdk/Import.targets" />
<Import Condition="'$(NuGetBuild)' == 'true'" Project="Sdk.targets" Sdk="Lombiq.MSBuild.Library.Sdk" Version="2.0.1" />
</Project>
18 changes: 18 additions & 0 deletions Lombiq.EInvoiceValidator/build/Lombiq.EInvoiceValidator.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project>

<PropertyGroup>
<IncludeNodeModulesBaseDir>$(MSBuildThisFileDirectory)..\contentFiles\any\net10.0\</IncludeNodeModulesBaseDir>
</PropertyGroup>

<Target Name="IncludeNodeModules" BeforeTargets="Build">
<ItemGroup>
<IncludeNodeModulesFiles Include="$(IncludeNodeModulesBaseDir)**\*.*"/>
</ItemGroup>

<Copy
SourceFiles="@(IncludeNodeModulesFiles)"
DestinationFiles="$(TargetDir)%(RecursiveDir)%(Filename)%(Extension)"
SkipUnchangedFiles="true"/>
</Target>

</Project>
10 changes: 10 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!-- Ignore global configuration -->
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="OrchardCorePreview" value="https://nuget.cloudsmith.io/orchardcore/preview/v3/index.json" />
<add key="Lombiq" value="https://nuget.cloudsmith.io/lombiq/open-source-orchard-core-extensions/v3/index.json" />
</packageSources>
</configuration>
Loading