[node_experimental] TypeError: testEnabled is not a function
Describe the bug
Server.listen fails with an error: TypeError: testEnabled is not a function
To Reproduce
use rustyscript::{Error, Module, Runtime};
fn main() -> Result<(), Error> {
let module = Module::new(
"test.js",
r#"
import * as net from "node:net"
const server = net.createServer()
server.listen(8124, () => {
console.log("server bound")
})
"#
);
let () = Runtime::execute_module(
&module, vec![],
Default::default(),
&(),
)?;
Ok(())
}
Expected behavior
This JavaScript snippet works in Deno.
Seems I missed a function somewhere in my boostrapping! Seems to be part of the polyfills, I'm surprised its not there
Fixed in master, will leave this open this the next version publishes.
Thank you!
TypeError doesn't appear when running rustyscript from master, but the code from the example still doesn't work as it does in Deno.
The "server bound" message is never printed, and the server doesn't appear to be listening. Edited example (added await to prevent program from terminating immediately):
use rustyscript::{Error, Module, Runtime};
fn main() -> Result<(), Error> {
let module = Module::new(
"test.js",
r#"
import * as net from "node:net"
const server = net.createServer()
server.listen(8124, () => {
console.log("server bound")
})
export default async function test() {
await new Promise((resolve, reject) => {
server.on("listening", resolve)
server.on("error", reject)
})
}
"#
);
let mut runtime = Runtime::new(Default::default())?;
let handle = runtime.load_module(&module)?;
let () = runtime.call_entrypoint(
&handle,
&(),
)?;
Ok(())
}
Fixed in release 0.12.0