Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EAS fails to install pnpm dependencies for Android #1941

Open
robertherber opened this issue Jul 20, 2023 · 6 comments
Open

EAS fails to install pnpm dependencies for Android #1941

robertherber opened this issue Jul 20, 2023 · 6 comments
Assignees

Comments

@robertherber
Copy link

robertherber commented Jul 20, 2023

Build/Submit details page URL

https://expo.dev/accounts/kingstinct/projects/lifeline-dev/builds/e398532d-5f57-467d-a456-4318844eb3ab (node 20)
https://expo.dev/accounts/kingstinct/projects/lifeline-dev/builds/28ec161c-a6b3-4415-93f3-1608e7f8daba (node 18)

Summary

I'm using pnpm in a monorepo setup. What I've tried and what works:

  • ❌ EAS Build (Android) in cloud (tried resetting cache, as well as switching between node 18 and 20)
  • ✅ EAS Build local (iOS and Android)
  • ✅ EAS Build (iOS)

I'm fairly sure just being able to specify pnpm version would solve it, for example in eas.json or respecting packageManager in package.json. I know you don't officially support it yet - but just having this option would take it a long way.

Since it works on iOS I'm guessing the EAS build image is using a different pnpm version on iOS (closer to what I'm using locally - i.e. 8.6.9).

Also - it would help to be able to see which version of pnpm is used in the logs on EAS, I can't seem to see it currently.

Managed or bare?

managed

Environment

expo-env-info 1.0.5 environment info:
System:
OS: macOS 13.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.3.1 - ~/.nvm/versions/node/v20.3.1/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 9.6.7 - ~/.nvm/versions/node/v20.3.1/bin/npm
Watchman: 2023.02.13.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /Users/robertherber/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK:
API Levels: 28, 29, 31, 33, 33
Build Tools: 28.0.3, 29.0.2, 30.0.3, 31.0.0, 33.0.0, 33.0.1
System Images: android-30 | Google APIs Intel x86 Atom, android-31 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a, android-33 | Google APIs Intel x86 Atom_64
IDEs:
Android Studio: 2022.1 AI-221.6008.13.2211.9619390
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
npmPackages:
expo: ^49.0.3 => 49.0.3
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: ~0.72.3 => 0.72.3
react-native-web: ~0.19.6 => 0.19.6
npmGlobalPackages:
eas-cli: 3.16.0
Expo Workflow: managed

Error output

There are a few suspect things in the build output for node 20 (the lockfile-incompatibility as well as the ERR_INVALID_THIS):

Install dependencies output (Node 20)
We detected that 'apps/lifeline' is a pnpm workspace

Running "pnpm install --no-frozen-lockfile" in /home/expo/workingdir/build directory

Scope: all 3 workspace projects

WARN  Ignoring not compatible lockfile at /home/expo/workingdir/build/pnpm-lock.yaml

WARN  GET https://registry.npmjs.com/@babel%2Fcore error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-proposal-export-namespace-from error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-transform-class-properties error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fcli error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fnear-operation-file-preset error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-operations error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-urql error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-eslint%2Feslint-plugin error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-actions error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-controls error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-essentials error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-links error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-actions error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-controls error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-react-native-web error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Fbuilder-webpack5 error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fcore error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-proposal-export-namespace-from error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-transform-class-properties error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

 WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fcli error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

 WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fnear-operation-file-preset error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

 WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-operations error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-urql error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@graphql-eslint%2Feslint-plugin error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-actions error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-controls error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-essentials error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-links error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-actions error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-controls error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-react-native-web error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Fbuilder-webpack5 error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Fmanager-webpack5 error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

ERR_PNPM_META_FETCH_FAIL  GET https://registry.npmjs.com/@babel%2Fcore: Value of "this" must be of type URLSearchParams

WARN  GET https://registry.npmjs.com/@storybook%2Freact error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Freact-native error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Fjest error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Flodash error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Freact error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Fvalidator error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@typescript-eslint%2Feslint-plugin error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@typescript-eslint%2Fparser error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/babel-loader error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/babel-plugin-transform-inline-environment-variables error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/concurrently error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint-config-airbnb error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint-config-airbnb-base error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint-config-kingstinct error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

pnpm exited with non-zero code: 1

