Stop packing a library nobody publishes (#542) - #960
Open
Rafael-SOWNet wants to merge 1 commit into
Open
Conversation
AngouriMath.Terminal.Lib packed on every build and packing raised NU5104: a stable release should not have a prerelease dependency, naming Microsoft.DotNet.Interactive.FSharp. Both halves of that warning are about something that cannot happen. The library is never released -- angourimath.terminal.lib is a 404 on nuget.org, while the tool that consumes it, angourimath.terminal, is published and packs fine. And the dependency cannot become stable: Microsoft.DotNet.Interactive.FSharp has 107 versions on nuget and has never shipped one without a prerelease suffix, so no upgrade clears it. So this is IsPackable=false rather than a NoWarn. The warning goes because its premise is false, not because it was silenced. What is left of this issue is NU1608, and it is not fixable here: FSharp.Compiler.Service 43.9.300 pins FSharp.Core = 9.0.300 while the .NET 10 SDK resolves 10.1.302. Pinning FSharp.Core to 9.0.300 was measured and does not help -- it leaves NU1608 in place and adds two NU1504 for duplicating an implicit reference. Reported on the issue instead of suppressed, since a version-constraint violation is a real risk to hide. Terminal.Lib packs 0 NU5104, the tool still produces AngouriMath.Terminal.2.2.0.nupkg, F# wrapper 130 passed, terminal tests 7 passed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #542.
AngouriMath.Terminal.Libpacked on every build, and packing raised NU5104 — a stable release should not have a prerelease dependency — namingMicrosoft.DotNet.Interactive.FSharp.Both halves of that warning are about something that cannot happen:
angourimath.terminal.libis a 404 on nuget.org. The tool that consumes it,angourimath.terminal, is published and packs fine.Microsoft.DotNet.Interactive.FSharphas 107 versions on nuget and has never shipped one without a prerelease suffix, so no upgrade clears it.So this is
IsPackable=false, not aNoWarn. The warning goes because its premise is false, not because it was silenced — which matters, since a suppressed warning looks identical to a fixed one.What is left, and why I did not "fix" it
The rest of #542 is NU1608, six of them on the published tool:
That is an upstream constraint, not something this repo chose. Pinning
FSharp.Coreto 9.0.300 was measured and does not work: NU1608 stays and two NU1504 appear, because the SDK already referencesFSharp.Coreimplicitly. Upgrading the package that brings the compiler service in is already recorded on this issue as failing with 452 build errors.I have deliberately not suppressed it. A version-constraint violation is a real risk to hide — the tests pass today, but that is evidence about today — and choosing to accept it is a maintainer's call rather than a warning to paper over.
Evidence
Terminal.Libpacks 0 NU5104 (was 1)AngouriMath.Terminal.2.2.0.nupkgWhat it does not do
AngouriMath.Interactive, which packs clean already.🤖 Generated with Claude Code