process: move DEP0062 (node --debug) to end-of-life
This has already been practically end-of-life since `node --debug` alone would exit the process. This patch drops support of `node --inspect --debug-brk` as well. `node --inspect --debug-brk` has been deprecated since v8, it has been maintained so that vendors can target Node.js v6 and above without detecting versions. The support of `--inspect`, which starts from v6, will reach end-of-life in April 2019, it should be safe to drop the support of `--inspect --debug-brk` altogether in v12. Also removes `process._deprecatedDebugBrk` PR-URL: https://github.com/nodejs/node/pull/25828 Refs: https://github.com/nodejs/node/pull/12949 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
This commit is contained in:
parent
154efc9bde
commit
fa5e097530
@ -1279,9 +1279,12 @@ changes:
|
||||
- version: v8.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/10970
|
||||
description: Runtime deprecation.
|
||||
- version: REPLACEME
|
||||
pr-url: https://github.com/nodejs/node/pull/25828
|
||||
description: End-of-Life.
|
||||
-->
|
||||
|
||||
Type: Runtime
|
||||
Type: End-Of-Life
|
||||
|
||||
`--debug` activates the legacy V8 debugger interface, which was removed as
|
||||
of V8 5.8. It is replaced by Inspector which is activated with `--inspect`
|
||||
|
@ -203,14 +203,6 @@ Object.defineProperty(process, 'argv0', {
|
||||
});
|
||||
process.argv[0] = process.execPath;
|
||||
|
||||
// Handle `--debug*` deprecation and invalidation.
|
||||
if (process._deprecatedDebugBrk) {
|
||||
process.emitWarning(
|
||||
'`node --inspect --debug-brk` is deprecated. ' +
|
||||
'Please use `node --inspect-brk` instead.',
|
||||
'DeprecationWarning', 'DEP0062', undefined, true);
|
||||
}
|
||||
|
||||
const { deprecate } = NativeModule.require('internal/util');
|
||||
{
|
||||
// Install legacy getters on the `util` binding for typechecking.
|
||||
|
@ -36,6 +36,11 @@ void DebugOptions::CheckOptions(std::vector<std::string>* errors) {
|
||||
"are invalid. Please use `node --inspect` or "
|
||||
"`node --inspect-brk` instead.");
|
||||
}
|
||||
|
||||
if (deprecated_debug && inspector_enabled && break_first_line) {
|
||||
errors->push_back("[DEP0062]: `node --inspect --debug-brk` is deprecated. "
|
||||
"Please use `node --inspect-brk` instead.");
|
||||
}
|
||||
}
|
||||
|
||||
void PerProcessOptions::CheckOptions(std::vector<std::string>* errors) {
|
||||
|
@ -75,12 +75,6 @@ class DebugOptions : public Options {
|
||||
|
||||
HostPort host_port{"127.0.0.1", kDefaultInspectorPort};
|
||||
|
||||
bool deprecated_invocation() const {
|
||||
return deprecated_debug &&
|
||||
inspector_enabled &&
|
||||
break_first_line;
|
||||
}
|
||||
|
||||
bool wait_for_connect() const {
|
||||
return break_first_line || break_node_first_line;
|
||||
}
|
||||
|
@ -259,12 +259,6 @@ MaybeLocal<Object> CreateProcessObject(
|
||||
"_breakNodeFirstLine", True(env->isolate()));
|
||||
}
|
||||
|
||||
// --inspect --debug-brk
|
||||
if (env->options()->debug_options().deprecated_invocation()) {
|
||||
READONLY_DONT_ENUM_PROPERTY(process,
|
||||
"_deprecatedDebugBrk", True(env->isolate()));
|
||||
}
|
||||
|
||||
// --security-revert flags
|
||||
#define V(code, _, __) \
|
||||
do { \
|
||||
|
@ -2,32 +2,19 @@
|
||||
const common = require('../common');
|
||||
common.skipIfInspectorDisabled();
|
||||
|
||||
// This test ensures that the debug-brk flag will spin up a new process and
|
||||
// wait, rather than exit.
|
||||
|
||||
// This test ensures that the --debug-brk flag will exit the process
|
||||
const assert = require('assert');
|
||||
const fixtures = require('../common/fixtures');
|
||||
const spawn = require('child_process').spawn;
|
||||
const { spawnSync } = require('child_process');
|
||||
|
||||
// file name here doesn't actually matter since
|
||||
// debugger will connect regardless of file name arg
|
||||
// File name here doesn't actually matter the process will exit on start.
|
||||
const script = fixtures.path('empty.js');
|
||||
|
||||
function test(arg) {
|
||||
const child = spawn(process.execPath, ['--inspect', arg, script]);
|
||||
const argStr = child.spawnargs.join(' ');
|
||||
const fail = () => assert.fail(true, false, `'${argStr}' should not quit`);
|
||||
child.on('exit', fail);
|
||||
|
||||
// give node time to start up the debugger
|
||||
setTimeout(function() {
|
||||
child.removeListener('exit', fail);
|
||||
child.kill();
|
||||
}, 2000);
|
||||
|
||||
process.on('exit', function() {
|
||||
assert(child.killed);
|
||||
});
|
||||
const child = spawnSync(process.execPath, ['--inspect', arg, script]);
|
||||
const stderr = child.stderr.toString();
|
||||
assert(stderr.includes('DEP0062'));
|
||||
assert.strictEqual(child.status, 9);
|
||||
}
|
||||
|
||||
test('--debug-brk');
|
||||
|
Loading…
x
Reference in New Issue
Block a user