Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upMeet licensing requirements
| require('./lib/check-node-version') | |
| require('./lib/handle-exceptions') | |
| require('./lib/feature-flags') | |
| const express = require('express') | |
| const portUsed = require('port-used') | |
| const warmServer = require('./lib/warm-server') | |
| const port = Number(process.env.PORT) || 4000 | |
| const app = express() | |
| require('./middleware')(app) | |
| // prevent the app from starting up durings tests | |
| /* istanbul ignore next */ | |
| if (!module.parent) { | |
| // check that the development server is not already running | |
| portUsed.check(port).then(async status => { | |
| if (status === false) { | |
| // If in production, warm the server at the start | |
| if (process.env.NODE_ENV === 'production') await warmServer() | |
| // workaround for https://github.com/expressjs/express/issues/1101 | |
| const server = require('http').createServer(app) | |
| server.listen(port, () => console.log(`app running on http://localhost:${port}`)) | |
| .on('error', () => server.close()) | |
| } else { | |
| console.log(`\n\n\nPort ${port} is not available. You may already have a server running.`) | |
| console.log('Try running `killall node` to shut down all your running node processes.\n\n\n') | |
| console.log('\x07') // system 'beep' sound | |
| process.exit(1) | |
| } | |
| }) | |
| } | |
| module.exports = app |

