Remix.run Logo
bartlomieju 2 hours ago

Gee, sorry to hear that. It's Bartek from the Deno team here. This is really a whack-a-mole. We currently present the latest stable Node.js version (26.3.0) so the error is not correct - I bet it's probing for something stupid like no of arguments a certain function supports. Is your project open source so I can take a look myself?

catapart 2 hours ago | parent | next [-]

unfortunately, while the project is in the public domain, it's pre-alpha so I haven't made the repo public yet.

but the project is structured the same as another public domain project I've built, and I just checked to make sure it has the same issue. I've gone ahead and made that project public so you can give it a try[0].

but, just to be clear, I don't think the message is wrong? The Node version on this machine is out of date. And when comparing the deno.lock file to the bun.lock file, I can see that the deno.lock has a slightly newer version (8.1 vs 8.0) of vite. So I think the message could be correct and is just telling me to update my version of Node, which is perfectly reasonable. It's just the discrepancy between not needing the newer version of vite/node on bun while invoking an error using deno. Feels like I should have either gotten perfectly matching versions, or error messages (with commands) to update node.

in any case, if you're still interested in seeing the error yourself, my steps were: 1. clone the repo 2. run deno install 3. run deno task dev

[0] https://gitlab.com/cynic-devs/magnitce-code-example

nwhit an hour ago | parent | next [-]

What node version do you have installed? I cannot reproduce the issue on that repo, I've tried with node versions all the way back to node 12.

catapart an hour ago | parent [-]

here's a dump of the console:

```

catapart@snake:~/Development/magnitce-code-example$ deno install

Warning The following packages are deprecated:

┖─ npm:boolean@3.2.0 (Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.)

catapart@snake:~/Development/magnitce-code-example$ deno task dev

Task dev vite

You are using Node.js 20.11.1. Vite requires Node.js version 20.19+ or 22.12+. Please upgrade your Node.js version. error: Uncaught (in promise) SyntaxError: The requested module 'node:util' does not provide an export named 'parseEnv' at file:///home/catapart/Development/magnitce-code-example/node_modules/.deno/vite@8.1.0/node_modules/vite/dist/node/chunks/node.js:11:46

    at async CAC.<anonymous> (file:///home/catapart/Development/magnitce-code-example/node_modules/.deno/vite@8.1.0/node_modules/vite/dist/node/cli.js:706:27)
```

also: I'm using Linux Mint, if it matters.

bartlomieju 38 minutes ago | parent [-]

Okay I traced it, the problem is in `node_modules/vite/dist/node/cli.js`:

``` function checkNodeVersion(nodeVersion) { const major = parseInt(nodeVersion.split(".")[0], 10); const minor = parseInt(nodeVersion.split(".")[1], 10); return (major === 20 && minor >= 19) || (major === 22 && minor >= 12) || major > 22; } if (!checkNodeVersion(process.versions.node)) console.warn(`You are using Node.js ${process.versions.node}. Vite requires Node.js version 20.19+ or 22.12+. Please upgrade your Node.js version.`); ```

And that error should be thrown only in Deno < 2.2 which presented `process.version` as `20.11.1`.

Are you 100% sure this is not running some old version of Deno on your system?

catapart 27 minutes ago | parent [-]

you nailed it! I tried it on a different machine, just to be sure, and it worked without a problem. So then I did a full restart on the mint machine and I got a whole new error that was talking about missing files. So I uninstalled deno and reinstalled it, and it worked exactly like it did on the other machine.

I actually started this after another user said they couldn't reproduce the issue, but you figured it out before I finished reporting back.

Thanks for straightening me out on this! As I said a few days ago on the Deno Desktop HN Topic, I'm looking forward to this newest version!

WorldMaker an hour ago | parent | prev [-]

The release notes here indicate that if a script shells out to node and you have a node installed Deno lets the installed node run instead of its own shim.

pixel_popping 2 hours ago | parent | prev [-]

You can have AI do way more automated testing in a loop, let cheap models run 24/7 so all edge cases can be found over time by pulling random repos, you must make sure the agent is entirely autonomous, ask another agent to make a list (also in a loop so it keeps appending to it) and another agent that try to fulfill "run it with Deno".

jdxcode an hour ago | parent | next [-]

I think node already does this (sans AI), idk where the code lives but deno could probably just use the same list of repos

someguyiguess 2 hours ago | parent | prev [-]

You're getting downvoted because "AI bad" but this is actually a good idea.

jorvi an hour ago | parent [-]

Because none of that requires "AI". You can use a script to clone GitHub top NPM repos (by whatever measure), and then 'simply' try to migrate them to Deno and log all the errors and warnings. Maybe you compile those errors in a neat list with an LLM, and ask it to emphasize things it considers important. But even that can be done inside the script with loglevels and maybe some regex.

Parent is getting downvoted because they're suggesting something that is akin to "why are you running this simple, reliable, efficient Python script instead of feeding inputs to an LLM and praying you get the outputs you want".

Respect yourself by respecting your craft.

pixel_popping 44 minutes ago | parent [-]

A script made by AI, digested by AI, organized by AI? Let's call it what it is.