Files
jdescopingtool/DOCUMENTATION/Architecture/Dependencies.md
T
Joseph Doherty 26ff8d9b4f Initial commit: JDE Scoping Tool migration project
Set up repository with legacy .NET Framework 4.8 source (OLD/),
new .NET 10 Blazor solution (NEW/), OpenSpec specifications,
documentation, and project configuration.
2026-01-02 07:43:29 -05:00

96 lines
3.2 KiB
Markdown

# Package Dependencies
All packages are free with MIT, Apache, or similar permissive licenses.
## JdeScoping.Host
| Package | Purpose | License |
|---------|---------|---------|
| `Microsoft.Extensions.Hosting.WindowsServices` | Windows Service support | MIT |
| `Microsoft.AspNetCore.SignalR` | Real-time updates | MIT |
## JdeScoping.Client
| Package | Purpose | License |
|---------|---------|---------|
| `Microsoft.AspNetCore.Components.WebAssembly` | Blazor WASM runtime | MIT |
| `Microsoft.AspNetCore.Components.WebAssembly.DevServer` | Dev server (dev only) | MIT |
| `Microsoft.AspNetCore.SignalR.Client` | SignalR client | MIT |
| `Radzen.Blazor` | UI components | MIT (free tier) |
## JdeScoping.Core
| Package | Purpose | License |
|---------|---------|---------|
| `Dapper` | Micro-ORM | Apache 2.0 |
| `Microsoft.Data.SqlClient` | SQL Server driver | MIT |
| `Oracle.ManagedDataAccess.Core` | Oracle driver | Oracle Free Use |
| `ClosedXML` | Excel generation | MIT |
| `System.DirectoryServices.Protocols` | LDAP authentication | MIT |
| `Cronos` | Cron expression parsing | MIT |
| `Microsoft.Extensions.Options` | Options pattern | MIT |
| `Microsoft.Extensions.Configuration.Abstractions` | Configuration abstractions | MIT |
## JdeScoping.Database
| Package | Purpose | License |
|---------|---------|---------|
| `dbup-sqlserver` | SQL Server database migrations | MIT |
## JdeScoping.Tests
| Package | Purpose | License |
|---------|---------|---------|
| `xunit` | Test framework | Apache 2.0 |
| `xunit.runner.visualstudio` | VS test runner | Apache 2.0 |
| `Microsoft.NET.Test.Sdk` | Test SDK | MIT |
| `Shouldly` | Assertions | BSD |
| `NSubstitute` | Mocking | BSD |
| `Microsoft.AspNetCore.Mvc.Testing` | Integration tests | MIT |
## Packages Explicitly Avoided
| Package | Reason |
|---------|--------|
| `FluentAssertions` | Commercial license since v6 |
| `EPPlus` (v5+) | Commercial license since v5 |
| `Kendo UI` | Commercial license, replaced by Radzen |
## Version Considerations
- Target **.NET 10** (LTS when released, currently .NET 9 is latest)
- Use latest stable versions of all packages
- `Oracle.ManagedDataAccess.Core` v3.x for .NET 6+ support
- `Radzen.Blazor` v5.x for .NET 8+ Blazor features
## Package Installation
```bash
# Host project
dotnet add src/JdeScoping.Host package Microsoft.Extensions.Hosting.WindowsServices
# Client project
dotnet add src/JdeScoping.Client package Radzen.Blazor
dotnet add src/JdeScoping.Client package Microsoft.AspNetCore.SignalR.Client
# Core project
dotnet add src/JdeScoping.Core package Dapper
dotnet add src/JdeScoping.Core package Microsoft.Data.SqlClient
dotnet add src/JdeScoping.Core package Oracle.ManagedDataAccess.Core
dotnet add src/JdeScoping.Core package ClosedXML
dotnet add src/JdeScoping.Core package Cronos
# Test project
dotnet add tests/JdeScoping.Tests package xunit
dotnet add tests/JdeScoping.Tests package Shouldly
dotnet add tests/JdeScoping.Tests package NSubstitute
# Database project
dotnet add src/JdeScoping.Database package dbup-sqlserver
```
## Related Documentation
- [Overview](./Overview.md)
- [Testing](./Testing.md)