Skip to content

[Bug] Can`t use same versions of aliased packages with peer dependencies #1352

@ImBrek

Description

@ImBrek
  • I'd be willing to implement a fix

Describe the bug

  • I have package.json like this, and it works
"dependencies": {
    "lib1": "npm:lodash@^4.17.15",
    "lib2": "npm:lodash@^4.17.15"
  }
  • But, if i trying this, it doesn`t work
  "dependencies": {
    "lib1": "npm:@testing-library/[email protected]",
    "lib2": "npm:@testing-library/[email protected]"
  }
$ yarn
➤ YN0000: ┌ Resolution step
➤ YN0002: │ test@workspace:. doesn't provide react@* requested by @testing-library/react@npm:10.0.4
➤ YN0002: │ test@workspace:. doesn't provide react-dom@* requested by @testing-library/react@npm:10.0.4
➤ YN0002: │ test@workspace:. doesn't provide react@* requested by @testing-library/react@npm:10.0.4
➤ YN0002: │ test@workspace:. doesn't provide react-dom@* requested by @testing-library/react@npm:10.0.4
➤ YN0000: └ Completed in 4.51s
➤ YN0000: ┌ Fetch step
➤ YN0001: │ Error: Assertion failed: The locator should have been registered
    at /Users/brek/nw/ut/.yarn/releases/yarn-berry.js:42:113324
    at /Users/brek/nw/ut/.yarn/releases/yarn-berry.js:10:124068
    at Array.map (<anonymous>)
    at Object.t.sortMap (/Users/brek/nw/ut/.yarn/releases/yarn-berry.js:10:124061)
    at T.fetchEverything (/Users/brek/nw/ut/.yarn/releases/yarn-berry.js:42:113232)
    at /Users/brek/nw/ut/.yarn/releases/yarn-berry.js:42:123586
    at f.startTimerPromise (/Users/brek/nw/ut/.yarn/releases/yarn-berry.js:16:57282)
    at T.install (/Users/brek/nw/ut/.yarn/releases/yarn-berry.js:42:123534)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async /Users/brek/nw/ut/.yarn/releases/yarn-berry.js:50:37069
➤ YN0000: └ Completed
➤ YN0000: Failed with errors in 4.52s
  • And finally, it works
  "dependencies": {
    "lib1": "npm:@testing-library/[email protected]",
    "lib2": "npm:@testing-library/[email protected]"
  }

Repro

const installPromise = packageJsonAndInstall({
  dependencies: {
    "lib1": "npm:@testing-library/[email protected]",
    "lib2": "npm:@testing-library/[email protected]"
  }
});

await expect(installPromise)
  .resolves.toBeTruthy();

Environment if relevant (please complete the following information):

  • OS: [OSX]
  • Node version [13.5.0]
  • Yarn version [2.0.0-rc.33]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingreproducibleThis issue can be successfully reproduced

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions