achorein / expo-share-intent

🚀 Simple share intent in an Expo Native Module
MIT License
119 stars 10 forks source link

Expo Doctor warning about @expo/config-plugins@~8.0.0 #65

Closed davidcarboni closed 1 month ago

davidcarboni commented 1 month ago

Describe the bug I'm seeing a warning when I run npx expo-doctor: Expected package @expo/config-plugins@~8.0.0 (found 7.9.2)

I ran yarn why @expo/config-plugins and got Hoisted from "expo-share-intent#expo-constants#@expo#config#@expo#config-plugins" so I'm wondering if perhaps the version of expo-constants needs updating?

Might not be an issue but I thought I'd mention it.

To Reproduce My full command is:

yarn add expo@latest && yarn upgrade && npx expo install --fix && npx expo-doctor

Output is:

$ yarn add expo@latest && yarn upgrade && npx expo install --fix && npx expo-doctor
...
✖ Check that native modules use compatible support package versions for installed Expo SDK

Detailed check results:

Expected package @expo/config-plugins@~8.0.0
Found invalid:
  @expo/config-plugins@7.9.2
  @expo/config-plugins@7.9.2
  (for more info, run: npm why @expo/config-plugins)
Advice: Upgrade dependencies that are using the invalid package versions0.

One or more checks failed, indicating possible issues with the project.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

$ yarn why @expo/config-plugins
yarn why v1.22.22
warning ../../../package.json: No license field
[1/4] Why do we have the module "@expo/config-plugins"...?
[2/4] Initialising dependency graph...
[3/4] Finding dependency...
[4/4] Calculating file sizes...
=> Found "@expo/config-plugins@8.0.4"
info Has been hoisted to "@expo/config-plugins"
info Reasons this module exists
   - Hoisted from "expo#@expo#config-plugins"
   - Hoisted from "@expo#config#@expo#config-plugins"
   - Hoisted from "expo#@expo#cli#@expo#config-plugins"
   - Hoisted from "expo-splash-screen#@expo#prebuild-config#@expo#config-plugins"
   - Hoisted from "expo#@expo#cli#@expo#prebuild-config#@expo#config-plugins"
info Disk size without dependencies: "1.73MB"
info Disk size with unique dependencies: "3.39MB"
info Disk size with transitive dependencies: "7.77MB"
info Number of shared dependencies: 47
=> Found "expo-share-intent#@expo/config-plugins@7.9.2"
info Reasons this module exists
   - "expo-share-intent" depends on it
   - Hoisted from "expo-share-intent#expo-constants#@expo#config#@expo#config-plugins"
info Disk size without dependencies: "1.75MB"
info Disk size with unique dependencies: "3.68MB"
info Disk size with transitive dependencies: "8.29MB"
info Number of shared dependencies: 56
=> Found "expo-linking#@expo/config-plugins@7.9.2"
info Reasons this module exists
   - "expo-share-intent#expo-linking#expo-constants#@expo#config" depends on it
   - Hoisted from "expo-share-intent#expo-linking#expo-constants#@expo#config#@expo#config-plugins"
info Disk size without dependencies: "2.03MB"
info Disk size with unique dependencies: "3.96MB"
info Disk size with transitive dependencies: "8.57MB"
info Number of shared dependencies: 56
Done in 0.61s.

Environment give the output of the following command npx react-native info

info Fetching system and libraries information...
System:
  OS: Linux 6.8 Ubuntu 24.04 LTS 24.04 LTS (Noble Numbat)
  CPU: (8) x64 Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz
  Memory: 9.61 GB / 15.21 GB
  Shell:
    version: 5.2.21
    path: /bin/bash
Binaries:
  Node:
    version: 18.18.0
    path: ~/.nvm/versions/node/v18.18.0/bin/node
  Yarn:
    version: 1.22.22
    path: ~/.nvm/versions/node/v18.18.0/bin/yarn
  npm:
    version: 10.8.0
    path: ~/.nvm/versions/node/v18.18.0/bin/npm
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
IDEs:
  Android Studio: Not Found
Languages:
  Java: Not Found
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.1
    wanted: 0.74.1
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Additional context Add any other context about the problem here.

achorein commented 1 month ago

indeed an update of the plugin dependency is needed.

achorein commented 1 month ago

fixed in 2.0.1

davidcarboni commented 1 month ago

I've upgraded to 2.0.1 but I'm still seeing the warning.

I've been looking more closely to see where it's coming from and I think it could be coming from expo-linking and expo-constants:

''' => Found "expo-share-intent#@expo/config#@expo/config-plugins@7.9.2" info This module exists because "expo-share-intent#expo-constants#@expo#config" depends on it. => Found "expo-linking#@expo/config-plugins@7.9.2" info Reasons this module exists

I've double-checked I'm definitely on 2.0.1 and that the package.json I have specified 8.0.0:

  "dependencies": {
    "@expo/config-plugins": "~8.0.0",
    "expo-constants": "~15.4.6",
    "expo-linking": "~6.2.2"
  },

Looking at npm it seems like expo-linking and expo-constants have updated versions so this might be why the version is being held back.

I've created a PR that updates these versions if this is helpful: https://github.com/achorein/expo-share-intent/pull/69

achorein commented 1 month ago

@davidcarboni sorry it's v2.1.0 not 2.0.1