diff options
author | 2023-06-29 16:36:59 -0700 | |
---|---|---|
committer | 2023-06-29 16:37:38 -0700 | |
commit | 70a87e11818d36f5922a495e2aed8618b01e9a73 (patch) | |
tree | 33f09d2eb6a66cb960bfa0a159b2d08e47d5775b /src/js/node/os.js | |
parent | 7af757d104763a84e0c6d0b36eb0055afe1c40fa (diff) | |
download | bun-70a87e11818d36f5922a495e2aed8618b01e9a73.tar.gz bun-70a87e11818d36f5922a495e2aed8618b01e9a73.tar.zst bun-70a87e11818d36f5922a495e2aed8618b01e9a73.zip |
Make `node:os` `tmpdir` more consistent with Node.js
Diffstat (limited to 'src/js/node/os.js')
-rw-r--r-- | src/js/node/os.js | 23 |
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, |