diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2019-02-10 17:58:41 +0800 |
---|---|---|
committer | Joyee Cheung <joyeec9h3@gmail.com> | 2019-02-13 06:11:48 +0800 |
commit | 006e78cecbdd70f40a14a1485cd6a24b6fab2ee1 (patch) | |
tree | 9f6d4f3cf32ca22d196ec594b2b9cef7bc48f5f4 /lib | |
parent | e5da9226681a6d1efba09cef25618d7106ae2bb9 (diff) | |
download | android-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.js | 33 |
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() { |