summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2019-02-10 17:58:41 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2019-02-13 06:11:48 +0800
commit006e78cecbdd70f40a14a1485cd6a24b6fab2ee1 (patch)
tree9f6d4f3cf32ca22d196ec594b2b9cef7bc48f5f4 /lib
parente5da9226681a6d1efba09cef25618d7106ae2bb9 (diff)
downloadandroid-node-v8-006e78cecbdd70f40a14a1485cd6a24b6fab2ee1.tar.gz
android-node-v8-006e78cecbdd70f40a14a1485cd6a24b6fab2ee1.tar.bz2
android-node-v8-006e78cecbdd70f40a14a1485cd6a24b6fab2ee1.zip
process: refactor lib/internal/bootstrap/node.js
- Use `deprecate` from `internal/util` instead of from `util` - Split `setupGlobalVariables()` into `setupGlobalProxy()` and `setupBuffer()`, and move out manipulation of the process object. PR-URL: https://github.com/nodejs/node/pull/26033 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/internal/bootstrap/node.js33
1 files changed, 18 insertions, 15 deletions
diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index c40d4fe09a..7d3d267123 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -40,6 +40,7 @@ const { internalBinding, NativeModule } = loaderExports;
const { Object, Symbol } = primordials;
const { getOptionValue } = NativeModule.require('internal/options');
const config = internalBinding('config');
+const { deprecate } = NativeModule.require('internal/util');
setupTraceCategoryState();
@@ -63,7 +64,11 @@ setupProcessObject();
hasUncaughtExceptionCaptureCallback;
}
-setupGlobalVariables();
+setupGlobalProxy();
+setupBuffer();
+
+process.domain = null;
+process._exiting = false;
// Bootstrappers for all threads, including worker threads and main thread
const perThreadSetup = NativeModule.require('internal/process/per_thread');
@@ -235,7 +240,6 @@ Object.defineProperty(process, 'allowedNodeEnvironmentFlags', {
configurable: true
});
-const { deprecate } = NativeModule.require('internal/util');
// process.assert
process.assert = deprecate(
perThreadSetup.assert,
@@ -350,6 +354,13 @@ function setupProcessObject() {
const origProcProto = Object.getPrototypeOf(process);
Object.setPrototypeOf(origProcProto, EventEmitter.prototype);
EventEmitter.call(process);
+ // Make process globally available to users by putting it on the global proxy
+ Object.defineProperty(global, 'process', {
+ value: process,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ });
}
function setupProcessStdio(getStdout, getStdin, getStderr) {
@@ -377,29 +388,22 @@ function setupProcessStdio(getStdout, getStdin, getStderr) {
};
}
-function setupGlobalVariables() {
+function setupGlobalProxy() {
Object.defineProperty(global, Symbol.toStringTag, {
value: 'global',
writable: false,
enumerable: false,
configurable: true
});
- Object.defineProperty(global, 'process', {
- value: process,
- enumerable: false,
- writable: true,
- configurable: true
- });
- const util = NativeModule.require('util');
function makeGetter(name) {
- return util.deprecate(function() {
+ return deprecate(function() {
return this;
}, `'${name}' is deprecated, use 'global'`, 'DEP0016');
}
function makeSetter(name) {
- return util.deprecate(function(value) {
+ return deprecate(function(value) {
Object.defineProperty(this, name, {
configurable: true,
writable: true,
@@ -421,7 +425,9 @@ function setupGlobalVariables() {
set: makeSetter('root')
}
});
+}
+function setupBuffer() {
const { Buffer } = NativeModule.require('buffer');
const bufferBinding = internalBinding('buffer');
@@ -436,9 +442,6 @@ function setupGlobalVariables() {
writable: true,
configurable: true
});
-
- process.domain = null;
- process._exiting = false;
}
function setupGlobalTimeouts() {