#Certain code prevents Deno from doing anything

1 messages · Page 1 of 1 (latest)

wheat cradle
#

Any time I try and use Deno with npm:[email protected], running my code has absolutely no output whatsoever, even breaking console.log() at the beginning of the file. I've tried running with a debugger but I get no output there too.

This is the module I'm trying to run, which wraps around the C library Libzmq under the hood. https://github.com/zeromq/zeromq.js

// minimal-repro.ts
// deno run --allow-all minimal-repro.ts

import * as zmq from "npm:[email protected]";

console.log("testing");
const sock = new zmq.Request(); // commenting this out will fix showing "testing" in console

deno 1.38.3 (release, x86_64-pc-windows-msvc)
v8 12.0.267.1
typescript 5.2.2

Edition Windows 11 Pro
Version 23H2
Installed on ‎09/‎05/‎2023
OS build 22631.2787
Experience Windows Feature Experience Pack 1000.22681.1000.0

This is my first time with Deno and I think I'm pushing the limits of npm/node compatibility right off the bat. I wanted to use Deno for my assignment to get some experience with it as it really appeals to me over Node.js.

I've attached screenshots comparing what happens when I run with/without commenting out the usage of the zeromq library.

I'm confused why I'd get no output whatsoever, with console.log() suddenly stop working.

Please suggest how I can try and run Deno more verbose/debug logs, or any other recommendations so I can get this working. 🙂

GitHub

:zap: Node.js bindings to the ØMQ library. Contribute to zeromq/zeromq.js development by creating an account on GitHub.

thorny nebulaBOT
#

I'm sorry to hear that you're having trouble with Deno and the zeromq library. It's great that you're trying to push the limits and explore Deno's compatibility with npm and Node.js modules. 🦕

From the documentation, it's clear that Deno has made significant strides in supporting npm packages, but it's also noted that this support is experimental and there might be scenarios where something doesn't work as expected. The zeromq library, which you're trying to use, might be one of those cases.

The zeromq library is a native Node.js module that provides bindings to the ZeroMQ library. Native modules are particularly challenging because they often rely on Node.js-specific APIs and they require a build step that involves compiling C or C++ code. This is something that Deno doesn't currently support out of the box.

The lack of output or error messages is indeed puzzling. One possibility is that the zeromq library or one of its dependencies is causing the Deno process to crash or hang before it has a chance to output anything.

To get more information about what's happening, you can try running Deno with the --unstable and --inspect flags. This will enable some unstable APIs and allow you to connect a debugger. Here's how you can do it:

deno run --unstable --inspect --allow-all minimal-repro.ts

Then, open chrome://inspect in Chrome or Edge, and click on the "Inspect" link under "Remote Target". This should open a DevTools window where you can see console output, set breakpoints, step through the code, and inspect variables.

If this doesn't help, it might be worth reaching out to the Deno community for help. You can do this by opening an issue on the Deno GitHub repository. Be sure to include all the details you've provided here, as well as any

lime comet
lime comet
#

whoops just saw that you've already opened one

wheat cradle
#

Thanks! Sorry for not linking it here earlier.

#

I remembered to do so just now

#

Also, just want to say I love your blog posts! They have been incredibly interesting reads