[Webpack 5] NextJS 11 & Expo & SSR: GraphQL error occurred [getDataFromTree] ApolloError: Cannot use GraphQLSchema
<!-- Before opening an issue: if you use `npm` try running `yarn` instead; if
      you run `yarn`, please try running `npx yarn-deduplicate && yarn`. -->

### Summary

I'm using Next.JS 11 & Expo.

Bundler: webpack5

It fails only when webpack5 is enabled.
No real duplicated in node_modules.

That's the error I'm getting:
```
Ensure that there is only one instance of "graphql" in the node_modules
directory. If different versions of "graphql" are the dependencies of other
relied on modules, use "resolutions" to ensure only one version is installed.

https://yarnpkg.com/en/docs/selective-version-resolutions

Duplicate "graphql" modules cannot be used at the same time since different
versions may have different capabilities and behavior. The data from one
version used in the function from another could produce confusing and
spurious results.
    at new ApolloError (/Users/xercool/Projects/Project/node_modules/@apollo/client/errors/index.js:31:28)
    at /Users/xercool/Projects/Project/node_modules/@apollo/client/core/QueryManager.js:613:19
    at both (/Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/asyncMap.js:16:53)
    at /Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/asyncMap.js:9:72
    at new Promise (<anonymous>)
    at Object.then (/Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/asyncMap.js:9:24)
    at Object.error (/Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/asyncMap.js:17:49)
    at notifySubscription (/Users/xercool/Projects/Project/node_modules/zen-observable/lib/Observable.js:140:18)
    at onNotify (/Users/xercool/Projects/Project/node_modules/zen-observable/lib/Observable.js:179:3)
    at SubscriptionObserver.error (/Users/xercool/Projects/Project/node_modules/zen-observable/lib/Observable.js:240:7)
    at /Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/iteration.js:4:68
    at Array.forEach (<anonymous>)
    at iterateObserversSafely (/Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/iteration.js:4:25)
    at Object.error (/Users/xercool/Projects/Project/node_modules/@apollo/client/utilities/observables/Concast.js:36:21)
    at notifySubscription (/Users/xercool/Projects/Project/node_modules/zen-observable/lib/Observable.js:140:18)
    at onNotify (/Users/xercool/Projects/Project/node_modules/zen-observable/lib/Observable.js:179:3) {
  graphQLErrors: [],
  clientErrors: [],
  networkError: Error: Cannot use GraphQLSchema "{...}" from another module or realm.
```

```
Duplicate "graphql" modules cannot be used at the same time since different
  versions may have different capabilities and behavior. The data from one
  version used in the function from another could produce confusing and
  spurious results.
      at instanceOf (webpack-internal:///./node_modules/graphql/jsutils/instanceOf.mjs:33:13)
      at isSchema (webpack-internal:///./node_modules/graphql/type/schema.mjs:41:74)
      at assertSchema (webpack-internal:///./node_modules/graphql/type/schema.mjs:44:8)
      at validateSchema (webpack-internal:///./node_modules/graphql/type/validate.mjs:38:60)
      at assertValidSchema (webpack-internal:///./node_modules/graphql/type/validate.mjs:61:16)
      at assertValidExecutionArguments (webpack-internal:///./node_modules/graphql/execution/execute.mjs:172:72)
      at executeImpl (webpack-internal:///./node_modules/graphql/execution/execute.mjs:120:3)
      at execute (webpack-internal:///./node_modules/graphql/execution/execute.mjs:83:63)
      at eval (webpack-internal:///./utils/apollo.ts:34:3400)
      at /Users/xercool/Projects/Project/node_modules/postgraphile/src/postgraphile/http/createPostGraphileHttpRequestHandler.ts:157:16
      at /Users/xercool/Projects/Project/node_modules/postgraphile/src/postgraphile/withPostGraphileContext.ts:220:22
      at withAuthenticatedPgClient (/Users/xercool/Projects/Project/node_modules/postgraphile/src/postgraphile/withPost
```

I tried to remove everything (.next, .expo), added "resolution": { "graphql": "^15.0.0" } in package.json, ran `npx yarn-deduplicate`. Nothing helps.
Also added "mjs" into module-resolver/babel.
Only SSR fails. Don't see any issue when an actual graphql endpoint is called.

### Steps to reproduce

1. Setup expo, next.js
2. Add postgraphile as a Express middleware
3. Run yarn dev

### Expected results

SSR is working.

### Actual results

SSR is not working, fails with error. Apollo client state is `loading: false, error: <Error>, data: null`

### Package.json contents

