From a85ce885bddaf5fca00dc7d13eb3c5a99663e60f Mon Sep 17 00:00:00 2001 From: James M Snell Date: Thu, 28 May 2020 15:51:57 -0700 Subject: [PATCH] src: remove deprecated node debug command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `node debug` command has been deprecated for a while now. There's really no good reason to keep it around. Move to end of life. PR-URL: https://github.com/nodejs/node/pull/33648 Reviewed-By: Matteo Collina Reviewed-By: Michaël Zasso Reviewed-By: Сковорода Никита Андреевич Reviewed-By: Shelley Vohr --- doc/api/deprecations.md | 5 +++- lib/internal/main/inspect.js | 5 ---- src/node.cc | 2 +- test/parallel/test-debug-usage.js | 29 ------------------- test/parallel/test-debugger-pid.js | 46 ++++++------------------------ 5 files changed, 14 insertions(+), 73 deletions(-) delete mode 100644 test/parallel/test-debug-usage.js diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index 337b9b5925a36a..5df161c1c69344 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -1435,12 +1435,15 @@ an officially supported API. ### DEP0068: `node debug` -Type: Runtime +Type: End-of-life `node debug` corresponds to the legacy CLI debugger which has been replaced with a V8-inspector based CLI debugger available through `node inspect`. diff --git a/lib/internal/main/inspect.js b/lib/internal/main/inspect.js index f6777fe852bcfc..4873683048cc79 100644 --- a/lib/internal/main/inspect.js +++ b/lib/internal/main/inspect.js @@ -8,11 +8,6 @@ const { prepareMainThreadExecution(); -if (process.argv[1] === 'debug') { - process.emitWarning( - '`node debug` is deprecated. Please use `node inspect` instead.', - 'DeprecationWarning', 'DEP0068'); -} markBootstrapComplete(); diff --git a/src/node.cc b/src/node.cc index 3895b2b4076e0c..b7435d67f839ea 100644 --- a/src/node.cc +++ b/src/node.cc @@ -477,7 +477,7 @@ MaybeLocal StartExecution(Environment* env, StartExecutionCallback cb) { first_argv = env->argv()[1]; } - if (first_argv == "inspect" || first_argv == "debug") { + if (first_argv == "inspect") { return StartExecution(env, "internal/main/inspect"); } diff --git a/test/parallel/test-debug-usage.js b/test/parallel/test-debug-usage.js deleted file mode 100644 index eb9594f236b35c..00000000000000 --- a/test/parallel/test-debug-usage.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; -const common = require('../common'); -if (!common.hasCrypto) - common.skip('missing crypto'); - -const assert = require('assert'); -const spawn = require('child_process').spawn; - -const child = spawn(process.execPath, ['debug']); -child.stderr.setEncoding('utf8'); - -const expectedLines = [ - /^\(node:\d+\) \[DEP0068\] DeprecationWarning:/, - /Usage: .*node.* debug script\.js\r?\n .*node.* debug :\r?\n .*node.* debug -p \r?\n$/, -]; - -let actualUsageMessage = ''; -child.stderr.on('data', function(data) { - actualUsageMessage += data.toString(); -}); - -child.on('exit', common.mustCall(function(code) { - assert.strictEqual(code, 1); - for (let i = 0; i < expectedLines.length; i++) - assert.ok( - expectedLines[i].test(actualUsageMessage), - `${actualUsageMessage} did not match ${expectedLines[i]}` - ); -})); diff --git a/test/parallel/test-debugger-pid.js b/test/parallel/test-debugger-pid.js index 00f14b2cf5bb61..157939c05c73fe 100644 --- a/test/parallel/test-debugger-pid.js +++ b/test/parallel/test-debugger-pid.js @@ -1,56 +1,28 @@ 'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); + +if (common.isWindows) + common.skip('unsupported function on windows'); + const assert = require('assert'); const spawn = require('child_process').spawn; let buffer = ''; // Connect to debug agent -const interfacer = spawn(process.execPath, ['debug', '-p', '655555']); +const interfacer = spawn(process.execPath, ['inspect', '-p', '655555']); interfacer.stdout.setEncoding('utf-8'); interfacer.stderr.setEncoding('utf-8'); const onData = (data) => { data = (buffer + data).split('\n'); buffer = data.pop(); - data.forEach(function(line) { - interfacer.emit('line', line); - }); + data.forEach((line) => interfacer.emit('line', line)); }; interfacer.stdout.on('data', onData); interfacer.stderr.on('data', onData); -let lineCount = 0; -interfacer.on('line', function(line) { - let expected; - const pid = interfacer.pid; - switch (++lineCount) { - case 1: - expected = - new RegExp(`^\\(node:${pid}\\) \\[DEP0068\\] DeprecationWarning: `); - assert.match(line, expected); - break; - case 2: - assert.match(line, /Use `node --trace-deprecation \.\.\.` to show where /); - break; - case 3: - // Doesn't currently work on Windows. - if (!common.isWindows) { - expected = "Target process: 655555 doesn't exist."; - assert.strictEqual(line, expected); - } - break; - - default: - if (!common.isWindows) - assert.fail(`unexpected line received: ${line}`); - } -}); - -interfacer.on('exit', function(code, signal) { - assert.strictEqual(code, 1, `Got unexpected code: ${code}`); - if (!common.isWindows) { - assert.strictEqual(lineCount, 3); - } -}); +interfacer.on('line', common.mustCall((line) => { + assert.strictEqual(line, 'Target process: 655555 doesn\'t exist.'); +}));