Skip to content

Per-package hooks which can modify the config #58

Description

@jayvdb

Spawned from #42 (comment)

The pnpmfile.js approach is very powerful. At each layer of the package tree, the data structure is given to the hook which can modify it, and pnpm uses the modified structure. For context, in pnpm this is critical as npm authors often forget to declare a direct dependency because it is installed by another declared dependency. In a flat node_modules it doesnt matter, but it breaks pnpm. However I see the same underlying problem in choco -- the packages are often poorly maintained, and either we create our own packages for everything or fix them at runtime. The latter approach has a lower ongoing maintenance cost, and it isolates the problems and the fixes needed, so it is easy to then report bugs with solutions upstream.

At the moment, Fudge only has two levels of nesting - the top level, and then each entry in the Fudgefile. I expect that will change to three levels when dependency tracking is added. nuspec format already describes dependencies so that could be added quite easily. For real choco dependencies, it gets a bit more tricky #57 .

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