'use strict'; var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); let run = (() => { var _ref = (0, _asyncToGenerator3.default)(function* () { try { const projectDir = process.argv[2]; if (!projectDir) { throw new Error('No project dir specified.\nUsage: yarn dev <project-dir>'); } const app = (0, _next2.default)({ dev: true }); yield app.prepare(); const server = (0, _express2.default)(); const authenticationContext = yield (0, _DevToolsServer.createAuthenticationContextAsync)({ port: PORT }); server.get('/dev-tools-info', authenticationContext.requestHandler); server.get('/graphiql', (0, _apolloServerExpress.graphiqlExpress)({ endpointURL: authenticationContext.webSocketGraphQLUrl, websocketConnectionParams: { clientAuthenticationToken: authenticationContext.clientAuthenticationToken } })); server.get('*', app.getRequestHandler()); const httpServer = _http2.default.createServer(server); yield new _promise2.default(function (resolve, reject) { httpServer.once('error', reject); httpServer.once('listening', resolve); httpServer.listen(PORT, 'localhost'); }); (0, _DevToolsServer.startGraphQLServer)(projectDir, httpServer, authenticationContext); console.log('Starting project...'); yield _xdl.Project.startAsync(projectDir); let url = `http://localhost:${PORT}`; console.log(`Development server running at ${url}`); (0, _openBrowser2.default)(url); } catch (error) { console.error(error); process.exit(1); } }); return function run() { return _ref.apply(this, arguments); }; })(); var _apolloServerExpress = require('apollo-server-express'); var _xdl = require('@expo/xdl'); var _express = require('express'); var _express2 = _interopRequireDefault(_express); var _http = require('http'); var _http2 = _interopRequireDefault(_http); var _next = require('next'); var _next2 = _interopRequireDefault(_next); var _openBrowser = require('react-dev-utils/openBrowser'); var _openBrowser2 = _interopRequireDefault(_openBrowser); var _DevToolsServer = require('./DevToolsServer'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const PORT = 3333; run();