惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
博客园_首页
雷峰网
雷峰网
V
V2EX
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
T
Tailwind CSS Blog
小众软件
小众软件
博客园 - 叶小钗
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
MyScale Blog
MyScale Blog
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

Deno

Deno 2.8 | Deno Claw Patrol: an open-source security firewall for agents | Deno Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno Deno 2.7: Temporal API, Windows ARM, and npm overrides | Deno Build a dinosaur runner game with Deno, pt. 6 | Deno Build a dinosaur runner game with Deno, pt. 5 | Deno Deno Deploy is Generally Available | Deno Introducing Deno Sandbox | Deno Build a dinosaur runner game with Deno, pt. 4 | Deno Build a dinosaur runner game with Deno, pt. 3 | Deno Build a dinosaur runner game with Deno, pt. 2 | Deno React / Next.js Denial-of-Service Vulnerability: Deno Deploy users protected | Deno Deno 2.6: dx is the new npx | Deno Build a dinosaur runner game with Deno, pt. 1 | Deno React Server Functions / Next.js Vulnerability: Deno Deploy users protected | Deno My highlights from the new Deno Deploy | Deno Deno's Other Open Source Projects | Deno How Deno protects against npm exploits | Deno Help Us Raise $200k to Free JavaScript from Oracle | Deno Deno 2.5: Permissions in the config file | Deno Fresh 2.0 Graduates to Beta, Adds Vite Support | Deno Deno 2.4: deno bundle is back | Deno JavaScript™ Trademark Update | Deno What's coming to JavaScript | Deno A brief history of JavaScript | Deno Reports of Deno's Demise Have Been Greatly Exaggerated | Deno An Update on Fresh | Deno How Plaid migrated 100 services to a new database platform 5x faster with Deno | Deno Deno 2.3: Improved deno compile, local npm packages, and more | Deno Add JSR packages with pnpm and Yarn | Deno
Run a Node project with Deno and win prizes in the #NodeT...
Andy Jiang · 2023-12-21 · via Deno

UPDATE 2024/01/04: The challenge is over! Thanks everyone who participated. Read the results here.

It has been a busy year in Deno land. We launched Deno KV, Deno Queues, Deno Cron, Deno Subhosting, SaaSKit, shipped six minor updates to Fresh, 10 minor updates to the Deno CLI… the list goes on.

One of our biggest initiatives this year is improving Node and npm compatibility. The npm registry, the largest open source registry in the world, has many useful modules, and we want you to use them in Deno. Since introducing npm: specifiers in Deno 1.28, we’ve added built-in support for Node modules via node: specifiers, the ability to bring your own node modules, not to mention ongoing polyfills and improvements.

To encourage everyone to try Deno in their Node projects, we’re kicking off the #NodeToDenoChallenge.

Starting today until January 4th, run Deno in any of your Node projects, screenshot the output (success or failure), and tweet* it with the hashtag #NodeToDenoChallenge. We’ll pick 10 random participants and the individual who tried running Deno on the largest Node project by lines of code, and reward them with $100 gift card to the Deno merch store.

*And if you’re not on Twitter, you can still participate! Just paste your success or error output in GitHub issues or on Mastodon. As long as we can find it.

How to participate

Yes, it’s holiday season and no one can be bothered to do anything, so we’re making participation as streamlined as possible:

  1. Take any Node project. Doesn’t need to be an app or a server. Can be a script even.
  2. If necessary, update import statements to ESM. This means replacing
const module = require("module");

with

import module from "module";
  1. Add the below deno.json file, which enables various unstable Node/npm compatibility settings, to the root of your project.
{
  "unstable": [
    "bare-node-builtins",
    "byonm",
    "sloppy-imports",
    "unsafe-proto"
  ]
}
  1. Run this command:
deno run -A $FILE
$FILE is whichever file you would use in the command node $FILE.
  1. Take a screenshot of the output, regardless of success or failure.
  2. Share it on Twitter or create a GitHub issue. (If you want to be eligible for the “largest Node project” category, then you must also include a link to the GitHub so we can verify lines of code.)

And that’s it! Have a cup of cocoa and cozy up by the fire.

What are all these unstable Node compatibility settings?

For additional info on Node/npm interoperability with Deno, check out these resources:

Prizes

On January 4th, 10 randomly selected participants will win a $100 gift card to the Deno merch store. Multiple submissions do not increase the chances of being selected.

Additionally, the submission that attempted to run Deno on the largest Node project by lines of code is guaranteed to win a $100 gift card. (Note that in order to be eligible for this prize, you must share a link to the GitHub project for us to verify lines of code.)

Finally, to encourage everyone to get the word out and share it with your circles, if we get more than 100 unique submissions, we’ll raise the gift card prize from $100 to $200.

We’ll keep track of the total number of submissions in our Discord.

Results

We’ve received a total of 47 submissions, ranging from utility libraries like node-cbor and node-gamedig, scaffolding and build tools like create-react-app and create-vite, a VSCode extension manager, personal websites, apps, and bots, and more.

The largest Node project (by lines of JavaScript/TypeScript) submitted was kibana with 3,212,395 lines. The submission also included a step-by-step walkthrough of their attempt, such as modifying require statements, the set of enabled Deno flags, and removing some Node version validation. Congratulations to hverlin for winning the Largest Node Project prize.

Thank you everyone for participating and helping us improve our Node compatibility. If you were one of the 10 randomly selected, the Deno tam will contact you on Twitter, Discord, or email with prize information.

That’s it!

If you have any issues, let us know on Twitter or Discord.