33
33
34
34
// This file is compiled as if it's wrapped in a function with arguments
35
35
// passed by node::RunBootstrapping()
36
- /* global process, loaderExports , isMainThread, ownsProcessState */
36
+ /* global process, require, internalBinding , isMainThread, ownsProcessState */
37
37
/* global primordials */
38
38
39
- const { internalBinding, NativeModule } = loaderExports ;
40
39
const { Object, Symbol } = primordials ;
41
40
const config = internalBinding ( 'config' ) ;
42
- const { deprecate } = NativeModule . require ( 'internal/util' ) ;
41
+ const { deprecate } = require ( 'internal/util' ) ;
43
42
44
43
setupProcessObject ( ) ;
45
44
@@ -50,17 +49,17 @@ process.domain = null;
50
49
process . _exiting = false ;
51
50
52
51
// Bootstrappers for all threads, including worker threads and main thread
53
- const perThreadSetup = NativeModule . require ( 'internal/process/per_thread' ) ;
52
+ const perThreadSetup = require ( 'internal/process/per_thread' ) ;
54
53
// Bootstrappers for the main thread only
55
54
let mainThreadSetup ;
56
55
// Bootstrappers for the worker threads only
57
56
let workerThreadSetup ;
58
57
if ( ownsProcessState ) {
59
- mainThreadSetup = NativeModule . require (
58
+ mainThreadSetup = require (
60
59
'internal/process/main_thread_only'
61
60
) ;
62
61
} else {
63
- workerThreadSetup = NativeModule . require (
62
+ workerThreadSetup = require (
64
63
'internal/process/worker_thread_only'
65
64
) ;
66
65
}
@@ -116,14 +115,14 @@ if (isMainThread) {
116
115
117
116
const {
118
117
emitWarning
119
- } = NativeModule . require ( 'internal/process/warning' ) ;
118
+ } = require ( 'internal/process/warning' ) ;
120
119
121
120
process . emitWarning = emitWarning ;
122
121
123
122
const {
124
123
nextTick,
125
124
runNextTicks
126
- } = NativeModule . require ( 'internal/process/next_tick' ) . setup ( ) ;
125
+ } = require ( 'internal/process/next_tick' ) . setup ( ) ;
127
126
128
127
process . nextTick = nextTick ;
129
128
// Used to emulate a tick manually in the JS land.
@@ -161,7 +160,7 @@ if (credentials.implementsPosixCredentials) {
161
160
162
161
if ( isMainThread ) {
163
162
const { getStdout, getStdin, getStderr } =
164
- NativeModule . require ( 'internal/process/stdio' ) . getMainThreadStdio ( ) ;
163
+ require ( 'internal/process/stdio' ) . getMainThreadStdio ( ) ;
165
164
setupProcessStdio ( getStdout , getStdin , getStderr ) ;
166
165
} else {
167
166
const { getStdout, getStdin, getStderr } =
@@ -173,7 +172,7 @@ if (isMainThread) {
173
172
// process. They use the same functions as the JS embedder API. These callbacks
174
173
// are setup immediately to prevent async_wrap.setupHooks() from being hijacked
175
174
// and the cost of doing so is negligible.
176
- const { nativeHooks } = NativeModule . require ( 'internal/async_hooks' ) ;
175
+ const { nativeHooks } = require ( 'internal/async_hooks' ) ;
177
176
internalBinding ( 'async_wrap' ) . setupHooks ( nativeHooks ) ;
178
177
179
178
// XXX(joyeecheung): this has to be done after the initial load of
@@ -183,7 +182,7 @@ if (config.hasInspector) {
183
182
const {
184
183
enable,
185
184
disable
186
- } = NativeModule . require ( 'internal/inspector_async_hook' ) ;
185
+ } = require ( 'internal/inspector_async_hook' ) ;
187
186
internalBinding ( 'inspector' ) . registerAsyncHook ( enable , disable ) ;
188
187
}
189
188
@@ -193,22 +192,22 @@ if (!config.noBrowserGlobals) {
193
192
// https://console.spec.whatwg.org/#console-namespace
194
193
exposeNamespace ( global , 'console' , createGlobalConsole ( global . console ) ) ;
195
194
196
- const { URL , URLSearchParams } = NativeModule . require ( 'internal/url' ) ;
195
+ const { URL , URLSearchParams } = require ( 'internal/url' ) ;
197
196
// https://url.spec.whatwg.org/#url
198
197
exposeInterface ( global , 'URL' , URL ) ;
199
198
// https://url.spec.whatwg.org/#urlsearchparams
200
199
exposeInterface ( global , 'URLSearchParams' , URLSearchParams ) ;
201
200
202
201
const {
203
202
TextEncoder, TextDecoder
204
- } = NativeModule . require ( 'internal/encoding' ) ;
203
+ } = require ( 'internal/encoding' ) ;
205
204
// https://encoding.spec.whatwg.org/#textencoder
206
205
exposeInterface ( global , 'TextEncoder' , TextEncoder ) ;
207
206
// https://encoding.spec.whatwg.org/#textdecoder
208
207
exposeInterface ( global , 'TextDecoder' , TextDecoder ) ;
209
208
210
209
// https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope
211
- const timers = NativeModule . require ( 'timers' ) ;
210
+ const timers = require ( 'timers' ) ;
212
211
defineOperation ( global , 'clearInterval' , timers . clearInterval ) ;
213
212
defineOperation ( global , 'clearTimeout' , timers . clearTimeout ) ;
214
213
defineOperation ( global , 'setInterval' , timers . setInterval ) ;
@@ -302,7 +301,7 @@ Object.defineProperty(process, 'features', {
302
301
fatalException,
303
302
setUncaughtExceptionCaptureCallback,
304
303
hasUncaughtExceptionCaptureCallback
305
- } = NativeModule . require ( 'internal/process/execution' ) ;
304
+ } = require ( 'internal/process/execution' ) ;
306
305
307
306
process . _fatalException = fatalException ;
308
307
process . setUncaughtExceptionCaptureCallback =
@@ -312,7 +311,7 @@ Object.defineProperty(process, 'features', {
312
311
}
313
312
314
313
function setupProcessObject ( ) {
315
- const EventEmitter = NativeModule . require ( 'events' ) ;
314
+ const EventEmitter = require ( 'events' ) ;
316
315
const origProcProto = Object . getPrototypeOf ( process ) ;
317
316
Object . setPrototypeOf ( origProcProto , EventEmitter . prototype ) ;
318
317
EventEmitter . call ( process ) ;
@@ -391,7 +390,7 @@ function setupGlobalProxy() {
391
390
}
392
391
393
392
function setupBuffer ( ) {
394
- const { Buffer } = NativeModule . require ( 'buffer' ) ;
393
+ const { Buffer } = require ( 'buffer' ) ;
395
394
const bufferBinding = internalBinding ( 'buffer' ) ;
396
395
397
396
// Only after this point can C++ use Buffer::New()
@@ -404,9 +403,9 @@ function setupBuffer() {
404
403
405
404
function createGlobalConsole ( consoleFromVM ) {
406
405
const consoleFromNode =
407
- NativeModule . require ( 'internal/console/global' ) ;
406
+ require ( 'internal/console/global' ) ;
408
407
if ( config . hasInspector ) {
409
- const inspector = NativeModule . require ( 'internal/util/inspector' ) ;
408
+ const inspector = require ( 'internal/util/inspector' ) ;
410
409
// This will be exposed by `require('inspector').console` later.
411
410
inspector . consoleFromVM = consoleFromVM ;
412
411
// TODO(joyeecheung): postpone this until the first time inspector
@@ -424,8 +423,7 @@ function setupQueueMicrotask() {
424
423
get ( ) {
425
424
process . emitWarning ( 'queueMicrotask() is experimental.' ,
426
425
'ExperimentalWarning' ) ;
427
- const { queueMicrotask } =
428
- NativeModule . require ( 'internal/queue_microtask' ) ;
426
+ const { queueMicrotask } = require ( 'internal/queue_microtask' ) ;
429
427
430
428
Object . defineProperty ( global , 'queueMicrotask' , {
431
429
value : queueMicrotask ,
0 commit comments