From 9b6aebbaacb10e9a21e6671bc9bef1b331a915a5 Mon Sep 17 00:00:00 2001 From: zuofenghua <11100776@bbktel.com> Date: Fri, 29 May 2020 11:55:18 +0800 Subject: [PATCH] fix: silent failure when port is used --- bin/vitepress.js | 6 ++++-- package.json | 1 + yarn.lock | 22 +++++++++++++++++++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/bin/vitepress.js b/bin/vitepress.js index 0d88de16..851ef85a 100755 --- a/bin/vitepress.js +++ b/bin/vitepress.js @@ -1,6 +1,7 @@ #!/usr/bin/env node const chalk = require('chalk') const argv = require('minimist')(process.argv.slice(2)) +const portfinder = require('portfinder') console.log(chalk.cyan(`vitepress v${require('../package.json').version}`)) console.log(chalk.cyan(`vite v${require('vite/package.json').version}`)) @@ -8,14 +9,15 @@ console.log(chalk.cyan(`vite v${require('vite/package.json').version}`)) const command = argv._[0] if (!command || command === 'dev') { - const port = argv.port || 3000 const root = command === 'dev' && argv._[1] if (root) { argv.root = root } require('../dist/node') .createServer(argv) - .then((server) => { + .then(async (server) => { + portfinder.basePort = parseInt(argv.port) || 3000 + const port = await portfinder.getPortPromise() server.listen(port, () => { console.log(`listening at http://localhost:${port}`) }) diff --git a/package.json b/package.json index 4e1cc17d..c4eb80d0 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "markdown-it-emoji": "^1.4.0", "markdown-it-table-of-contents": "^0.4.4", "minimist": "^1.2.5", + "portfinder": "^1.0.26", "prismjs": "^1.20.0", "slash": "^3.0.0", "vite": "^0.18.0", diff --git a/yarn.lock b/yarn.lock index 75dbcc31..fafb58fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -492,6 +492,13 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -1228,7 +1235,7 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@^3.0.0, debug@^3.1.0: +debug@^3.0.0, debug@^3.1.0, debug@^3.1.1: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -2496,7 +2503,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.13, lodash@^4.17.15: +lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -2722,7 +2729,7 @@ minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -3134,6 +3141,15 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" +portfinder@^1.0.26: + version "1.0.26" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" + integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.1" + postcss-calc@^7.0.1: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1"