Using the Loader Hook API for `require()`
Bradley Farias
What is the Loader Hook API
How could we send `require` requests to it?
Atomics
Atomics lets other threads *act* synchronous
Example Synchronous RPC using Atomics
`import` Workflow
import('fs')
Loaders
Default ESM resolver
.postMessage
Require uses a different resolver than import
`require` Workflow
require('fs')
Loaders
Default CJS resolver
BUT THATS ON THE MAIN THREAD!?
Require default hooks are on the main thread
`require` Workflow
require('fs')
Loaders
Default CJS resolver
require.resolve
Require has a different cache