From 1586bf03f2036cfa031b533561597dcc01035ef4 Mon Sep 17 00:00:00 2001 From: xudafeng Date: Sun, 30 Oct 2016 09:29:12 +0800 Subject: [PATCH 1/2] update project config --- README.md | 16 ++++++++++------ bin/detect-port | 8 ++++++-- index.js | 2 +- lib/{index.js => detect-port.js} | 0 logo.png | Bin 0 -> 22145 bytes package.json | 2 +- test/cli.test.js | 2 +- test/detect-port.test.js | 8 ++++---- 8 files changed, 23 insertions(+), 15 deletions(-) rename lib/{index.js => detect-port.js} (100%) create mode 100644 logo.png diff --git a/README.md b/README.md index f272a70..e7455d9 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ -# detect-port +[![logo][logo-image]][logo-url] + +--- [![NPM version][npm-image]][npm-url] +[![node version][node-image]][node-url] [![build status][travis-image]][travis-url] [![Coveralls][coveralls-image]][coveralls-url] -[![node version][node-image]][node-url] [![npm download][download-image]][download-url] +[logo-image]: ./logo.png +[logo-url]: https://npmjs.org/package/detect-port [npm-image]: https://img.shields.io/npm/v/detect-port.svg?style=flat-square [npm-url]: https://npmjs.org/package/detect-port [travis-image]: https://img.shields.io/travis/xudafeng/detect-port.svg?style=flat-square @@ -48,17 +52,17 @@ detect(port, (err, _port) => { * for a yield syntax instead of callback function implement */ -var co = require('co'); +const co = require('co'); co(function *() { - var _port = yield detect(port); + const _port = yield detect(port); if (port === _port) { console.log(`port: ${port} was not occupied`); } else { console.log(`port: ${port} was occupied, try port: ${_port}`); } -})(); +}); /** * use as a promise @@ -78,7 +82,7 @@ detect(port) ``` -## Cli Tool +## Command Line Tool ```shell $ npm i detect-port -g diff --git a/bin/detect-port b/bin/detect-port index a4ad11a..8cc08ef 100755 --- a/bin/detect-port +++ b/bin/detect-port @@ -55,10 +55,14 @@ if (!arg_0) { console.log(` ${pkg.homepage}`); console.log(); } else { - main(port, (err, port) => { + main(port, (err, _port) => { if (err) { console.log(`get available port failed with ${err}`); } - console.log(`get available port ${port}`); + + if (port !== _port) { + console.log(`port ${port} was occupied`); + } + console.log(`get available port ${_port}`); }); } diff --git a/index.js b/index.js index 970d3b9..9f157c0 100644 --- a/index.js +++ b/index.js @@ -13,4 +13,4 @@ 'use strict'; -module.exports = require('./lib'); +module.exports = require('./lib/detect-port'); diff --git a/lib/index.js b/lib/detect-port.js similarity index 100% rename from lib/index.js rename to lib/detect-port.js diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc13db1073f76e113568ba30ae76d9837aa74eb GIT binary patch literal 22145 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 ZC$!{H1=G^`+~DDW=<6EXEJNBo{V!4CTHpWx literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 1b75469..d0b03fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "detect-port", - "version": "1.0.2", + "version": "1.0.4", "description": "detect available port", "keywords": [ "detect", diff --git a/test/cli.test.js b/test/cli.test.js index 4fdc4a4..08311f0 100644 --- a/test/cli.test.js +++ b/test/cli.test.js @@ -49,7 +49,7 @@ describe('command-line tool test', () => { it('should output available port from the given port', function *() { const givenPort = 8080; - var res = yield cliTest.execFile(binFile, [givenPort], {}); + const res = yield cliTest.execFile(binFile, [givenPort], {}); const port = parseInt(res.stdout.split(' ')[3], 10); port.should.within(givenPort, 65535); }); diff --git a/test/detect-port.test.js b/test/detect-port.test.js index 25e9091..391e611 100644 --- a/test/detect-port.test.js +++ b/test/detect-port.test.js @@ -18,7 +18,7 @@ const detectPort = require('..'); describe('detect port test', () => { it('callback with occupied port', done => { - var _port = 80; + const _port = 80; detectPort(_port, (err, port) => { if (err) { console.log(err); @@ -38,9 +38,9 @@ describe('detect port test', () => { }); it('generator usage', function *() { - var _port = 8080; + const _port = 8080; try { - var port = yield detectPort(_port); + const port = yield detectPort(_port); port.should.within(_port, 65535); } catch (err) { console.log(err); @@ -48,7 +48,7 @@ describe('detect port test', () => { }); it('promise usage', done => { - var _port = 8080; + const _port = 8080; detectPort(_port) .then(port => { port.should.within(_port, 65535); From 6bb468e821dd2d1181dca32c46e993787e6dc771 Mon Sep 17 00:00:00 2001 From: xudafeng Date: Sun, 30 Oct 2016 09:51:01 +0800 Subject: [PATCH 2/2] tweak testcase --- test/cli.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cli.test.js b/test/cli.test.js index 08311f0..840787b 100644 --- a/test/cli.test.js +++ b/test/cli.test.js @@ -48,7 +48,7 @@ describe('command-line tool test', () => { }); it('should output available port from the given port', function *() { - const givenPort = 8080; + const givenPort = 9000; const res = yield cliTest.execFile(binFile, [givenPort], {}); const port = parseInt(res.stdout.split(' ')[3], 10); port.should.within(givenPort, 65535);