The Node.js Update #Week 39 of 2019. 27 September

Below you can find a collection of the most important Node.js updates, tutorials & announcements from this week - curated by RisingStack's Node.js Developers.

Latest Node.js Updates here: 10.16.3 LTS / 12.11.0 Current

First, let's start with "official" Node news:

Node v12.11.0 (Current) Released

Changelog:

  • crypto:
    • Add oaepLabel option
  • deps: Update V8 to 7.7.299.11
    • More efficient memory handling
    • Stack trace serialization got faster
    • The Intl.NumberFormat API gained new functionality
    • For more information: https://v8.dev/blog/v8-release-77
  • events:
    • Add support for EventTarget in once
  • fs:
    • Expose memory file mapping flag UV_FS_O_FILEMAP
  • inspector:
    • New API - Session.connectToMainThread
  • process:
    • Initial SourceMap support via env.NODE_V8_COVERAGE
  • stream:
    • Make _write() optional when _writev() is implemented
  • tls:
    • Add option to override signature algorithms
  • util:
    • Add encodeInto to TextEncoder
  • worker:
    • The worker_thread module is now stable

npm CEO Bryan Bogensberger Resigned after 9 months on the job

An internal message to NPM staff from company co-founder Isaac Schlueter, seen by The Register, admits this has been a rough year for the software company, and that Bogensberger's departure "will probably be interpreted as negative news, or chalked up as a win for folks who have been critical of NPM."

Additional discussion & background info:

New ES2019 JavaScript features every developer should be excited about

This article goes trough the many benefits of new additions to JavaScript. These additions enhance the developer experience by reducing verbosity and increasing readability.

  • Optional chaining
  • Optional catch binding
  • The pipeline operator
  • String.trimStart and String.trimEnd
  • Object.fromEntries
  • Flat and FlatMap

You can alse read the Official ECMA Docs here.

Top level await support is being added to V8

Adds support for parsing top level await to V8, as well as
many tests.

Interesting JS & Node Threads:

Recommendation for SQL ORM

"So those who are constantly working with Node JS, please suggest some good SQL ORMs. Currently, I work with Node only when I am permitted to work with NoSQL databases (because NoSQL/Mongo suits better with Javascript). But when I have to use SQL (which is in most cases), I try to avoid Node because of ORM. Please note that I haven't used any Node ORM before."

Thoughts on Nestjs?

Interesting discussion on /r/Node.

Can we stop treating ES2015 features as new yet?

"This is a bit of a rant, but I’ve been frustrated recently by devs treating 4-year-old features (yes, ES2015 features have been in the standard for 4 years!) as something new. I’ve been told that my code looks like I’m trying to show off that I know ES2015. I don’t know what that even means at this point, it’s just part of the javascript language."

Awesome Node.js & JavaScript Tutorials:

Thinking about Recursion: How to Recursively Traverse JSON Objects and the Filesystem

It is important to be able to recognize when a problem is best solved recursively, and to be able to write it when the time comes.

Two exceptional use cases for the spread operator you may not know of

One of the most popular features used in javascript after Ecmascript 2015 is without question the spread operator. In this short "Did you know" article, we will explore a couple of exceptional use cases that we consider to be very useful but that are not so well known.

What You Need to Know About Asynchronous Programming in JavaScript

If you want to be a serious JavaScript developer then asynchronous programming should be second nature. You should know this stuff like a baker knows bread.

TypeScript Tutorial For Beginners: The Missing Guide (2019)

What is TypeScript and why you may want to use it? Learn more with this TypeScript tutorial for beginners and start adding types to your JavaScript code in minutes!

You Might Not Need a Framework

"I wanted to showcase how much JavaScript has grown, and point out that there might be some simple use-cases, where using a framework might be overkill. Please don’t port your 200 component React app with complex state management to a native JavaScript app. That will just make everyones life harder."

Start Developing Hyperledger Fabric Chaincode in Node.js

Chaincode can be written in Go, Nodejs, Java. Compared to the other two languages, Node.js is a language that more people understand and find easier to use including me. But, still writing and deploying Node.js Chaincode is little tricky due to very less information available in its documentation.

Node.js with React on a multi-docker container: in development and in production

It’s been quite the journey to feel at ease with Docker and set up a pipeline that works both in development and in production.

How to collect, customize, and centralize Node.js logs

In this guide, we will walk through collecting, customizing, and enriching your Node.js logs with Winston, and then show you how to centralize those logs to get deep visibility into your applications. You will learn how to:

  • Create your own logger and customize its output
  • Enrich your logs with metadata, custom formats, and exception handling
  • Dig into your Node.js logs with Datadog

Full Node.js Deployment - NGINX, SSL With Lets Encrypt

In this video we will do a full deployment of Node.js using PM2 and an NGINX reverse proxy and a free SSL from Lets Encrypt to a DigitalOcean droplet.

Like what you read?

Share / like the post, and come back next week! :)