aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/cluster.exports.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-04-01 21:13:27 -0700
committerGravatar GitHub <noreply@github.com> 2023-04-01 21:13:27 -0700
commitfcd8b828644cc3cf2bd46bbfc0f6b90789d5dba2 (patch)
tree075ad9fc3375a56b71da4ce6625419e5dd10cdba /src/bun.js/cluster.exports.js
parent63d138b0466765e012aaa216ab684b2d39888e64 (diff)
downloadbun-fcd8b828644cc3cf2bd46bbfc0f6b90789d5dba2.tar.gz
bun-fcd8b828644cc3cf2bd46bbfc0f6b90789d5dba2.tar.zst
bun-fcd8b828644cc3cf2bd46bbfc0f6b90789d5dba2.zip
Add stubs for missing node builtins (#2534)
* Stub `node:v8` * Stub `node:trace_events` * Stub `node:repl` * Stub `node:inspector` * Stub `node:http2` * Stub `node:diagnostics_channel` * Stub `node:dgram` * Stub `node:cluster` * Link stubs * cleanup * Clean up the test * Implement `node:vm` stub * Cleanup `v8` module stub * Add missing `promises` export to node:stream * Implement `node:stream/promise` * Implement `node:assert/strict` * cleanup * better errors * Increaase timeout * Update inspector.exports.js * Make the version consistent * Implement `process.binding("constants")` * Update runner.node.mjs --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/cluster.exports.js')
-rw-r--r--src/bun.js/cluster.exports.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/bun.js/cluster.exports.js b/src/bun.js/cluster.exports.js
new file mode 100644
index 000000000..201310dd5
--- /dev/null
+++ b/src/bun.js/cluster.exports.js
@@ -0,0 +1,57 @@
+// This is a stub
+// We leave it in here to provide a better error message
+// TODO: implement node cluster
+const { EventEmitter } = import.meta.require("node:events");
+class TODO extends Error {
+ constructor(
+ message = "node:cluster is not implemented yet in Bun. Track the status: https://github.com/oven-sh/bun/issues/2428",
+ ) {
+ super(message);
+ this.name = "TODO";
+ }
+}
+
+export var SCHED_NONE = 0,
+ SCHED_RR = 1,
+ Worker,
+ schedulingPolicy = 2,
+ isWorker = false,
+ isPrimary = true,
+ isMaster = true,
+ cluster;
+
+Worker = function Worker() {
+ throw new TODO("Worker is not implemented yet in Bun");
+};
+
+// TODO: is it okay for this to be a class?
+class Cluster extends EventEmitter {
+ static isWorker = false;
+ static isPrimary = true;
+ static isMaster = true;
+
+ static Worker = Worker;
+
+ fork() {
+ throw new TODO();
+ }
+
+ disconnect() {
+ throw new TODO();
+ }
+
+ setupMaster() {
+ throw new TODO();
+ }
+
+ settings = {};
+ workers = {};
+ SCHED_NONE = 0;
+ SCHED_RR = 1;
+ schedulingPolicy = 2;
+ [Symbol.for("CommonJS")] = 0;
+}
+
+cluster = new Cluster();
+
+export { cluster as default };