Skip to content

Peer dependencies are not met correctly with some being circular #9700

@DCzajkowski

Description

@DCzajkowski

I've found these issues:

  1. There is a circular dependency chain: app-builder-lib -(via devDependencies)-> dmg-builder -(via dependencies)-> app-builder-lib
  2. dmg-builder uses app-builder-lib which has electron-builder-squirrel-windows in peer dependencies. This means, that dmg-builder should declare electron-builder-squirrel-windows as its dependency or peer dependency.
  3. electron-builder uses app-builder-lib which has electron-builder-squirrel-windows in peer dependencies. This means, that electron-builder should declare electron-builder-squirrel-windows as its dependency or peer dependency.
  4. electron-builder-squirrel-windows uses app-builder-lib which has dmg-builder in peer dependencies. This means, that electron-builder-squirrel-windows should declare dmg-builder as its dependency or peer dependency.

I think resolving the circular dependency (1) would help with fixing 2/4. However, 2/3/4 can be fixed without fixing 1 by adding peer dependencies as follows:

dmg-builder:
  peerDependencies:
    electron-builder-squirrel-windows
electron-builder:
  peerDependencies:
    electron-builder-squirrel-windows
electron-builder-squirrel-windows:
  peerDependencies:
    dmg-builder

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions