#​467 — December 15, 2022

Read on the Web

Together with  Frontend Masters logo
Node.js Weekly

The Best of Node Weekly in 2022

This is the final issue of the year (we're back on January 5, 2023) so today we're revisiting the most popular links (and releases) of 2022. There'll be a few useful resources that escaped your attention or that you've since forgotten about (certainly true for me) so enjoy! 😁

Have a fantastic holiday season if you are celebrating.
____
Peter Cooper, your editor

1: Tao of Node: On Design, Architecture and Best Practices — 'Big picture' items always tend to do well. We're all looking for structure, new ways to think about things, and ideas on how to approach problems. Here, Alex boiled down the hard-earned best practices and gut feelings he'd picked up while developing high-quality Node apps over time.

Alex Kondov

⚛️ Alex also wrote a similar Tao of React article.

2: Express.js 5.0 Went Into Beta (And Stayed There) — Considering that the first alpha of 5.0 was about eight years ago, this step for the popular Web app library (that seemingly powers everything) was of huge interest. Nine months on, v5.0 remains in beta with no final release yet.

Express.js Team

Anjana Vakil on the JavaScript Fundamentals — This video course covers the core skills needed to become a professional JavaScript programmer, including writing reusable code with functions, conditionals, fetching data from APIs, and more. It's everything you need to continue your journey to become effective at JavaScript.

Frontend Masters sponsor

3: Popular Node.js Patterns and Tools to Reconsider — Yoni is well known for his work in cataloging Node best practices and he thought we should reflect upon some of our more entrenched approaches.

Yoni Goldberg

4: JavaScript and Node Testing Best Practices: 2022 Edition — Yoni scored a double this year with his categorized list of fifty best practices and examples. This resource is a few years old but has been kept up to date (the last commit was yesterday!) and translated into several (written) languages.

Yoni Goldberg

5: JavaScript Developer Messes Up Popular npm Packages — If you wondered when a little drama was going to appear in the roundup, it's here. The creator of Faker.js (at the time) and colors.js made some unorthodox commits to his projects that caused them to either disappear or break in interesting ways which resulted in GitHub suspending his access. This story fed into an ongoing stew of stories around npm supply chain security.

The Register

Need to Upgrade to Node 18? Don’t Have Time? Our Team Can Help 🚀 — Running Node 13 or lower in production? We can help you upgrade onto a secure, supported version of Node. Contact us.

UpgradeJS.com - The JS Upgrade Service by OmbuLabs sponsor

6: The Most Popular Node.js Frameworks in 2022 — This list, whose data comes from surveys, GitHub stars, and gut feelings, is a reasonably well put together summarized list of frameworks as of right now (truly – Alex has just updated it again).

Alex Ivanovs

7: How the peacenotwar Module Protested the Invasion of Ukraine — The npm supply chain security issue popped up again in March in response to Russia's invasion of Ukraine. Users of a variety of tools and libraries (including Vue CLI) began to notice the node-ipc dependency was doing some 'unusual' things, including corrupting files on systems geolocated to Russia or Belarus.

Liran Tal (Snyk)

8: Best Practices for Creating a Modern npm Package — A step-by-step walkthrough of creating your own npm package using current best practices. Thorough and worth revisiting, even if you’ve built a package already. A good perennial resource.

Brian Clark (Snyk)

🛠 Code & Tools

1: Wild Wild Path: Object Property Paths with Wildcards and Regexps — A 'wild' way to access properties in objects (which can be deeply nested) by way of string based queries that support wildcards and regular expressions. You need to see some examples to get the idea.

ehmicky

Radar SDKs and APIs: Fastest Way to a Wide-Range of Location‑Based Experiences

Radar sponsor

2: Fastify 4.0 Released — This year saw the first major release of this popular, high performance Node.js Web framework in two years (it remains the latest major version as of now too). A focus was placed on stabilization, modernization, and improving the already quite stable developer experience, rather than flashy new features, although this post did cover a few updates.

Fastify Team

3: Pintora: An Extensible Text-to-Diagram Rendering Library — A similar idea to the well established Mermaid.js, but with a different attitude to extensibility as well as no requirement for a headless browser server-side. The introduction docs have both visual and code examples.

Hikerpig

4: Trilium Notes: A Knowledge Base App Built with Node — A hierarchical note taking app. Built with Express but commonly used on the desktop via an Electron packaged version. It’s been around a few years but continues to see frequent updates and is a neat example of this sort of app.

zadam

5: zx v7.0: Better Script Writing with Node.js — If writing JavaScript instead of wrestling with bash, Perl or Python sounds better to you, zx can make your life easier. June's v7.0 (still the latest major release) was fully rewritten in TypeScript, has an echo function for printing the output of other scripts, within for creating new async contexts, and an interactive REPL mode.

Google

6: Crawlee: A New Web Scraping / Automation Library for Node — Launched to some fandare, Crawlee came with a ▶️ three-minute introductory screencast, a launch post, and a nice homepage. It builds on top of things like Puppeteer and Playwright but can handle proxies, retries, spidering, working around bot blocks, etc.

Apify

💻 Jobs

Find Tech Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

Full Stack Engineer (EU Remote or Relocate to Berlin) — We’ve built a product thousands of people love (see Trustpilot if you don’t believe us). We need your help with React, GraphQL & TypeScript.
Feather