When using node 18 the packages are installed but fails later, probably because of the lockfile-incompatibilty which I guess is a result of using a different pnpm version:

Install dependencies output (Node 18)
We detected that 'apps/lifeline' is a pnpm workspace

Running "pnpm install --no-frozen-lockfile" in /home/expo/workingdir/build directory

Scope: all 3 workspace projects

WARN  Ignoring not compatible lockfile at /home/expo/workingdir/build/pnpm-lock.yaml

Progress: resolved 1, reused 0, downloaded 0, added 0

Progress: resolved 18, reused 0, downloaded 3, added 0

Progress: resolved 31, reused 0, downloaded 12, added 0

Progress: resolved 49, reused 0, downloaded 29, added 0

Progress: resolved 61, reused 0, downloaded 48, added 0

Progress: resolved 87, reused 0, downloaded 69, added 0

Progress: resolved 102, reused 0, downloaded 79, added 0

Progress: resolved 110, reused 0, downloaded 89, added 0

Progress: resolved 129, reused 0, downloaded 103, added 0

Progress: resolved 151, reused 0, downloaded 126, added 0

Progress: resolved 165, reused 0, downloaded 144, added 0

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 210, reused 0, downloaded 181, added 0

Progress: resolved 234, reused 0, downloaded 200, added 0

Progress: resolved 275, reused 0, downloaded 241, added 0

Progress: resolved 298, reused 0, downloaded 264, added 0

Progress: resolved 337, reused 0, downloaded 296, added 0

Progress: resolved 362, reused 0, downloaded 318, added 0

Progress: resolved 403, reused 0, downloaded 354, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 428, reused 0, downloaded 387, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 445, reused 0, downloaded 402, added 0

Progress: resolved 461, reused 0, downloaded 417, added 0

Progress: resolved 491, reused 0, downloaded 451, added 0

Progress: resolved 505, reused 0, downloaded 467, added 0

Progress: resolved 520, reused 0, downloaded 480, added 0

Progress: resolved 536, reused 0, downloaded 490, added 0

Progress: resolved 564, reused 0, downloaded 515, added 0

apps/lifeline                            |  WARN  deprecated [email protected]

Progress: resolved 593, reused 0, downloaded 544, added 0

Progress: resolved 666, reused 0, downloaded 603, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 763, reused 0, downloaded 693, added 0

Progress: resolved 823, reused 0, downloaded 739, added 0

Progress: resolved 900, reused 0, downloaded 828, added 0

Progress: resolved 999, reused 0, downloaded 910, added 0

Progress: resolved 1064, reused 0, downloaded 972, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 1132, reused 0, downloaded 1036, added 0

Progress: resolved 1147, reused 0, downloaded 1062, added 0

Progress: resolved 1210, reused 0, downloaded 1104, added 0

Progress: resolved 1277, reused 0, downloaded 1171, added 0

Progress: resolved 1372, reused 0, downloaded 1258, added 0

Progress: resolved 1465, reused 0, downloaded 1353, added 0

Progress: resolved 1601, reused 0, downloaded 1480, added 0

packages/ui                              |  WARN  deprecated @npmcli/[email protected]

Progress: resolved 1699, reused 0, downloaded 1566, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 1783, reused 0, downloaded 1649, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 1907, reused 0, downloaded 1756, added 0

Progress: resolved 2044, reused 0, downloaded 1889, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 2147, reused 0, downloaded 1980, added 0

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 2323, reused 0, downloaded 2151, added 0

packages/ui                              |  WARN  deprecated [email protected]

Progress: resolved 2456, reused 0, downloaded 2283, added 0

Packages: +2613

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Progress: resolved 2456, reused 0, downloaded 2286, added 0

Progress: resolved 2456, reused 0, downloaded 2287, added 0

Packages are hard linked from the content-addressable store to the virtual store.

  Content-addressable store is at: /home/expo/.local/share/pnpm/store/v3

  Virtual store is at:             node_modules/.pnpm

Progress: resolved 2456, reused 0, downloaded 2307, added 18

Progress: resolved 2456, reused 0, downloaded 2307, added 19

Progress: resolved 2456, reused 0, downloaded 2341, added 158

Progress: resolved 2456, reused 0, downloaded 2362, added 247

Progress: resolved 2456, reused 0, downloaded 2390, added 306

