From ce749992b9bf4db7877b8f7cd05e5279f488c152 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 1 Aug 2016 18:10:04 +0100 Subject: [PATCH] Revert "Fix port detection lag on OS X with Firewall enabled (#319)" The problem has since been fixed upstream. This reverts commit f7011e0472f8195924c9a3e6d705a8103bc97bde. --- package.json | 1 + scripts/eject.js | 1 - scripts/start.js | 2 +- scripts/utils/detectPort.js | 86 ------------------------------------- 4 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 scripts/utils/detectPort.js diff --git a/package.json b/package.json index bd9ea80558a..9062bd7e8d7 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "chalk": "1.1.3", "cross-spawn": "4.0.0", "css-loader": "0.23.1", + "detect-port": "0.1.4", "eslint": "3.1.1", "eslint-loader": "1.4.1", "eslint-plugin-flowtype": "2.4.0", diff --git a/scripts/eject.js b/scripts/eject.js index 2772aa2a3b3..0319b00b34f 100644 --- a/scripts/eject.js +++ b/scripts/eject.js @@ -40,7 +40,6 @@ prompt( path.join('scripts', 'build.js'), path.join('scripts', 'start.js'), path.join('scripts', 'utils', 'chrome.applescript'), - path.join('scripts', 'utils', 'detectPort.js'), path.join('scripts', 'utils', 'prompt.js') ]; diff --git a/scripts/start.js b/scripts/start.js index 3c8d8e46825..c93754df3b0 100644 --- a/scripts/start.js +++ b/scripts/start.js @@ -15,7 +15,7 @@ var webpack = require('webpack'); var WebpackDevServer = require('webpack-dev-server'); var execSync = require('child_process').execSync; var opn = require('opn'); -var detect = require('./utils/detectPort'); +var detect = require('detect-port'); var prompt = require('./utils/prompt'); var config = require('../config/webpack.config.dev'); diff --git a/scripts/utils/detectPort.js b/scripts/utils/detectPort.js deleted file mode 100644 index 759a59f8d04..00000000000 --- a/scripts/utils/detectPort.js +++ /dev/null @@ -1,86 +0,0 @@ -/* ================================================================ - * detect-port by xdf(xudafeng[at]126.com) - * - * first created at : Tue Mar 17 2015 00:16:10 GMT+0800 (CST) - * - * ================================================================ - * Copyright xdf - * - * Licensed under the MIT License - * You may not use this file except in compliance with the License. - * - * ================================================================ */ - -// We are forking this temporarily to resolve -// https://github.com/facebookincubator/create-react-app/issues/302. - -// We can replace this fork with `detect-port` package when this is merged: -// https://github.com/xudafeng/detect-port/pull/4. - -'use strict'; - -var net = require('net'); - -var inject = function(port) { - var options = global.__detect ? global.__detect.options : {}; - - if (options.verbose) { - console.log('port %d was occupied', port); - } -}; - -function detect(port, fn) { - - var _detect = function(port) { - return new Promise(function(resolve, reject) { - var socket = new net.Socket(); - socket.once('error', function() { - socket.removeAllListeners('connect'); - socket.removeAllListeners('error'); - socket.end(); - socket.destroy(); - socket.unref(); - var server = new net.Server(); - server.on('error', function() { - inject(port); - port++; - resolve(_detect(port)); - }); - - server.listen(port, function() { - server.once('close', function() { - resolve(port); - }); - server.close(); - }); - }); - socket.once('connect', function() { - inject(port); - port++; - resolve(_detect(port)); - socket.removeAllListeners('connect'); - socket.removeAllListeners('error'); - socket.end(); - socket.destroy(); - socket.unref(); - }); - socket.connect({ - port: port - }); - }); - } - - var _detect_with_cb = function(_fn) { - _detect(port) - .then(function(result) { - _fn(null, result); - }) - .catch(function(e) { - _fn(e); - }); - }; - - return fn ? _detect_with_cb(fn) : _detect(port); -} - -module.exports = detect;