```
"resolutions": {
    "graphql": "^15.0.0"
  },
  "dependencies": {
    "@apollo/client": "^3.3.19",
    "@expo/next-adapter": "3.0.5",
    "@formatjs/intl-utils": "^3.8.4",
    "@graphile-contrib/pg-simplify-inflector": "^6.1.0",
    "@graphile/pg-pubsub": "^4.12.1",
    "@react-native-community/datetimepicker": "3.5.2",
    "@react-native-community/masked-view": "0.1.11",
    "@react-navigation/compat": "^5.3.15",
    "@react-navigation/core": "^6.0.1",
    "@react-navigation/native": "^6.0.2",
    "@react-navigation/stack": "^6.0.6",
    "@tinymce/tinymce-react": "^3.12.6",
    "apollo-upload-client": "^16.0.0",
    "bcrypt": "^5.0.0",
    "classnames": "^2.3.1",
    "compression": "^1.7.4",
    "cookie-parser": "^1.4.4",
    "country-json": "^1.1.2",
    "electron": "^13.1.9",
    "expo": "^42.0.1",
    "expo-image-picker": "~10.2.2",
    "expo-linear-gradient": "~9.2.0",
    "express": "^4.17.1",
    "express-session": "^1.17.2",
    "graphile-worker": "^0.11.3",
    "graphql": "^15.5.1",
    "graphql-upload": "^12.0.0",
    "html-webpack-plugin": "^5.3.2",
    "isomorphic-unfetch": "^3.1.0",
    "lodash": "^4.17.20",
    "mime-types": "^2.1.32",
    "mysql2": "^2.2.5",
    "nanoid": "^3.1.25",
    "next": "^11.1.0",
    "next-connect": "^0.10.2",
    "next-fonts": "^1.5.1",
    "next-images": "^1.8.1",
    "next-offline": "^5.0.5",
    "next-with-apollo": "^5.2.1",
    "nodemailer": "^6.6.2",
    "passport": "^0.4.1",
    "passport-local": "^1.0.0",
    "postgraphile": "^4.12.3",
    "react": "17.0.2",
    "react-dom": "17.0.2",
    "react-hook-form": "^7.12.2",
    "react-intl": "^5.20.8",
    "react-merge-refs": "^1.1.0",
    "react-native": "^0.65.1",
    "react-native-autoheight-webview": "^1.5.7",
    "react-native-gesture-handler": "~1.10.3",
    "react-native-reanimated": "^2.2.0",
    "react-native-render-html": "^6.0.5",
    "react-native-screens": "~3.5.0",
    "react-native-svg": "12.1.1",
    "react-native-web": "~0.17.1",
    "react-native-web-hooks": "^3.0.1",
    "react-native-web-styles": "^1.0.0-c",
    "react-native-webview": "11.13.0",
    "react-navigation-hooks": "^1.1.0",
    "sequelize": "^6.6.5",
    "sequelize-slugify": "^1.5.0",
    "sharp": "^0.29.0",
    "striptags": "^3.2.0",
    "styled-components": "^5.3.0",
    "styled-system": "^5.1.5",
    "ts-node": "^10.2.0",
    "twitch": "^4.6.5",
    "typescript": "~4.3.5"
  },
  "devDependencies": {
    "@expo/electron-adapter": "^0.0.55",
    "@types/apollo-upload-client": "^14.1.0",
    "@types/bcrypt": "^5.0.0",
    "@types/classnames": "^2.3.1",
    "@types/compression": "^1.7.1",
    "@types/cookie-parser": "^1.4.2",
    "@types/express": "^4.17.13",
    "@types/express-session": "^1.17.4",
    "@types/jest": "^27.0.1",
    "@types/mime-types": "^2.1.0",
    "@types/mongoose": "^5.11.97",
    "@types/nanoid": "^3.0.0",
    "@types/next": "^9.0.0",
    "@types/nodemailer": "^6.4.4",
    "@types/passport": "^1.0.7",
    "@types/passport-local": "^1.0.34",
    "@types/react-native": "~0.64.13",
    "@types/react-router": "^5.1.16",
    "@types/react-router-dom": "^5.1.8",
    "@types/react-router-native": "^5.1.1",
    "@types/sequelize": "^4.28.10",
    "@types/sharp": "^0.28.5",
    "@types/styled-components": "^5.1.12",
    "@types/styled-components-react-native": "^5.1.1",
    "@types/styled-system": "^5.1.13",
    "@types/yargs": "^17.0.2",
    "@typescript-eslint/eslint-plugin": "^4.29.1",
    "@typescript-eslint/parser": "^4.29.1",
    "babel-plugin-module-resolver": "^4.1.0",
    "babel-plugin-styled-components": "^1.13.2",
    "babel-preset-expo": "8.4.1",
    "cross-env": "^7.0.3",
    "eslint": "^7.32.0",
    "eslint-config-next": "^11.1.0",
    "eslint-plugin-import": "^2.24.0",
    "eslint-plugin-react": "^7.24.0",
    "jest": "^27.0.6",
    "jest-watch-typeahead": "^0.6.4",
    "next-transpile-modules": "^8.0.0",
    "nodemon": "^2.0.12",
    "pg": "^8.7.1",
    "sequelize-auto": "^0.8.4",
    "sequelize-cli": "^6.2.0",
    "tsconfig-paths": "^3.10.1"
  },
```
Result of `yarn why graphql` command:

```
yarn why v1.22.10
[1/4] 🤔  Why do we have the module "graphql"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found "graphql@15.5.1"
info Has been hoisted to "graphql"
info Reasons this module exists
   - Specified in "dependencies"
   - Hoisted from "postgraphile#graphql"
   - Hoisted from "@types#apollo-upload-client#graphql"
   - Hoisted from "postgraphile#graphile-utils#graphql"
info Disk size without dependencies: "3.47MB"
info Disk size with unique dependencies: "3.47MB"
info Disk size with transitive dependencies: "3.47MB"
info Number of shared dependencies: 0
✨  Done in 0.89s.
```

Please help!