parse-community / parse-community/parse-server

Remove GraphQL API from codebase

Open
#7,979 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type:feature
Dominant language
JavaScript
Stars
21.4k
Forks
4.8k
Avg merge
7h 45m
Merged PRs (30d)
11

Description

New Feature / Enhancement Checklist
Current Limitation

The GraphQL API has been implemented into the core codebase of Parse Server. This has shown to cause many complications since its implementation, for example:

  • the GraphQL API is heavy; it adds a swath of complex dependencies that need to be kept up-to-date
  • developers who are not using GraphQL are still carrying the weights of an - unused - GraphQL API on their server, being affected by vulnerabilities in GraphQL dependencies, etc.
  • the implementation into the core codebase was really violating a core philosophy of Parse Server which is modularity, allowing developers to optionally add adapters as needed, to keep their deployment as lightweight as possible
Feature / Enhancement Description

Move GraphQL API out of Parse Server into its own adapter. Despite its initial hype, GraphQL won't be the last API of its kind and we will see it become obsolete at some point in the future.

An adapter implementation of the GraphQL API should follow https://github.com/parse-community/parse-server/issues/7744#issuecomment-1001753642 since it is the most sustainable approach, without just shifting the technological debt to another one-of-a-kind adapter interface with its custom specifications.

Example Use Case

n/a

Alternatives / Workarounds

n/a

3rd Party References

n/a

Contributor guide

Open the contributing guide

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.

Research direction

Start with the architecture discussion in issue #7744, especially comment 1001753642, and inventory the GraphQL implementation and its dependencies in Parse Server. Done means the GraphQL API is no longer part of the core codebase and can be provided as a separate adapter without requiring unused GraphQL dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, javascript, node.js
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.