aboutsummaryrefslogtreecommitdiff
path: root/src/js/node/os.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-11 19:14:34 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-11 19:14:34 -0700
commitcbb88672f217a90db1aa1eb29cd92d5d9035b22b (patch)
tree43a00501f3cde495967e116f0b660777051551f8 /src/js/node/os.js
parent1f900cff453700b19bca2acadfe26da4468c1282 (diff)
parent34b0e7a2bbd8bf8097341cdb0075d0908283e834 (diff)
downloadbun-jarred/esm-conditions.tar.gz
bun-jarred/esm-conditions.tar.zst
bun-jarred/esm-conditions.zip
Merge branch 'main' into jarred/esm-conditionsjarred/esm-conditions
Diffstat (limited to 'src/js/node/os.js')
-rw-r--r--src/js/node/os.js23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/js/node/os.js b/src/js/node/os.js
index 3315708ad..3cd0288bd 100644
--- a/src/js/node/os.js
+++ b/src/js/node/os.js
@@ -1,4 +1,22 @@
// Hardcoded module "node:os"
+
+export var tmpdir = function () {
+ var lazy = Symbol.for("Bun.lazy");
+ var primordials = globalThis[lazy]("primordials");
+
+ var { Bun } = primordials;
+ var env = Bun.env;
+
+ tmpdir = function () {
+ var path = env["TMPDIR"] || env["TMP"] || env["TEMP"] || "/tmp";
+ const length = path.length;
+ if (length > 1 && path[length - 1] === "/") path = path.slice(0, -1);
+ return path;
+ };
+
+ return tmpdir();
+};
+
function bound(obj) {
return {
arch: obj.arch.bind(obj),
@@ -13,7 +31,9 @@ function bound(obj) {
platform: obj.platform.bind(obj),
release: obj.release.bind(obj),
setPriority: obj.setPriority.bind(obj),
- tmpdir: obj.tmpdir.bind(obj),
+ get tmpdir() {
+ return tmpdir;
+ },
totalmem: obj.totalmem.bind(obj),
type: obj.type.bind(obj),
uptime: obj.uptime.bind(obj),
@@ -42,7 +62,6 @@ export var {
platform,
release,
setPriority,
- tmpdir,
totalmem,
type,
uptime,