JamieMason / syncpack

Consistent dependency versions in large JavaScript Monorepos.
https://jamiemason.github.io/syncpack/
MIT License
1.34k stars 44 forks source link

[dependency maintenance] @effect/match -> effect migration #181

Closed ari-becker closed 6 months ago

ari-becker commented 6 months ago

Description

a) proximate trigger: unmet peer dependency in syncpack 12:

 ERR_PNPM_PEER_DEP_ISSUES  Unmet peer dependencies

.
└─┬ syncpack 12.0.0
  └─┬ @effect/match 0.40.0
    └── ✕ unmet peer effect@2.0.0-next.47: found 2.0.0-next.62

I see that 0.40.0 is indeed the latest version of @effect/match: image

However, the package links to a repository which has been archived:

image

Apparently there was some kind of migration, Effect now recommends import { Effect } from "effect" and Effect.match:

https://www.effect.website/docs/error-management/matching

Suggested Solution

Follow upstream changes to solve the peer dependency issue?

Workaround

package.json:

{
  "pnpm": {
    "peerDependencyRules": {
      "allowedVersions": {
        "@effect/match@0.40.0>effect": "2.0.0-next.62"
      }
    }
  }
}
JamieMason commented 6 months ago

I've switched this repo over to using pnpm strict, hopefully this is resolved in 12.0.1