Add Strickland.NuGet project and GitHub workflow for .NET package distribution
This PR adds a new Strickland.NuGet folder containing a .NET project that creates a NuGet package distribution of the Strickland JavaScript validation framework. The NuGet package includes all the transpiled JavaScript files from the npm build process, making it easy for .NET developers to include Strickland in their projects.
What's Added
Strickland.NuGet Project
-
New .NET project (
Strickland.NuGet.csproj) that builds a NuGet package named "Strickland" -
Content packaging - Includes all build results from the
strickland/lib/folder as content files - Metadata alignment - Package version, description, license, and other metadata match the npm package
- Documentation - Includes README.md, CHANGELOG.md, and package.json as content files
GitHub Workflow
-
Automated builds - New
.github/workflows/build.ymlworkflow that builds both npm and NuGet packages - Build order - Ensures npm package is built first (src → lib), then NuGet package includes those artifacts
- Artifact uploads - Saves both npm build output and NuGet package as workflow artifacts
- Cross-platform - Uses Node.js 18 and .NET 8.0 on Ubuntu
Documentation Updates
- CONTRIBUTING.md - Updated folder structure documentation to include the new Strickland.NuGet project
- Project README - Added README.md for the Strickland.NuGet project explaining its purpose and usage
- .gitignore - Added patterns to exclude .NET build artifacts (bin/, obj/, *.nupkg)
Usage
The resulting NuGet package can be installed in .NET projects and will place the Strickland JavaScript files in the project's content folder, making them available for web applications or other scenarios where the JavaScript validation framework is needed.
<PackageReference Include="Strickland" Version="2.2.0" />
The package includes all transpiled JavaScript validators and utilities that can be used in web applications alongside .NET backends.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.