---
title: "Popular Node.js practices to reconsider"
publication: "Node Weekly"
issue: 451
published_at: "2022-08-25"
canonical_url: "https://nodeweekly.com/issues/451"
---

Plus Node 18.8, and Deno and Bun both prepare to turn up the heat on Node in different ways. |        

#​451 — August 25, 2022 

[Read on the Web](https://nodeweekly.com/issues/451)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/zc2fzeienpwjbh7mfrnz.jpg)](https://blog.apify.com/announcing-crawlee-the-web-scraping-and-browser-automation-library/)  

[Crawlee: A New Web Scraping / Automation Library](https://blog.apify.com/announcing-crawlee-the-web-scraping-and-browser-automation-library/) — It’s always neat to see a new project launched with some fanfare. Crawlee gets a [▶️ 3-minute introductory screencast](https://www.youtube.com/watch?v=g1Ll9OlFwEQ), a [launch post](https://blog.apify.com/announcing-crawlee-the-web-scraping-and-browser-automation-library/), and a [nice homepage.](https://crawlee.dev/) It builds _on top_ of things like Puppeteer and Playwright but can handle proxies, retries, spidering, working around bot blocks, and the like. While it comes from Apify, it’s open source too. 

Apify   

[Popular Node.js Patterns and Tools to Reconsider?](https://practica.dev/blog/popular-nodejs-pattern-and-tools-to-reconsider/) — Yoni is well known for his work in cataloging [Node best practices](https://github.com/goldbergyoni/nodebestpractices) but he thinks we should reflect upon entrenched approaches over time. Here he presents nine common approaches to reconsider, including the use of Dotenv, Passport.js, and having conditional code based on the value of `NODE_ENV`. 

Yoni Goldberg   [![\](https://copm.s3.amazonaws.com/d4169974.png)](https://dashboard.redisgreen.net/nodeweekly) 

[RedisGreen: Secure, Scalable, Full-Featured Redis 7 Hosting](https://dashboard.redisgreen.net/nodeweekly) — The latest Redis features, instrumented and scaled with the tools teams need as they grow. 

RedisGreen sponsor   

[Node v18.8.0 (Current) Released](https://nodejs.org/en/blog/release/v18.8.0/) — This update introduces `--build-snapshot` and `--snapshot-blob` options for creating and using user-land snapshots. npm also gets bumped to 8.18.0 which introduces [the `npm query` command](https://github.blog/changelog/2022-08-03-introducing-the-new-npm-dependency-selector-syntax/). 

Ruy Adorno   

**QUICK BITS:** 

- The Deno project has made [an announcement around some 'big changes ahead'](https://deno.com/blog/changes) which includes a goal to _"make the vast majority of npm packages work in Deno within the next three months."_ This will certainly open up the alternative runtime much more to existing Node developers.
- 🥯 In other server-side JS runtime news, [Bun](https://bun.sh/) was unveiled to much fanfare recently and its creator has now unveiled a company around it called [Oven](https://oven.sh/) (ha! - we do like a pun) along with $7m of funding. There's a lot of work ahead.. [a 'grind'](https://twitter.com/oven_sh/status/1562248121656102914), if you will, and a lot of folks in the community are worried about potential burn-out there. Jarred is [▶️ very passionate](https://devtools.fm/episode/37) about the potential of the project and we'll report on future developments.   

[Node v16.17.0 (LTS) Released](https://nodejs.org/en/blog/release/v16.17.0/) — This is one of those incredibly useful LTS releases where a bunch of more modern features get backported and made available to developers who can’t run ‘Latest’ all the time. With 16.17.0, 16.x users gain access to the `util.parseArgs` CLI argument parsing function, the experimental ESM loader hooks API, and the `node:test` module and runner, plus a variety of dependency updates. 

Michaël Zasso   

[How to Monitor a Node.js Application](https://newrelic.com/blog/best-practices/nodejs-application-monitoring?utm_source=node-weekly&utm_medium=community&utm_campaign=global-fy23-q2-nodejs-application-monitoring) 

New Relic sponsor   

[Deploying a Node App with AWS Elastic Beanstalk](https://www.honeybadger.io/blog/node-elastic-beanstalk/) — _Elastic Beanstalk_ was one of the earliest app deployment orchestration services and while there are now _lots_ of approaches to deploying apps, EB remains an option for AWS users. 

Samson Omojola   

[How to Use OpenTelemetry to Trace Node.js Applications](https://developers.redhat.com/articles/2022/08/23/how-use-opentelemetry-trace-nodejs-applications) — A five-step tutorial sharing how to instrument your app to better troubleshoot production errors. 

Patil, Frota, Panchamukhi (Red Hat)   

🛠 Code & Tools  

[file-type 18.0: Detect the File Type of a Buffer, Uint8Array or ArrayBuffer](https://github.com/sindresorhus/file-type) — For example, give it the raw data from a PNG file, and it’ll tell you it’s a PNG file. Uses magic numbers so is targeted solely at non text-based formats. 

Sindre Sorhus   

[Soketi: Simple and Fast WebSockets Server](https://github.com/soketi/soketi) — _“Ever dreamed about Serverless WebSockets? Soketi can be deployed to Cloudflare Workers. All around the world, closer to your users. Same Pusher protocol.”_ Written in TypeScript. 

Soketi Team   

[Do More of What You Love: Join the Collaboration Community](https://www.polywork.com/?utm_source=newsletter&utm_medium=cooperpress&utm_campaign=node2) 

Polywork sponsor   

[brotli-wasm: A Reliable Brotli Compressor and Decompressor](https://github.com/httptoolkit/brotli-wasm) — Covers both Node _and_ the browser by means of WebAssembly. 

HTTP Toolkit   

[NodeGui: Build Cross Platform Desktop Apps with JS and CSS](https://docs.nodegui.org/) — Sounds a bit like Electron? Of course. But it’s somewhat different as it uses the Qt GUI framework which can make things more complicated but also more efficient in terms of memory use. 

NodeGui   

**QUICK RELEASES:** 

- [Wild Wild Path 3.1](https://github.com/ehmicky/wild-wild-path) – 🤠 Object property paths with wildcards and regexps.
- [NATS.js 2.8](https://github.com/nats-io/nats.js) – Node client for the NATS messaging system.
- [Slonik 30.3](https://github.com/gajus/slonik) – Postgres client with runtime and build time type safety.
- [mojo.js 1.4](https://github.com/mojolicious/mojo.js) – Perl inspired real-time web framework.
- [Undici 5.10](https://github.com/nodejs/undici) – Powerful HTTP/1.1 client.
- [cacheable-request 9.0](https://github.com/jaredwray/cacheable-request/releases/tag/v9.0.0) – Wrap native HTTP requests with RFC compliant cache support. Now pure ESM.
- [Fastify 4.5.2](https://github.com/fastify/fastify)
- [npm 8.18.0](https://github.com/npm/cli)    

💻 Jobs  

[Senior JavaScript/TypeScript Developer (Remote or Warsaw) 🇵🇱](https://cksource.com/careers/?utm_source=jsweekly&utm_medium=email&utm_campaign=aug26#senior-javascript-typescript-developer) — Join the CKEditor team to develop an Open Source project used by millions of users around the world 🚀and realize your true potential. 
CKEditor   

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Got a new address?** You can [change your email here](https://nodeweekly.com/edit_subscription/*|UID|*). 

--- 

**Want to stop this email?** [Click here to say goodbye](https://nodeweekly.com/leave/*|UID|*). 

--- 

**Want even more newsletters?** Perhaps check out [JavaScript Weekly](https://javascriptweekly.com/), [React Status](https://react.statuscode.com/) or [Frontend Focus](https://frontendfoc.us) as well :-) 

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://nodeweekly.com/leave/*|UID|*)
