The Node.js Update #Week 25 of 2019. 21 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.

Amsterdam JSNation 2019 Playlist Released

Lot of good stuff here to check out:

  • Keep Betting on JavaScript - Kyle Simpson
  • Securing the DOM from the Bottom Up - Krzysztof Kotowicz
  • Testing Tools and Their Friends - Gleb Bahmutov
  • Webpack 5 - Why Breaking Changes? What is next? - Tobias Koppers
  • Functional lenses for contemporary frameworks - Andre Staltz
  • Open Source: Charity or Business? - Henry Zhu
  • Building Fast Angular Applications from End - Minko Gechev
  • Immer, Immutability and the Wonderful World of Proxies - Michel Weststrate
  • Turbo charging 2D on the web - Mat Groves
  • Automated Performance Testing With WebDriver - Christian Bromann
  • Using WebGL and PWA to build an adaptive game for touch, mouse and VR devices - David Rousset

Just to mention a few. :)

Protecting Package Publishers: npm Token Security and Hygiene now Extend to GitHub

Today, we’re excited to announce that, in collaboration with GitHub’s token scanning partnership program, we’ve taken our existing token revocation efforts a step further. Whenever you commit or push a change to GitHub in a public repository and an npm token is found in the change, it is sent to npm for validation. If it’s valid, we will revoke it and notify the maintainer of this action via email.

How you can keep your account and packages safe

  • First, you can enable 2-Factor Authentication for your account.
  • Second, if you maintain a package with multiple maintainers, you can require that 2FA be enabled to publish a package.
  • Finally, you can take steps to make sure you don’t accidentally publish sensitive configuration files by adding those sensitive files to your .gitignore and by using the files feature of package.json.

Taming Reactive NodeJS: Stream-oriented Architecture with Nest

The stream-oriented architectures are still very rare in the node.js world. While reactive programming becomes a first-class citizen in the front-end applications, we don’t have too many materials on how to apply some of these concepts in our server-side apps. In this talk, Kamil will show you Nest framework as well as introduce you to the world of event-driven systems, CQRS, and Event Sourcing concepts (and how to really take advantage of them).

What are the key takeaways from this talk?

  • Reactive programming in Node
  • basic Event Sourcing & CQRS knowledge
  • applicability of events+sagas
  • NestJS

How Writing Simple Javascript got us 6200 Github Stars in a Single Day

"I work as part of a team of freelancers and the typical projects we do use React/React Native, NodeJS, GraphQL. This post is aimed at those interested to learn how we full stack build apps, and as an on boarding tool for those that join us in the future.

These are our core principles."

Analysis of an Exploited NPM Package || Jarrod Overson

Node’s npm carries over 210,000 packages from over 60,000 contributors. This wealth of open source functionality is awesome, but it also carries risk. You’re running a stranger’s code inside your applications. Do you know which packages you’re running? Do you know if their authors understand or care about security? Do you know if they have vulnerabilities?

5 reason why Node.js is the best platform to build an eCommerce marketplace

JavaScript has the ability to be a front-end scripting language as well as an efficient language for server-side programming too. That’s where Node.js comes into the picture. The abilities of the script make it a perfect language for not just server-side programming, but Node.js for eCommerce development has become a standard to develop massive scales eCommerce sites like Amazon and eBay.

This article will explain 5 more reasons that advocate Node.js and explains why a Node.js shopping cart is more reliable than any other solution of any scale.

Set up a Nginx Load balancer for a dockerized Node.js Application

Here in this blog we will be seeing how to Dockerize a simple Node.js application and deploying 2 docker containers of the application on a Ubuntu server on different ports and then configure Nginx to run as a load balancer in front of both docker containers to increase performance and responsiveness. This is just a demo, general concepts are covered and the sample can be scaled to as many hundreds of containers across multiple servers(“nodes”)

Something like this :

We’ll be setting up 3 containers in total, 2 for Node.js and 1 for Nginx. The Node.js containers will be running on host ports 5001 and 5002 which will be mapped to container port 5000 respectively.

Alright, Let’s get started