Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jul 9, 2025

This PR implements Central Package Management for the FShopOnWeb repository to streamline dependency management and ensure consistent package versions across all projects.

Changes Made

Core Implementation

  • Created Directory.Packages.props - Centralized package version definitions for all NuGet packages
  • Updated project files - Removed version attributes from all PackageReference elements
  • Enabled central management - Set ManagePackageVersionsCentrally=true

Documentation & Testing

  • Enhanced README.md - Added comprehensive section explaining Central Package Management
  • Added validation tests - Created CentralPackageManagementTests.fs to verify proper configuration
  • Updated lock files - Regenerated to reflect centralized package management

Benefits

Consistency - All projects now use identical package versions
Maintainability - Package updates happen in one central location
Reduced conflicts - Eliminates version mismatches between projects
Simplified updates - Easier to upgrade packages across the entire solution

Package Versions Managed Centrally

Package Version Usage
EntityFrameworkCore.FSharp 6.0.7 Main app & tests
Falco 4.0.6 Web framework
Microsoft.EntityFrameworkCore.Sqlite 9.0.6 Data access
Microsoft.EntityFrameworkCore.InMemory 9.0.0 Testing
xunit 2.9.2 Unit testing
Microsoft.NET.Test.Sdk 17.12.0 Test framework

How to Add New Packages

  1. Add version to Directory.Packages.props:

    <PackageVersion Include="PackageName" Version="1.0.0" />
  2. Reference in project without version:

    <PackageReference Include="PackageName" />

Validation

  • ✅ All existing tests pass
  • ✅ Build succeeds with centralized packages
  • ✅ New tests validate Central Package Management configuration
  • ✅ Lock files ensure reproducible builds

Fixes #16


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@KyleMcMaster
Copy link
Contributor

@copilot please try again

Copilot AI and others added 2 commits July 17, 2025 01:16
Co-authored-by: KyleMcMaster <11415127+KyleMcMaster@users.noreply.github.com>
Co-authored-by: KyleMcMaster <11415127+KyleMcMaster@users.noreply.github.com>
Copilot AI changed the title [WIP] Enable Central Package Management Enable Central Package Management Jul 17, 2025
@KyleMcMaster KyleMcMaster marked this pull request as ready for review July 18, 2025 15:52
@KyleMcMaster KyleMcMaster merged commit ee21844 into main Jul 18, 2025
4 checks passed
@KyleMcMaster KyleMcMaster deleted the copilot/fix-16 branch July 18, 2025 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable Central Package Management

2 participants