parse-community / parse-community/parse-server

Define which `ParseServerOptions` apply to startup methods

Open
#8,300 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

New Feature / Enhancement Checklist
Current Limitation

There are two different types of startup methods (considering const { Parse Server } = require('parse-server')):

  1. new ParseServer() This returns an express middleware to be passed to an express app, designed to be compatible with existing web servers
  2. ParseServer.start This creates a Parse Server instance with it's own new express app.

As such, certain Parse Server options (cluster, startLiveQueryServer) are only compatible with the 2nd startup method, as if a developer is looking to mount to an existing express app, they will have to configure the clustering of the process themselves.

Feature / Enhancement Description

This can create some confusion as it can be assumed all Parse Server options are relevant to new ParseServer()

Example Use Case
Alternatives / Workarounds

Leave as is

3rd Party References

Sidenote

new ParseServer() returns differently depending on whether it's imported from:

const ParseServer = require('ParseServer') // creates Parse Server instance

or

const { ParseServer } = require('ParseServer') // creates express middleware (used in example project)

Discussed here https://github.com/parse-community/parse-server/pull/8232#issuecomment-1306718881

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

Compare the new ParseServer() middleware startup path with ParseServer.start, focusing on the cluster and startLiveQueryServer options and the linked pull-request discussion. Define and document which ParseServerOptions apply to each startup method, with the result making their supported use unambiguous.

Written by the indexing model from the issue text.

Assessment

Tech stack
express, javascript, node.js
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.