elsa-core/doc/codebase/STACK.md

50 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# Technology Stack
## Runtime Summary
| Area | Value | Evidence |
|---|---|---|
| Primary language | C# (`LangVersion` latest) | `Directory.Build.props` |
| Runtime | .NET 8, 9, and 10 for source projects | `src/Directory.Build.props` |
| Package manager | NuGet with central package management | `Directory.Packages.props` |
| Build system | MSBuild solution with NUKE wrappers | `Elsa.sln`, `build/Build.cs`, `build.sh` |
## Production Frameworks and Dependencies
| Dependency | Version | Role | Evidence |
|---|---:|---|---|
| FastEndpoints | target-dependent 7.1.1/7.2.0 | HTTP endpoint framework | `Directory.Packages.props` |
| Entity Framework Core | target-dependent 9.0.17/10.0.9 | Durable relational persistence | `Directory.Packages.props` |
| Microsoft.Extensions.Logging | target-dependent 9.0.17/10.0.9 | Application logging | `Directory.Packages.props` |
## Development Toolchain
| Tool | Purpose | Evidence |
|---|---|---|
| xUnit 2.9.3 | Test framework | `Directory.Packages.props`, `test/Directory.Build.props` |
| NSubstitute 5.3.0 | Test doubles | `Directory.Packages.props` |
| coverlet | Coverage with a 10% project threshold | `test/Directory.Build.props` |
## Key Commands
```bash
dotnet build Elsa.sln
dotnet test Elsa.sln
dotnet test test/integration/Elsa.ExternalAuthentication.IntegrationTests/Elsa.ExternalAuthentication.IntegrationTests.csproj
./build.sh Test
```
## Environment and Config
- ASP.NET Core applications use `appsettings*.json` and environment-variable overrides.
- Production source enables nullable reference types and implicit usings.
- External Authentication supports in-memory defaults and optional EF Core providers.
## Evidence
- `Directory.Build.props`
- `src/Directory.Build.props`
- `test/Directory.Build.props`
- `Directory.Packages.props`