Progress: resolved 2456, reused 0, downloaded 2435, added 438

Progress: resolved 2456, reused 0, downloaded 2436, added 481

Progress: resolved 2456, reused 0, downloaded 2438, added 768

Progress: resolved 2456, reused 0, downloaded 2438, added 769

Progress: resolved 2456, reused 0, downloaded 2439, added 1084

Progress: resolved 2456, reused 0, downloaded 2439, added 1085

Progress: resolved 2456, reused 0, downloaded 2439, added 1339

Progress: resolved 2456, reused 0, downloaded 2439, added 1340

Progress: resolved 2456, reused 0, downloaded 2439, added 1480

Progress: resolved 2456, reused 0, downloaded 2439, added 1481

Progress: resolved 2456, reused 0, downloaded 2439, added 1490

Progress: resolved 2456, reused 0, downloaded 2439, added 1491

Progress: resolved 2456, reused 0, downloaded 2439, added 1706

Progress: resolved 2456, reused 0, downloaded 2439, added 1797

Progress: resolved 2456, reused 0, downloaded 2439, added 1912

Progress: resolved 2456, reused 0, downloaded 2439, added 1988

Progress: resolved 2456, reused 0, downloaded 2439, added 1989

Progress: resolved 2456, reused 0, downloaded 2439, added 2116

Progress: resolved 2456, reused 0, downloaded 2439, added 2117

Progress: resolved 2456, reused 0, downloaded 2440, added 2387

Progress: resolved 2456, reused 0, downloaded 2440, added 2388

Progress: resolved 2456, reused 0, downloaded 2440, added 2613, done

.../node_modules/core-js-pure postinstall$ node -e "try{require('./postinstall')}catch(e){}"

.../node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"

.../node_modules/core-js-pure postinstall: Done

.../node_modules/core-js postinstall: Done

.../node_modules/@sentry/cli install$ node ./scripts/install.js

.../node_modules/@sentry/cli install$ node ./scripts/install.js

.../node_modules/@sentry/cli install: [sentry-cli] Downloading from https://downloads.sentry-cdn.com/sentry-cli/2.17.5/sentry-cli-Linux-x86_64

.../node_modules/@sentry/cli install: [sentry-cli] Downloading from https://downloads.sentry-cdn.com/sentry-cli/2.19.4/sentry-cli-Linux-x86_64

.../node_modules/@sentry/cli install: [sentry-cli] Checksum validation passed.

.../node_modules/@sentry/cli install: [sentry-cli] Checksum validation passed.

.../node_modules/@sentry/cli install: Done

.../node_modules/@sentry/cli install: Done

. prepare$ husky install

. prepare: fatal: not a git repository (or any of the parent directories): .git

. prepare: husky - git command not found, skipping install

. prepare: Done

apps/lifeline postinstall$ if [ -n "$CI" ]; then exit 0; fi && npx expo-native-dependency-hash expo-app-update

apps/lifeline postinstall: Done

dependencies:

+ expo 49.0.3

+ husky 8.0.3

ERR_PNPM_PEER_DEP_ISSUES  Unmet peer dependencies


.

