summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2018-12-26 19:53:36 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2019-01-05 01:25:31 +0800
commitb22c86ed3bd3242177b02a34292febe41275a52b (patch)
treee45fe8e41e4f8fbd20c2dbfffc8c9836ffac815b /lib
parentd4934ae6f2745f8fab1a83821f50290c9688c326 (diff)
downloadandroid-node-v8-b22c86ed3bd3242177b02a34292febe41275a52b.tar.gz
android-node-v8-b22c86ed3bd3242177b02a34292febe41275a52b.tar.bz2
android-node-v8-b22c86ed3bd3242177b02a34292febe41275a52b.zip
src: use `internalBinding('config').hasInspector` in JS land
Instead of `process.config.variables.v8_enable_inspector` which depends on the variable name in gyp files, or detecting `internalBinding('inspector').Connection`. PR-URL: https://github.com/nodejs/node/pull/25291 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/inspector.js10
-rw-r--r--lib/internal/bootstrap/cache.js4
-rw-r--r--lib/internal/bootstrap/node.js7
-rw-r--r--lib/internal/process/coverage.js5
-rw-r--r--lib/internal/util/inspector.js2
5 files changed, 16 insertions, 12 deletions
diff --git a/lib/inspector.js b/lib/inspector.js
index aac864901c..565b3aa972 100644
--- a/lib/inspector.js
+++ b/lib/inspector.js
@@ -1,6 +1,5 @@
'use strict';
-const EventEmitter = require('events');
const {
ERR_INSPECTOR_ALREADY_CONNECTED,
ERR_INSPECTOR_CLOSED,
@@ -9,13 +8,16 @@ const {
ERR_INVALID_ARG_TYPE,
ERR_INVALID_CALLBACK
} = require('internal/errors').codes;
+
+const { hasInspector } = internalBinding('config');
+if (!hasInspector)
+ throw new ERR_INSPECTOR_NOT_AVAILABLE();
+
+const EventEmitter = require('events');
const { validateString } = require('internal/validators');
const util = require('util');
const { Connection, open, url } = internalBinding('inspector');
-if (!Connection)
- throw new ERR_INSPECTOR_NOT_AVAILABLE();
-
const connectionSymbol = Symbol('connectionProperty');
const messageCallbacksSymbol = Symbol('messageCallbacks');
const nextIdSymbol = Symbol('nextId');
diff --git a/lib/internal/bootstrap/cache.js b/lib/internal/bootstrap/cache.js
index 580e7a9cb0..f69f1252ad 100644
--- a/lib/internal/bootstrap/cache.js
+++ b/lib/internal/bootstrap/cache.js
@@ -9,7 +9,7 @@ const { NativeModule } = require('internal/bootstrap/loaders');
const {
source, getCodeCache, compileFunction
} = internalBinding('native_module');
-const { hasTracing } = process.binding('config');
+const { hasTracing, hasInspector } = process.binding('config');
const depsModule = Object.keys(source).filter(
(key) => NativeModule.isDepsModule(key) || key.startsWith('internal/deps')
@@ -33,7 +33,7 @@ const cannotUseCache = [
// Skip modules that cannot be required when they are not
// built into the binary.
-if (process.config.variables.v8_enable_inspector !== 1) {
+if (!hasInspector) {
cannotUseCache.push(
'inspector',
'internal/util/inspector',
diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index db593e597d..089143e5d0 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -19,6 +19,7 @@
const { internalBinding, NativeModule } = loaderExports;
const { getOptionValue } = NativeModule.require('internal/options');
+const config = internalBinding('config');
function startup() {
setupTraceCategoryState();
@@ -164,7 +165,7 @@ function startup() {
NativeModule.require('internal/process/coverage').setupExitHooks();
}
- if (process.config.variables.v8_enable_inspector) {
+ if (config.hasInspector) {
NativeModule.require('internal/inspector_async_hook').setup();
}
@@ -280,7 +281,7 @@ function startup() {
// TODO(joyeecheung): this property has not been well-maintained, should we
// deprecate it in favor of a better API?
- const { isDebugBuild, hasOpenSSL } = internalBinding('config');
+ const { isDebugBuild, hasOpenSSL } = config;
Object.defineProperty(process, 'features', {
enumerable: true,
writable: false,
@@ -630,7 +631,7 @@ function setupGlobalConsole() {
writable: true
});
// TODO(joyeecheung): can we skip this if inspector is not active?
- if (process.config.variables.v8_enable_inspector) {
+ if (config.hasInspector) {
const inspector =
NativeModule.require('internal/console/inspector');
inspector.addInspectorApis(consoleFromNode, consoleFromVM);
diff --git a/lib/internal/process/coverage.js b/lib/internal/process/coverage.js
index ef37deba8a..95235c8ac9 100644
--- a/lib/internal/process/coverage.js
+++ b/lib/internal/process/coverage.js
@@ -51,12 +51,13 @@ function disableAllAsyncHooks() {
exports.writeCoverage = writeCoverage;
function setup() {
- const { Connection } = internalBinding('inspector');
- if (!Connection) {
+ const { hasInspector } = internalBinding('config');
+ if (!hasInspector) {
process._rawDebug('inspector not enabled');
return;
}
+ const { Connection } = internalBinding('inspector');
coverageConnection = new Connection((res) => {
if (coverageConnection._coverageCallback) {
coverageConnection._coverageCallback(res);
diff --git a/lib/internal/util/inspector.js b/lib/internal/util/inspector.js
index 7d22fdc80e..face748ab0 100644
--- a/lib/internal/util/inspector.js
+++ b/lib/internal/util/inspector.js
@@ -1,6 +1,6 @@
'use strict';
-const hasInspector = process.config.variables.v8_enable_inspector === 1;
+const { hasInspector } = internalBinding('config');
const inspector = hasInspector ? require('inspector') : undefined;
let session;