There are two different types of startup methods (considering const { Parse Server } = require('parse-server')):
new ParseServer() This returns an express middleware to be passed to an express app, designed to be compatible with existing web servers
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)
New Feature / Enhancement Checklist
Current Limitation
There are two different types of startup methods (considering const
{ Parse Server } = require('parse-server')
):new ParseServer()
This returns an express middleware to be passed to an express app, designed to be compatible with existing web serversParseServer.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