└─┬ expo

  └─┬ babel-preset-expo

    ├─┬ @babel/plugin-proposal-decorators

    │ ├── ✕ missing peer @babel/core@^7.0.0-0

    │ ├─┬ @babel/helper-create-class-features-plugin

    │ │ ├── ✕ missing peer @babel/core@^7.0.0

    │ │ └─┬ @babel/helper-replace-supers

    │ │   └── ✕ missing peer @babel/core@^7.0.0

    │ └─┬ @babel/plugin-syntax-decorators

    │   └── ✕ missing peer @babel/core@^7.0.0-0

    ├─┬ @babel/plugin-proposal-export-namespace-from

    │ ├── ✕ missing peer @babel/core@^7.0.0-0

    │ └─┬ @babel/plugin-syntax-export-namespace-from

    │   └── ✕ missing peer @babel/core@^7.0.0-0

    ├─┬ @babel/plugin-proposal-object-rest-spread

    │ ├── ✕ missing peer @babel/core@^7.0.0-0

    │ ├─┬ @babel/helper-compilation-targets

    │ │ └── ✕ missing peer @babel/core@^7.0.0

    │ ├─┬ @babel/plugin-syntax-object-rest-spread

    │ │ └── ✕ missing peer @babel/core@^7.0.0-0

    │ └─┬ @babel/plugin-transform-parameters

    │   └── ✕ missing peer @babel/core@^7.0.0-0

    ├─┬ @babel/plugin-transform-react-jsx

    │ ├── ✕ missing peer @babel/core@^7.0.0-0

    │ └─┬ @babel/plugin-syntax-jsx

    │   └── ✕ missing peer @babel/core@^7.0.0-0

    └─┬ @babel/preset-env

      ├── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression

      │ └── ✕ missing peer @babel/core@^7.0.0

      ├─┬ @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining

      │ ├── ✕ missing peer @babel/core@^7.13.0

      │ └─┬ @babel/plugin-transform-optional-chaining

      │   ├── ✕ missing peer @babel/core@^7.0.0-0

      │   └─┬ @babel/plugin-syntax-optional-chaining

      │     └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-proposal-private-property-in-object

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-async-generators

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-class-properties

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-class-static-block

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-dynamic-import

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-import-assertions

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-import-attributes

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-import-meta

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-json-strings

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-logical-assignment-operators

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-nullish-coalescing-operator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-numeric-separator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-optional-catch-binding

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-private-property-in-object

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-top-level-await

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-syntax-unicode-sets-regex

      │ ├── ✕ missing peer @babel/core@^7.0.0

      │ └─┬ @babel/helper-create-regexp-features-plugin

      │   └── ✕ missing peer @babel/core@^7.0.0

      ├─┬ @babel/plugin-transform-arrow-functions

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-async-generator-functions

      │ ├── ✕ missing peer @babel/core@^7.0.0-0

      │ └─┬ @babel/helper-remap-async-to-generator

      │   └── ✕ missing peer @babel/core@^7.0.0

      ├─┬ @babel/plugin-transform-async-to-generator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-block-scoped-functions

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-block-scoping

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-class-properties

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-class-static-block

      │ └── ✕ missing peer @babel/core@^7.12.0

      ├─┬ @babel/plugin-transform-classes

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-computed-properties

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-destructuring

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-dotall-regex

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-duplicate-keys

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-dynamic-import

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-exponentiation-operator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-export-namespace-from

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-for-of

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-function-name

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-json-strings

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-literals

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-logical-assignment-operators

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-member-expression-literals

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-modules-amd

      │ ├── ✕ missing peer @babel/core@^7.0.0-0

      │ └─┬ @babel/helper-module-transforms

      │   └── ✕ missing peer @babel/core@^7.0.0

      ├─┬ @babel/plugin-transform-modules-commonjs

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-modules-systemjs

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-modules-umd

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-named-capturing-groups-regex

      │ └── ✕ missing peer @babel/core@^7.0.0

      ├─┬ @babel/plugin-transform-new-target

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-nullish-coalescing-operator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-numeric-separator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-object-rest-spread

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-object-super

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-optional-catch-binding

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-private-methods

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-private-property-in-object

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-property-literals

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-regenerator

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-reserved-words

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-shorthand-properties

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-spread

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-sticky-regex

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-template-literals

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-typeof-symbol

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-unicode-escapes

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-unicode-property-regex

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-unicode-regex

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ @babel/plugin-transform-unicode-sets-regex

      │ └── ✕ missing peer @babel/core@^7.0.0

      ├─┬ @babel/preset-modules

      │ ├── ✕ missing peer @babel/core@^7.0.0-0

      │ └─┬ @babel/plugin-proposal-unicode-property-regex

      │   └── ✕ missing peer @babel/core@^7.0.0-0

      ├─┬ babel-plugin-polyfill-corejs2

      │ ├── ✕ missing peer @babel/core@^7.0.0-0

      │ └─┬ @babel/helper-define-polyfill-provider

      │   └── ✕ missing peer @babel/core@^7.4.0-0

      ├─┬ babel-plugin-polyfill-corejs3

      │ └── ✕ missing peer @babel/core@^7.0.0-0

      └─┬ babel-plugin-polyfill-regenerator

        └── ✕ missing peer @babel/core@^7.0.0-0

Peer dependencies that should be installed:

  @babel/core@">=7.13.0 <8.0.0"


apps/lifeline

├─┬ @graphql-codegen/typescript-urql

