The Node.js Update #Week 26 of 2019. 28 June

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.

Node v12.5.0 (Current) Released

Node 12.5.0 has been released. This release updates the version of V8, enables snapshots by default to improve startup time, restores the state of the stdio file descriptors on process exit, and much more. - Colin Ihrig

  • build: The startup time is reduced by enabling V8 snapshots by default
  • deps:
    • Updated V8 to 7.5.288.22: The numeric separator feature is now enabled by default
    • Updated OpenSSL to 1.1.1c
  • inspector: The --inspect-publish-uid flag was added to specify ways of the inspector web socket url exposure
  • n-api: Accessors on napi_define_* are now ECMAScript-compliant
  • report: The cpu info got added to the report output
  • src: Restore the original state of the stdio file descriptors on exit to prevent leaving stdio in raw or non-blocking mode
  • tools,gyp: Introduce MSVS 2019
  • util, inspect:
    • Array grouping became more compact and uses more columns than before
    • Long strings will not be split at 80 characters anymore. Instead they will be split on new lines
  • worker: worker.terminate() now returns a promise and using the callback is deprecated

V8 release v7.6

7.6 is in beta until its release in coordination with Chrome 76 Stable in several weeks. V8 v7.6 is filled with all sorts of developer-facing goodies, like:

  • Performance (size & speed)

    • JSON.parse improvements
    • Frozen/sealed array improvements
    • Unicode string handling optimization
  • JavaScript language features

    • Promise.allSettled
    • Improved BigInt support
    • Intl.DateTimeFormat improvements
  • Native stack walking

  • V8 API

[email protected] Released

You can install it with npm i -g [email protected] or try it out with $ npx [email protected] ...!

This release comes after a long delay. You can expect another release with more bug fixes and PRs sooner than our typical 2-week schedule.

BUGFIXES:

  • Update knownBroken version.
  • Fix outdated rendering for global dependencies.
  • Fix OTP for token create and remove.

DEPENDENCIES:

Golang Tutorial for Node.js Developers, Part I.: Getting started

At RisingStack we’ve been building webapps for our clients with Node.js for ~5 years - therefore we’ve seen the rise of Node from a relatively unknown, edgy technology to the mainstream status it enjoys Today.

If you take a look at the history of Node.js, you can see that it is now widely used in enterprise environments as well. However, we couldn’t miss the fact, that in the past years Go emerged as the interesting and hyped new back-end language. Go is becoming the new enterprise language besides Java and C# and for a good reason.

Throughout this tutorial series, we'll cover the basics of getting started with the Go language, while building an app and exposing it through a REST, GraphQL and GRPC API together.

Design Patterns in Node.js: a Practical Guide

Design patterns, simply put, are a way for you to structure your solution’s code in a way that allows you to gain some kind of benefit. Such as faster development speed, code reusability, and so on.

In this article, we will look at how to identify these patterns out in the wild and look at how you can start using them in your own projects.

Postman now supports GraphQL!

Postman joins the group of companies acknowledging the GraphQL qualities and has recently announced the support for GraphQL in their service. The latest release of Postman v7.2 enables:

  • sending GraphQL queries in the request body,
  • GraphQL variables,
  • GraphQL query autocompletion.

This is a great complement to the previous update which introduced schema support, all that combined makes it possible to create & store GraphQL schemas directly in Postman itself!

Deploy a Node.js Application to DigitalOcean with HTTPS

In this article, you will create a production ready Node.js application and deploy it on a DigitalOcean server in the cloud with SSL/HTTPS encryption and a custom domain. You will also use PM2 to keep the application running.

Status of JavaScript(ECMAScript): 2019 & beyond.

In this article we will look at the key features of ECMAScript 2018 and the proposals expected to be included in the following specifications, ECMAScript 2019 and ECMAScript 2020.

Assert(JS) in Toronto

Assert(js) is a conference for JavaScript developers focused on testing. From TDD techniques and process to JS testing tools and frameworks, both UI and Node.js.