-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
GraphQL versions mismatch between latest ParseServer and latest ParseDashboard #1656
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
Comments
I worked around this by making a dummy npm package, adding
and add the following to
Start the dashboard with |
@ivegner thanks, this is the nice workaround but still this issue should be solved because when running Parse Dashboard as separate process it should be mounted to the different port but for example Heroku or Google Cloud Run could expose process to some endpoint from one Docker Container only for one process not for both ParseServer and ParseDashboard :( My workaround was to completely remove And now I have 8 ParseServers as standalone processes at Heroku and Google Cloud Run and also 1 ParseDashboard at Google Cloud Run which has access to all 8 ParseServers instead of monolith combination where every ParseServer has it own bundeled ParseDashboard as middelware in the same Nest.js app. Both approaches have pros and cons, with same process you could share master key from the same env. var. |
I recently upgraded parse-dashboard and found myself into exactly this situation. Using npm resolutions just causes the graphql module to not be found for parse-server. |
This comment has been minimized.
This comment has been minimized.
I tried using the version of parse-dashboard which has updated dependencies here: #1677 That pushed graphql to 15.5.0. parse-server is on 15.4.0. It didn't work either. Using resolutions had the same problem where now parse-server can't find graphql at all. |
I am having the same problem as gnu-lorien describes. on npm install |
Please see parse-community/parse-server#7410 (comment). Generally, not every version of Parse Dashboard is compatible with every version of Parse Server. I think we haven't really considered both running in the same package and preventing peer dependency conflicts. That's a topic to keep in mind (even though it should self-resolve with npm 7) and we should probably provide a compatibility table. The current workaround is probably to launch Parse Server and Parse Dashboard in separate node processes. The fix is probably to identify the difference in dependency versions and submit a PR to bring both onto the same version. |
Actually the main issue should be parse-server depends on graphql-relay 0.6.0 and both parse-server & graphql-relay depends on different version of graphql. It can be fix by updating parse-server to depend on graphql-relay 0.7.0. |
Sounds even easier to fix, but why is this issue then open in the dashboard repo and not in the server repo? Or are you referring to a graphql-relay dependency in the dashboard? |
Same problem facing, I am running both, Parse Dashboard and Parse Server, in the same instance. Please fix it ASAP. |
#1807 should fix this issue. It contains several changes:
|
I think we can close this @mtrezza as GraphQL has been bumped for the dashboard? |
I think so too. Closing via #1807. |
Make sure these boxes are checked before submitting your issue -- thanks for reporting issues back to Parse Dashboard!
You're running version >=1.0.23 of Parse Dashboard.
You're running version >=2.3.2 of Parse Server.
You've searched through existing issues. Chances are that your issue has been reported or resolved before.
Environment Setup
Latest versions at 2021-02-19
NestJS 7.6.12
ParseServer 4.5.0
ParseDashboard 2.1.0
Steps to reproduce
ParseServer and ParseDashboard are configured as global middleware at NestJS which is on top od Express.js.
Error message:
Cannot use GraphQLObjectType \"RoleConnection\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.
When ParseDashboard is removed from
package.json
.dependencies
everything works.Latest ParseDashboard has dependency to the
[email protected]
but the latest ParseServer has[email protected]
which is not compatibile.Also setting the
npm
resolutions
inpackage.json
to use[email protected]
does not help.I've tried to increase
graphql
at ParseDashboard with own fork to15.4.0
but then build crashes.Now only option to have the latest ParseServer and the latest ParseDashboard in the same Node.js app is not possible :(
Implementation of ParseServer and ParseDashboard in the same Node.js (NestJS) app
Logs/Trace
Note: If you get a browser JS error please run
npm run dev
. This will provide source maps and a much more useful stack trace.The text was updated successfully, but these errors were encountered: