summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-05-13 00:38:22 +0100
committerGitHub <noreply@github.com>2024-05-12 23:38:22 +0000
commit03a76f33ad0808c659116721a757958ad054dd25 (patch)
treebd985775693d065522331ef99af46a92aded8288
parent2b62a5b8140f884c35a4e1ae732a9de3dd8c6114 (diff)
fix(ext/node): process.uptime works without this (#23786)
Fixes https://github.com/denoland/deno/issues/23761 Co-authored-by: Satya Rohith <me@satyarohith.com>
-rw-r--r--ext/node/polyfills/process.ts11
-rw-r--r--tests/unit_node/process_test.ts9
2 files changed, 10 insertions, 10 deletions
diff --git a/ext/node/polyfills/process.ts b/ext/node/polyfills/process.ts
index b24bf6a8e..1a96af2a2 100644
--- a/ext/node/polyfills/process.ts
+++ b/ext/node/polyfills/process.ts
@@ -668,14 +668,9 @@ class Process extends EventEmitter {
execPath = path;
}
- setStartTime(t: number) {
- this.#startTime = t;
- }
-
- #startTime = 0;
/** https://nodejs.org/api/process.html#processuptime */
uptime() {
- return (Date.now() - this.#startTime) / 1000;
+ return Number((performance.now() / 1000).toFixed(9));
}
#allowedFlags = buildAllowedFlags();
@@ -887,16 +882,12 @@ internals.__bootstrapNodeProcess = function (
);
}
- process.setStartTime(Date.now());
-
arch = arch_();
platform = isWindows ? "win32" : Deno.build.os;
pid = Deno.pid;
initializeDebugEnv(nodeDebug);
- // @ts-ignore Remove setStartTime and #startTime is not modifiable
- delete process.setStartTime;
delete internals.__bootstrapNodeProcess;
} else {
// Warmup, assuming stdin/stdout/stderr are all terminals
diff --git a/tests/unit_node/process_test.ts b/tests/unit_node/process_test.ts
index b92be2f3c..15ad052bf 100644
--- a/tests/unit_node/process_test.ts
+++ b/tests/unit_node/process_test.ts
@@ -1083,3 +1083,12 @@ Deno.test({
process.setSourceMapsEnabled(true); // noop
},
});
+
+// Regression test for https://github.com/denoland/deno/issues/23761
+Deno.test({
+ name: "process.uptime without this",
+ fn() {
+ const v = (0, process.uptime)();
+ assert(v >= 0);
+ },
+});