#324 — February 6, 2020

Read on the Web

Node Weekly

Node v13.8.0 (Current), 12.15 and 10.19 (LTS) Released — These are the security releases we previously mentioned were coming. The vulnerabilities fixed are around HTTP parsing and being able to crash a Node process with a malformed TLS certificate string, so if your Node apps are presenting HTTP services to the world, get upgrading ASAP.

Node.js

You (Possibly) Don't Need Moment.jsMoment.js is a popular date and time manipulation library, but this repo shows off alternative approaches, including many native functions that do similar things. At the very least, this is a neat ‘cheat sheet’ for date and time manipulation :-)

Various Contributors

The Easiest Way to Run Redis — Better monitoring, seamless scaling, and automatic version upgrades make RedisGreen the preferred choice for teams.

RedisGreen sponsor

Electron 8.0.0 Released — The popular cross-platform desktop app development toolkit takes more steps forward, mostly in the area of dependencies, by moving to Chrome 80 (which only came out this week itself), V8 8.0, and Node 12.13. IPC communication now uses a new algorithm which is a lot faster for large and complex objects too. Offscreen rendering is currently disabled, however, so don’t upgrade if you depend on it.

Electron Project

Changes to npm's 'Unpublish' Policy — Till now you couldn’t easily ‘unpublish’ packages (or individual versions) from the main npm repository if they were older than 72 hours but now you can if your package meets certain criteria (no dependents, fewer than 300 downloads in the past week, and a single owner/maintainer).

The npm Blog

Introducing OpenJS WorldOpenJS World has been unveiled as the new name for the OpenJS Foundation’s annual event. It’s taking place in August on June 23-24 and the CFP is open until Feb 21 if you want to speak.

The OpenJS Foundation

💻 Jobs

Node.js Developer at X-Team (Remote) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers.

X-Team

Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.

Vettery

📚 Tutorials

An Approach to Concurrent Logging in Node — Logs produced by concurrent tasks can be useless without added context. How can we add such context in a guaranteed way?

Gajus Kuizinas

Testing Serverless Node AWS Lambda Applications — How to strike the right balance between unit, integration, and end-to-end testing for Node serverless apps.

Darko Milosevic

Formatting Dates with Intl.DateTimeFormat — A good demonstration of a modern way to format dates in a region friendly way using native APIs, as now supported in both Node and all major browsers.

Valentino Gagliardi

The Node.js Security Handbook — The Node.js security handbook was specifically made for developers to help improve the security of your Node.js app.

Sqreen sponsor

Beginner's Guide to using Node and the Express.js Framework — Definitely one for beginners only, but pretty swift and solid.

Marty Jacobs

Creating a JSON Parser with JavaScript — No, it’s not just using JSON.parse :-) A neat step-by-step guide on implementing a JSON parser of your own.

Tan Li Hau

Modelling One-to-Many Relationships with Mongoose — Mongoose is perhaps the most popular way to use MongoDB from Node.js.

Bez Koder

🛠 Tools, Resources and Libraries

Puppeteer 2.1: The Headless Chrome Node.js API — Recently we Playwright, a new multi-browser alternative to Puppeteer, but Puppeteer is back with support for working with a standard, unpatched version of Firefox.

Puppeteer

Worker 0.4: A High Performance Node + Postgres Job Queue — If you’re using Postgres and you want to run background jobs from your Node app, this is one solution.

Graphile

Troubleshoot Your Node Apps Faster with End-To-End Tracing Using Datadog APM

Datadog APM sponsor

defu: Recursively Assign Default Properties — In short, merge two objects together without the properties overwriting each other, as you might want to do when handling options and default settings on entry to a function.

JSLess

Agenda: Lightweight Job Scheduling for Node — Uses a MongoDB-backed persistence layer.

Ryan Schmukler

Adonis 2.8: A Node App Framework That Prioritizes Developer ErgonomicsGitHub repo.

AdonisJs

eslint-plugin-require-sort: An ESlint Plugin for Sorting CommonJS requires

Zdravko Curic

   🗓 Upcoming Events

Node.TLV, March 3 — Tel Aviv, Israel — Said to be the "the first-ever 100% Node.js focused confrence in Israel".

CityJS, March 25-27 — London, UK — A "JavaScript festival across London", organised in part by London's Node User Group.

International JavaScript Conference, April 20-22 — London, UK — This three day event has a dedicated Node track.

OpenJS World, June 23-24 – Austin, Texas — OpenJS Foundation’s annual event (rocking a new name) brings together the JavaScript and web ecosystem including Node.js, Electron, AMP and more.