│ └── ✕ missing peer graphql-tag@^2.0.0

├─┬ babel-loader

│ └── ✕ missing peer webpack@>=5

├─┬ @urql/storage-rn

│ └── ✕ missing peer @urql/exchange-graphcache@>=5.0.0

├─┬ expo-router

│ ├── ✕ missing peer metro@~0.76.7

│ └─┬ expo-splash-screen

│   └─┬ @expo/prebuild-config

│     └── ✕ missing peer expo-modules-autolinking@>=0.8.1

├─┬ react-native

│ └─┬ @react-native/codegen

│   ├── ✕ missing peer @babel/preset-env@^7.1.6

│   └─┬ jscodeshift

│     └── ✕ missing peer @babel/preset-env@^7.1.6

├─┬ react-native-health-connect

│ └── ✕ missing peer @expo/config-plugins@">= 6.0.2"

└─┬ react-native-reanimated

  ├── ✕ missing peer @babel/plugin-proposal-nullish-coalescing-operator@^7.0.0-0

  ├── ✕ missing peer @babel/plugin-proposal-optional-chaining@^7.0.0-0

  ├── ✕ missing peer @babel/plugin-transform-arrow-functions@^7.0.0-0

  ├── ✕ missing peer @babel/plugin-transform-shorthand-properties@^7.0.0-0

  └── ✕ missing peer @babel/plugin-transform-template-literals@^7.0.0-0

Peer dependencies that should be installed:

  @babel/plugin-proposal-nullish-coalescing-operator@^7.0.0-0

  @babel/plugin-proposal-optional-chaining@^7.0.0-0

  @babel/plugin-transform-arrow-functions@^7.0.0-0

  @babel/plugin-transform-shorthand-properties@^7.0.0-0

  @babel/plugin-transform-template-literals@^7.0.0-0

  @babel/preset-env@">=7.1.6 <8.0.0"

  @expo/config-plugins@">= 6.0.2"

  @urql/exchange-graphcache@>=5.0.0

  expo-modules-autolinking@>=0.8.1

  graphql-tag@^2.0.0

  metro@~0.76.7

  webpack@>=5


packages/ui

├─┬ @graphql-codegen/cli

│ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ ├─┬ @graphql-codegen/core

│ │ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ ├─┬ @graphql-codegen/plugin-helpers

│ │ │ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ │ └─┬ @graphql-tools/utils

│ │ │   ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │   └─┬ @graphql-typed-document-node/core

│ │ │     └── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/schema

│ │   ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   └─┬ @graphql-tools/merge

│ │     └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/apollo-engine-loader

│ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/code-file-loader

│ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/graphql-tag-pluck

│ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/git-loader

│ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/github-loader

│ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/executor-http

│ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/graphql-file-loader

│ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/import

│ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/json-file-loader

│ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/load

│ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/prisma-loader

│ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ ├─┬ @graphql-tools/url-loader

│ │ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ ├─┬ @graphql-tools/delegate

│ │ │ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ │ ├─┬ @graphql-tools/batch-execute

│ │ │ │ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ │ └─┬ @graphql-tools/executor

│ │ │ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ ├─┬ @graphql-tools/executor-graphql-ws

│ │ │ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ │ └─┬ graphql-ws

│ │ │ │   └── ✕ missing peer graphql@">=0.11 <=16"

│ │ │ ├─┬ @graphql-tools/executor-legacy-ws

│ │ │ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ └─┬ @graphql-tools/wrap

│ │ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ graphql-request

│ │   └── ✕ missing peer graphql@"14 - 16"

│ └─┬ graphql-config

│   └── ✕ missing peer graphql@"^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

├─┬ @graphql-codegen/near-operation-file-preset

│ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ ├─┬ @graphql-codegen/add

│ │ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ └─┬ @graphql-codegen/plugin-helpers

│ │   ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │   └─┬ @graphql-tools/utils

│ │     └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-codegen/plugin-helpers

│ │ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ └─┬ @graphql-tools/utils

│ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ └─┬ @graphql-codegen/visitor-plugin-common

│   ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│   ├─┬ @graphql-tools/optimize

│   │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│   ├─┬ @graphql-tools/relay-operation-optimizer

│   │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│   │ └─┬ @ardatan/relay-compiler

│   │   └── ✕ missing peer graphql@"*"

│   └─┬ graphql-tag

