fsprojects / fsprojects/Paket

Support for "paket link"

Open
#1,461 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Hi guys,
I'm not sure if you already know that but some package managers like bower offer a way to link multiple local dependencies so it is very easy for a programmer to code a feature spread on more than one component.

For example,
In every component I need to locally share I must first register each with:

bower link

Then, where I want to use, for each needed component I do:

bower link COMPONENT-NAME

This creates a symlink on the file system based on the registered path for that component.

All of this mean that I can work with my components and everything is naturally "synchronized".

In .Net world with Paket, I suppose that the solution might be to introduce the very same local registration process and then symlink installed nuget component with the installed folder. For example

./packages/[group]/MyComponent/*

Obviously, this would not work "out-of-the-box" because nuget packages get deployed according to their definitions (for example lib, content, tools, .net version folders, etc.)

I suppose we can try to mimic nuget package deployment behavior or we can adjust the algorithm that modifies msbuild targets into project files, I don't know.

Right now I need to manually change my "Output path" for each built component I want to easily code with. Otherwise, I need to do the whole round-trip of packaging a new nuget component, publishing it and pulling it.

Any thoughts?

Thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Paket's package installation flow and the algorithm that modifies MSBuild targets, then compare the requested local-link behavior with NuGet's lib, content, tools, and framework-specific layout. Done would require a defined registration and linking workflow that supports local components without manually changing output paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
build-system, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.