Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parasitic code warning #176

Open
DalekBaldwin opened this issue May 11, 2024 · 0 comments
Open

Parasitic code warning #176

DalekBaldwin opened this issue May 11, 2024 · 0 comments

Comments

@DalekBaldwin
Copy link

Referencing this package will implicitly bring in YoLo.fs ( https://github.com/haf/YoLo ), which uses an AutoOpen attribute inside an empty namespace, automatically bringing all its definitions into scope, with no way to prevent it, even in code files that do not open the HttpFs namespace or any of its modules.

These definitions will then show up via autocomplete on standard type and module names like Result, Option, String, Array, Regex, List, and Seq, tricking you into using them while thinking you're only using FSharp.Core or the builtin dotnet libraries.

Since there is currently no good standard way to disable transitive NuGet package references, this will also infect projects that depend on projects or packages that in turn depend on this package.

And since YoLo is included as a copied code dependency in Http.Fs:

<Compile Include="..\paket-files\haf\YoLo\YoLo.fs">
<Paket>True</Paket>
<Link>paket-files/YoLo.fs</Link>
</Compile>

rather than a NuGet dependency, this situation is greatly obscured when analyzing your own package dependencies.

This obstructs you from removing Http.Fs as a dependency even in projects that do not use it.

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

No branches or pull requests

1 participant