│     └── ✕ missing peer graphql@"^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

├─┬ @graphql-codegen/typescript-operations

│ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ └─┬ @graphql-codegen/typescript

│   ├── ✕ missing peer graphql@"^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│   ├─┬ @graphql-codegen/schema-ast

│   │ └── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│   └─┬ @graphql-codegen/visitor-plugin-common

│     ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│     ├─┬ @graphql-tools/optimize

│     │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│     └─┬ @graphql-tools/relay-operation-optimizer

│       └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

├─┬ @graphql-codegen/typescript-urql

│ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ └── ✕ missing peer graphql-tag@^2.0.0

├─┬ @graphql-eslint/eslint-plugin

│ ├── ✕ missing peer graphql@"^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ ├─┬ @graphql-tools/code-file-loader

│ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/graphql-tag-pluck

│ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ graphql-config

│ │ ├── ✕ missing peer graphql@"^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ ├─┬ @graphql-tools/graphql-file-loader

│ │ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ └─┬ @graphql-tools/import

│ │ │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ ├─┬ @graphql-tools/json-file-loader

│ │ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ ├─┬ @graphql-tools/load

│ │ │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ └─┬ @graphql-tools/schema

│ │ │   ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │   └─┬ @graphql-tools/merge

│ │ │     └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/url-loader

│ │   ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   ├─┬ @graphql-tools/delegate

│ │   │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   │ ├─┬ @graphql-tools/batch-execute

│ │   │ │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   │ └─┬ @graphql-tools/executor

│ │   │   └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   ├─┬ @graphql-tools/executor-http

│ │   │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   ├─┬ @graphql-tools/executor-graphql-ws

│ │   │ ├── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   │ └─┬ graphql-ws

│ │   │   └── ✕ missing peer graphql@">=0.11 <=16"

│ │   ├─┬ @graphql-tools/executor-legacy-ws

│ │   │ └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   └─┬ @graphql-tools/wrap

│ │     └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ └─┬ graphql-depth-limit

│   └── ✕ missing peer graphql@"*"

├─┬ eslint-config-kingstinct

│ └── ✕ missing peer graphql@>=16

├─┬ @kingstinct/react

│ └─┬ urql

│   └─┬ @urql/core

│     └─┬ @0no-co/graphql.web

│       └── ✕ missing peer graphql@"^14.0.0 || ^15.0.0 || ^16.0.0"

├─┬ @storybook/addon-essentials

│ ├── ✕ missing peer webpack@"*"

│ └─┬ @storybook/addon-docs

│   ├─┬ babel-loader

│   │ └── ✕ missing peer webpack@>=2

│   └─┬ @mdx-js/react

│     └── ✕ unmet peer react@"^16.13.1 || ^17.0.0": found 18.2.0

├─┬ @storybook/react-native

│ └─┬ @storybook/core-client

│   └── ✕ missing peer webpack@"*"

├─┬ babel-loader

│ └── ✕ missing peer webpack@>=5

├─┬ @storybook/addon-ondevice-controls

│ └─┬ @emotion/native

│   └─┬ @emotion/primitives-core

│     └── ✕ missing peer @emotion/core@^10.0.27

├─┬ @storybook/addon-react-native-web

│ ├── ✕ missing peer @babel/preset-react@"*"

│ ├── ✕ missing peer babel-plugin-react-native-web@"*"

│ └── ✕ missing peer metro-react-native-babel-preset@"*"

├─┬ @storybook/react

│ ├── ✕ missing peer require-from-string@^2.0.2

│ └─┬ react-element-to-jsx-string

│   ├── ✕ unmet peer react@"^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1": found 18.2.0

│   └── ✕ unmet peer react-dom@"^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1": found 18.2.0

├─┬ react-native

│ └─┬ @react-native/codegen

│   ├── ✕ missing peer @babel/preset-env@^7.1.6

│   └─┬ jscodeshift

│     └── ✕ missing peer @babel/preset-env@^7.1.6

├─┬ react-native-reanimated

│ ├── ✕ missing peer @babel/plugin-proposal-nullish-coalescing-operator@^7.0.0-0

│ ├── ✕ missing peer @babel/plugin-proposal-optional-chaining@^7.0.0-0

│ ├── ✕ missing peer @babel/plugin-transform-arrow-functions@^7.0.0-0

