From 18a78db95c7db90f8452ff0d043fcd5237247f48 Mon Sep 17 00:00:00 2001 From: TZ Date: Tue, 29 Aug 2017 16:08:37 +0800 Subject: [PATCH] feat: egg-bin debug should detect debugger type --- lib/cmd/debug.js | 8 +++++++- lib/command.js | 2 +- package.json | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/cmd/debug.js b/lib/cmd/debug.js index e9020afd..3e80677d 100644 --- a/lib/cmd/debug.js +++ b/lib/cmd/debug.js @@ -1,20 +1,26 @@ 'use strict'; +const semver = require('semver'); const Command = require('./dev'); class DebugCommand extends Command { constructor(rawArgv) { super(rawArgv); + const newDebugger = semver.gte(process.version, '8.0.0'); this.usage = 'Usage: egg-bin debug [dir] [options]'; this.options = { // set default to empty so `--inspect` will always pass to fork inspect: { description: 'V8 Inspector port', - default: '', + default: newDebugger ? '' : undefined, }, 'inspect-brk': { description: 'whether break at start', }, + debug: { + description: 'legacy debugger', + default: newDebugger ? undefined: '', + }, }; process.env.EGG_DEBUG = 'true'; } diff --git a/lib/command.js b/lib/command.js index c1f7c295..a0810300 100644 --- a/lib/command.js +++ b/lib/command.js @@ -24,7 +24,7 @@ class Command extends BaseCommand { // extract from WebStorm env `$NODE_DEBUG_OPTION` if (context.env.NODE_DEBUG_OPTION) { - debug('Use $NODE_DEBUG_OPTION: %s', context.env.NODE_DEBUG_OPTION); + console.log('Use $NODE_DEBUG_OPTION: %s', context.env.NODE_DEBUG_OPTION); const argvFromEnv = parser(context.env.NODE_DEBUG_OPTION); debugPort = findDebugPort(argvFromEnv); Object.assign(execArgvObj, extractExecArgv(argvFromEnv)); diff --git a/package.json b/package.json index e809931f..f8701309 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "mz-modules": "^2.0.0", "nyc": "^11.1.0", "power-assert": "^1.4.4", + "semver": "^5.4.1", "test-exclude": "^4.1.1", "yargs-parser": "^7.0.0", "ypkgfiles": "^1.4.0"