old_contents: import express from 'express';
  import graphQLHTTP from 'express-graphql';
  import path from 'path';
  import webpack from 'webpack';
  import WebpackDevServer from 'webpack-dev-server';
  import {Schema} from './data/schema';
  
  const APP_PORT = 8888;
  const GRAPHQL_PORT = 8080;
  
  // Expose a GraphQL endpoint
  var graphQLServer = express();
  graphQLServer.use('/', graphQLHTTP({schema: Schema, pretty: true}));
  graphQLServer.listen(GRAPHQL_PORT, () => console.log(
    `GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}`
  ));
  
  // Serve the Relay app
  var compiler = webpack({
    entry: path.resolve(__dirname, 'js', 'app.js'),
    eslint: {
      configFile: '.eslintrc'
    },
    module: {
      loaders: [
        {
          test: /\.js$/,
          loader: 'babel',
          query: {stage: 0, plugins: ['./build/babelRelayPlugin']}
        },
        {
          test: /\.js$/,
          loader: 'eslint'
        },
        {
          test: /\.less$/,
          loader: 'style!css?modules&importLoaders=1' +
            '&localIdentName=[name]__[local]___[hash:base64:5]!less'
        }
      ]
    },
    output: {filename: 'app.js', path: '/'}
  });
  var app = new WebpackDevServer(compiler, {
    contentBase: '/public/',
    proxy: {'/graphql': `http://localhost:${GRAPHQL_PORT}`},
    publicPath: '/js/',
    stats: {colors: true}
  });
  // Serve static resources
  app.use('/', express.static('public'));
  app.use('/node_modules/react', express.static('node_modules/react'));
  app.use(
    '/node_modules/react-relay',
    express.static('node_modules/react-relay')
  );
  app.listen(APP_PORT, () => {
    console.log(`App is now running on http://localhost:${APP_PORT}`);
  });
  
new_contents: import express from 'express';
  import graphQLHTTP from 'express-graphql';
  import path from 'path';
  import webpack from 'webpack';
  import WebpackDevServer from 'webpack-dev-server';
  import {Schema} from './data/schema';
  
  const APP_PORT = 8888;
  const GRAPHQL_PORT = 8080;
  
  // Expose a GraphQL endpoint
  var graphQLServer = express();
  graphQLServer.use('/', graphQLHTTP({schema: Schema, pretty: true}));
  graphQLServer.listen(GRAPHQL_PORT, () => console.log(
    `GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}`
  ));
  
  // Serve the Relay app
  var compiler = webpack({
    entry: path.resolve(__dirname, 'js', 'app.js'),
    eslint: {
      configFile: '.eslintrc'
    },
    module: {
      loaders: [
        {
          test: /\.js$/,
          loader: 'babel',
          query: {stage: 0, plugins: ['./build/babelRelayPlugin']}
        },
        {
          test: /\.js$/,
          loader: 'eslint'
        },
        {
          test: /\.less$/,
          loader: 'style!css?modules&importLoaders=1' +
            '&localIdentName=[name]__[local]___[hash:base64:5]!less'
        }
      ]
    },
    output: {filename: 'app.js', path: '/'}
  });
  var app = new WebpackDevServer(compiler, {
    contentBase: '/public/',
    proxy: {'/graphql': `http://localhost:${GRAPHQL_PORT}`},
    publicPath: '/js/',
    stats: {colors: true}
  });
  // Serve static resources
  app.use('/', express.static('public'));
  app.use('/node_modules/react', express.static('node_modules/react'));
  app.use(
    '/node_modules/react-relay',
    express.static('node_modules/react-relay')
  );
  app.listen(process.env.PORT || APP_PORT, () => {
    console.log(`App is now running on http://localhost:${APP_PORT}`);
  });
  
subject: Fix for dynamic port injection