│ ├── ✕ missing peer @babel/plugin-transform-shorthand-properties@^7.0.0-0

│ └── ✕ missing peer @babel/plugin-transform-template-literals@^7.0.0-0

└─┬ @storybook/addon-actions

  └─┬ react-inspector

    └── ✕ unmet peer react@"^16.8.4 || ^17.0.0": found 18.2.0

Peer dependencies that should be installed:

  @babel/plugin-proposal-nullish-coalescing-operator@^7.0.0-0

  @babel/plugin-proposal-optional-chaining@^7.0.0-0

  @babel/plugin-transform-arrow-functions@^7.0.0-0

  @babel/plugin-transform-shorthand-properties@^7.0.0-0

  @babel/plugin-transform-template-literals@^7.0.0-0

  @babel/preset-env@">=7.1.6 <8.0.0"

  @babel/preset-react@"*"

  @emotion/core@^10.0.27

  babel-plugin-react-native-web@"*"

  graphql-tag@^2.0.0

  graphql@">=16.0.0 <17.0.0"

  metro-react-native-babel-preset@"*"

  require-from-string@^2.0.2

  webpack@>=5.0.0

pnpm exited with non-zero code: 1

Reproducible demo or steps to reproduce from a blank project

  1. Set up a fresh Expo 49 project
  2. Switch to use pnpm (run pnpm import)
  3. Add .npmrc with shamefully-hoist=true
  4. Add config.resolver.unstable_enableSymlinks = true to metro.config.js
  5. Run pnpm install
  6. Trigger an EAS build for Android (in the cloud)
@robertherber robertherber added the needs review Issue is ready to be reviewed by a maintainer label Jul 20, 2023
@szdziedzic
Copy link
Member

Hi,

You can go to Spin up build environment phase logs to see description of a builder environment and currently installed software. In this case (for Android), the pnpm version is 7.0.0.

We can make the pnpm version more configurable by adding the option to control its version to eas.json (same as for yarn, sounds like a good idea 👍

You can currently install a different version of pnpm using our pre-install hook (just use npm install -g pnpm@version command as a hook command), so it is doable at the moment.

Could you give it a try and let me know if it fixed the issue for you?

@szdziedzic szdziedzic added eas build and removed needs review Issue is ready to be reviewed by a maintainer labels Jul 25, 2023
@szdziedzic szdziedzic self-assigned this Jul 25, 2023
@LukyLurks
Copy link

LukyLurks commented Jul 26, 2023

You can go to Spin up build environment phase logs to see description of a builder environment and currently installed software. In this case (for Android), the pnpm version is 7.0.0.

For my iOS builds (which succeed) it's 8.6.5.

You can currently install a different version of pnpm using our pre-install hook (just use npm install -g pnpm@version command as a hook command), so it is doable at the moment.

Could you give it a try and let me know if it fixed the issue for you?

I did just that and it fixed it for me, thank you for the suggestion.

@robertherber
Copy link
Author

@szdziedzic Thanks for the pre-install suggestion, works for me 👍

An even better way to specify version it with the packageManager property in package.json (although I know it’s still experimental). It’s nice to just have to update these things in one place.

@mozzius
Copy link

mozzius commented Sep 19, 2023

If it helps anyone, I ran into an issue where it was trying to install pnpm when running a local build, which was failing since I already have it installed via a different method. My solution was to set "eas-build-pre-install" to "./scripts/pre-install.sh", and adding the following bash script:

/scripts/pre-install.sh

#!/bin/bash

if [[ "$EAS_BUILD_RUNNER" == "eas-build" ]]; then
    npm install -g [email protected]
fi

@alexandernanberg
Copy link

I also ran into this issue. An alternative solution is to use Corepack

// package.json
{
  // ...
  "packageManager": "[email protected]",
  "scripts": {
    "eas-build-pre-install": "corepack enable",
    // ...
  }

Would be nice if this was supported out-of-the-box without having to manually call corepack enable

@ycfreeman
Copy link

ycfreeman commented Nov 30, 2023

is there any reason why eas is running

pnpm install --no-frozen-lockfile

?

i suspect this maybe causing issue in our android build

i tried to use eas to submit an android build and the build crashes

but i tried to run the same build locally - just changed build number - and the build works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants