pnpm peer-dependency install issue

Open
#891 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
javascript
Domain
tooling

Research direction

Start by reproducing the failure with pnpm --filter fastboot-test-app test:scenario "fastboot-with-ember-fetch" from the project root, using the hoist=false, strict peer dependency, and peerDependencyRules settings described. Compare the result with the linked GitHub Actions run and determine whether the failure belongs to ember-try or pnpm configuration; done means the root cause and a verified resolution are documented.

Written by the indexing model from the issue text.

Description

I'm opening this mostly for a paper trail later for folks that hit this with ember-try. I suspect the issue is due to a project config and not with ember-try itself, but am working on validating the root cause still.

When configuring pnpm in a monorepo with workspaces, using hoist=false to guarantee isolation of packages from each other, and with strict peer dependencies turned on, ember-try scenarios may sometimes fail

ERR_PNPM_PEER_DEP_ISSUES  Unmet peer dependencies

and later

hint: If you want peer dependencies to be automatically installed, add "auto-install-peers=true" to an .npmrc file at the root of your project.
hint: If you don't want pnpm to fail on peer dependency issues, add "strict-peer-dependencies=false" to an .npmrc file at the root of your project.

Error!
1
undefined
undefined
/home/runner/work/data/data/tests/fastboot:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  fastboot-test-app@4.9.0-alpha.6 test:scenario: `ember try:one "fastboot-with-ember-fetch"`
Exit status 1
 ELIFECYCLE  Command failed with exit code 1.
Error: Process completed with exit code 1.

An example may be found here: https://github.com/emberjs/data/actions/runs/3353058316/jobs/5555616398

Note there's a bit of odd-noise involved that may hint at part of the issue, as for the blueprints package we've explicitly told pnpm via config to ignore these missing peer-deps, but this configuration is being ignored. Perhaps if we are truly running recursively as is suggested by  ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL pnpm does not see this.

 "pnpm": {
    "peerDependencyRules": {
      "ignoreMissing": [
        "@babel/core",
        "@glimmer/*",
        "ember-source",
        "@ember/string",
        "ember-inflector",
        "@ember-data/store",
        "@ember-data/tracking",
        "webpack"
      ]
    }
  },

The command in the repo that kicked this off from project root was pnpm --filter fastboot-test-app test:scenario "fastboot-with-ember-fetch" I've tried with an explicit run as well with the same result. I'm unsure currently why it thinks this is recursive.

Dominant language
JavaScript
Stars
180
Forks
57
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ember-cli/ember-try

All issues in ember-cli/ember-try

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.