#342 — June 11, 2020

Read on the Web

📢 No big, headline news for the Node community this week (not even a point release!).. but quite a lot of libraries and library updates, so prepare for a project-heavy issue 😄 We've also included a special 'Interesting Node Modules and Tools' section at the end of the issue reflecting on a few of our favorites over the past couple of years.

Node Weekly

njt (npm jump to): A Quick Navigation Toolnjt is a tool you can either use locally (npm install njt first) or on the Web site and it acts as a way to quickly reach a package’s issues, homepage, pull request, and numerous other things. Clever idea.

Alexander Kachkaev

What Are Github Actions and How Can You Automate Tests and Slack Notifications? — A thorough walkthrough to building two Node-flavored workflows for GitHub’s Actions CI/CD system both to test Node code and also to send a Slack notification when a pull request is created.

Colby Fayock

Webinar Replay: Build Business Dashboards using NodeRun — Our on-demand webinar teaches you how you can use our free Node.js IDE to quickly create data-driven business dashboards. By building a dashboard that can automatically pull vital data and present it to the right users, you can empower your organization to work smarter and more efficiently.

PROFOUNDLOGIC sponsor

A Practical Guide to moment-timezone — If you like Moment’s approach to manipulating dates and times but work a lot with timezones, you might appreciate this extension which brings IANA’s time zone database to the party.

Valeri Karpov

starred_search: Keyword Search Your Starred GitHub Repositories — It’s pretty common to ‘star’ repos on GitHub to keep track of them for later, but how often do you really go back? This tool might help you with that.

Bassem Dghaidi

Prisma 2.0: Next Gen Database Wrangling from Node — Accessing databases in Node and TypeScript can feel brittle and painful. Prisma removes the pain with an auto-generated and type-safe query builder that’s tailored to your data.

Prisma

💻 Jobs

Node.js Developer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere.

X-Team

Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

🧑‍💻 Interested in running a job listing in this newsletter? There's more info here.

📚 Articles & Opinions

Exporting a Web Page as PDF or PNG from Node — A walkthrough of using the Playwright browser automation library for fetching pages and creating screenshots of them, including dealing with cookies and auth. Browserless is also briefly covered for when you want to go into production.

Jason Walton

Testing in Parallel with Mocha v8.0.0 — Discover how running tests in parallel mode allows Mocha to take advantage of multi-core (or multiple) CPUs resulting in significant speedups for many large test suites.

Christopher Hiller (IBM)

Scale Your Software Projects Without Losing Speed — See how Shopify used Buildkite CI/CD to scale from 300 to 1800 engineers while keeping build times under 5 minutes.

Buildkite sponsor

Two Ways of Rate Limiting an Express App — A comparison of a naive approach versus something more structured with RxJS.

Eugene Ghanizadeh

A Complete Introduction to Node Buffers — Very introductory, aimed at beginners.

LiveCodeStream

Seven Ways to Improve Node Performance at Scale — A broad overview of general ideas.

Idorenyin Obong

🛠 Tools, Resources and Libraries

require-so-slow: requires Taking Too Much Time? Profile Them — Produces a timeline of your requires and produces an output that you can load in the Chrome Timeline Viewer.

Google Cloud Platform

Math.js 7.0: An Extensive Math Library for Node.js and Browser — Work with complex numbers, fractions, units, matrices, symbolic computation, etc.

Jos de Jong

better-sqlite3 7.1: A Simple, Fast SQLite3 Library for Node.js — The latest version brings SQLite up to version 3.32.0, the latest version.

Joshua Wise

Serverless Headless CMS Powered By Node And React With a GraphQL API

Webiny sponsor

http2spy: Test Helpers for the http2 Module — Spy on Node’s built-in http2 module and assert against requests that have been performed.

Benjamin E. Coe

fastify-peekaboo: A Fastify Plugin for Memoizing Responses — Essentially caching responses triggered by specific equivalent requests.

Simone Sanfratello

node-isbn: Find Books by Their ISBN — Plugs into a few APIs so you can find books by their International Standard Book Number.

Guido García

🎈 7 Interesting Node Modules and Tools

Given it's a relatively quiet week in the Node world, I thought I'd reflect back upon the last couple of years of issues and link up some of the more interesting modules, libraries, and tools I've seen, just in case they slipped under your radar at the time :-)

terminal-image: Display Images in the Terminal — Can also display images in high resolution in iTerm.

Sindre Sorhus

Scribbletune: Use Strings and Arrays to Create Rhythms and Musical Patterns — Then export your creations as MIDI files.

Scribbletune

Janeway: A Node Console REPL with Object Inspection — Has some neat features including being able to look into buffers with a built-in hex viewer.

Eleven Ways

npx sindresorhus: The Sindre Sorhus CLI — The uber-prolific Node package developer built his own ‘business card’ style project which anyone can run right now with a npx sindresorhus.

Sindre Sorhus

'Windows 95' Running Under Electron — Runs on macOS, Linux, and Windows. Very much an eye-opening demo that leans heavily on v86, a JavaScript x86 emulator.

Felix Rieseberg

npkill: Find and Remove Old or Large node_modules Folders

Nya García and Juan Torres

The Lounge: A Modern, Self Hosted Web-Based IRC Client

The Lounge