Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 1.63 KB

File metadata and controls

65 lines (43 loc) · 1.63 KB

Contributing

Prerequisites

  • .NET SDK 8.0+
  • Node.js 18+ (required for sample app client tooling)

Repository Layout

  • src/Fable.Remoting.OpenAPI: Core OpenAPI generator and options.
  • src/Fable.Remoting.OpenAPI.Giraffe: Giraffe adapter and remoting composition API.
  • src/Fable.Remoting.OpenAPI.Suave: Suave docs adapter/composition helpers.
  • tests/Fable.Remoting.OpenAPI: Core behavior tests.
  • tests/Fable.Remoting.OpenAPI.Adapters: Adapter parity and integration-shape tests.
  • app/: SAFE sample application.

Setup

  1. Restore .NET dependencies:

    dotnet restore ./Fable.Remoting.OpenApi.sln
  2. Build the full workspace solution:

    dotnet build ./Fable.Remoting.OpenApi.sln --no-restore

Testing

Run the package test suite:

dotnet test ./Fable.Remoting.OpenApi.sln

When changing schema rendering or endpoint examples, ensure generated output remains compatible with Fable.Remoting.Json serialization semantics.

Optional targeted test run:

dotnet test app/tests/Server/Server.Tests.fsproj

Packaging

Restore and pack publishable projects via release solution:

dotnet restore ./Release.sln
dotnet pack ./Release.sln -c Release --no-restore -o artifacts

Push packages manually:

dotnet nuget push "artifacts/*.nupkg" --source https://api.nuget.org/v3/index.json --api-key <NUGET_API_KEY> --skip-duplicate

Release Notes

Each project under src keeps release notes in a local CHANGELOG.md. EasyBuild.PackageReleaseNotes.Tasks is configured through Directory.Build.props so package release notes are populated at pack time.