aboutsummaryrefslogtreecommitdiff
path: root/src/js/builtins/ProcessObjectInternals.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-09 16:33:49 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-09 16:33:49 -0700
commitca42c820d29400d8bd93f493064db029f6d4420d (patch)
tree7d05580229fbab45a9fa54bec19d320d16a76ce2 /src/js/builtins/ProcessObjectInternals.ts
parent565d1689e9f2c1f6b657f14b07fa9b95e50a5a56 (diff)
downloadbun-ca42c820d29400d8bd93f493064db029f6d4420d.tar.gz
bun-ca42c820d29400d8bd93f493064db029f6d4420d.tar.zst
bun-ca42c820d29400d8bd93f493064db029f6d4420d.zip
Implement nearly all of `process` object methods and properties (#3581)
* Add special case * Make process object load faster * Fix openStdin --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/js/builtins/ProcessObjectInternals.ts')
-rw-r--r--src/js/builtins/ProcessObjectInternals.ts22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/js/builtins/ProcessObjectInternals.ts b/src/js/builtins/ProcessObjectInternals.ts
index 8b24e68ba..8e2449a43 100644
--- a/src/js/builtins/ProcessObjectInternals.ts
+++ b/src/js/builtins/ProcessObjectInternals.ts
@@ -49,9 +49,14 @@ export function binding(bindingName) {
return constants;
}
-export function getStdioWriteStream(fd_, rawRequire) {
- var module = { path: "node:process", require: rawRequire };
- var require = path => module.require(path);
+export function getStdioWriteStream(fd_) {
+ var require = path => {
+ var existing = $requireMap.get(path);
+ if (existing) return existing.exports;
+
+ return $internalRequire(path);
+ };
+ var module = { path: "node:process", require };
function createStdioWriteStream(fd_) {
var { Duplex, eos, destroy } = require("node:stream");
@@ -472,10 +477,15 @@ export function getStdioWriteStream(fd_, rawRequire) {
return new FastStdioWriteStream(fd_);
}
-export function getStdinStream(fd_, rawRequire, Bun) {
- var module = { path: "node:process", require: rawRequire };
- var require = path => module.require(path);
+export function getStdinStream(fd_) {
+ var require = path => {
+ var existing = $requireMap.get(path);
+ if (existing) return existing.exports;
+
+ return $internalRequire(path);
+ };
+ var module = { path: "node:process", require: require };
var { Duplex, eos, destroy } = require("node:stream");
var StdinStream = class StdinStream extends Duplex {