Skip to content

Parasitic code warning #176

Open
Open
@DalekBaldwin

Description

@DalekBaldwin

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions