Skip to content

Specify allowed transitive dependencies #17

@davewasmer

Description

@davewasmer

First off, great addon!

A quick suggestion: it would be nice to be able to specify allowed versions for specific transitive dependencies.

My concrete use case:

I'm using ember-cli-addon-docs, which right now is bringing in two copies of ember-cli-clipboard. I don't particularly mind if the addon docs load two copies of the clipboard addon - it's an internal use docs site, not worth the time right now to resolve that conflict.

However ...

If someone else down the road happens to install ember-cli-clipboard directly, or another addon that uses it, I definitely do want to know about conflicts then, because that copy may end up duplicated in the production app.

So really, what I want to be able to say is something like:

allowedVersions: {
  // Allow any version of ember-cli-clipboard *underneath* ember-cli-addon-docs
  'ember-cli-addon-docs ember-cli-clipboard': '*'

I could even imagine a little CSS-like microsyntax to specify different kinds of nesting (i.e. addon-a > addon-b would only apply to addon-b when it's a direct dep of addon-a) but that might be overkill.

Happy to take a stab at a PR when I have some spare cycles, but wanted to get feedback on the concept first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions