The Node.js Update #Week 15 of 2019. 12 April

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.

Layoffs at npm raise questions about fate of community resource

The San Francisco startup's dismissal of five people two weeks ago didn't strike observers as particularly considerate. For an outfit that proclaims, "Compassion is our strategy," it rubbed those let go and members of the JavaScript community the wrong way.

The layoffs actually started last summer. The biz hired a new CEO, Bryan Bogensberger, to take the company from about $3m in annual revenue to 10x-20x that, explained an early NPM employee who spoke with The Register on condition of anonymity.

One of the those who left shortly after Bogensberger's arrival was CJ Silverio, CTO at the time. In a phone interview with The Register, she said, "I was out almost immediately in August. It was a culture change. I could not cope with putting engineers in crunch mode for no good reason."

Silverio went on sabbatical over the summer and was fired by text message in December. She said she was among five people dismissed in the months following the installation of the new regime. Together with the five in the layoffs in March, that makes about 10 people axed in the management transition, which amounts to about 20-25 per cent of the business, depending upon the date you count the number of employees.

Official Statement from npm about the layoffs

"In bringing on a new leader to the role of Chief Executive Officer at npm, Inc., we were all aware of the rapid changes we would have to make in order to set the company up for long term success. Our mission is to sustainably support the npm registry and our open source tools so that they live on forever. That depends on our ability to embrace a changing environment.

Since 2014, npm has relied on venture capital to keep the registry running. Our mandate now is to transform this reliance on venture capital into self-reliance."

...

Kyle Simpson: I’ve Forgotten More JavaScript Than Most People Ever Learn

Kyle is a living JavaScript classic, the truest embodiment of the spirit of open source. In his conversation with JSNation, he shares his wisdom and knowledge of all things JavaScript: the most controversial and fascinating things in the language and his “per aspera ad astra” journey to falling in love with JS.

Ryan Dahl: Deno, a new way to JavaScript.

From async-await to ArrayBuffers, the JavaScript language has changes significantly in the decade since Node.js was designed. Deno takes advantage of these developments and incorporate lessons learned in the development of Node to provide a new JavaScript platform built on V8 and Rust. This talk will teach the audience how to get started with Deno.

JSON Web Tokens explanation video

This video attempts to explain what JSON Web Tokens are and their benefits. It also points out a disadvantage, and a possible fix.

Google Cloud Functions, Node.js and Express

At the core of Google Cloud’s serverless offering is Google Cloud Functions. This Google Cloud product allows you to forget about worrying about provisioning servers, configuring auto-scaling, etc.

In this article we will look at how we can quickly and easily create micro-services using Google Cloud Functions, Node.js and Express.

TypeORM MongoDB Review

TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7, ES8). Its goal is to always support the latest JavaScript features and provide additional features that help you to develop any kind of application that uses databases — from small applications with a few tables to large scale enterprise applications with multiple databases.

TypeORM supports both Active Record and Data Mapper patterns, unlike all other JavaScript ORMs currently in existence, which means you can write high quality, loosely coupled, scalable, maintainable applications the most productive way.

Node.js logging made easy

How many times did you write logger.info('ServiceName.methodName.') and logger.info('ServiceName.methodName -> done.') for each and every method of your service you wanted to log? Would you like it to be automated and has the same constant signature across your whole app? If that's so, we're very much alike, we have suffered the same pain too many times, and now we could finally try to resolve it. Together. Ladies and gentlemen, let me introduce... class-logger!

How to parse PDFs at scale in Node.js: what to do and what not to do

Learn how to make a practical solution for a real business problem with Node.js Streams with this article.

The Path To gRPC in Node.js

gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.

Implementing RabbitMQ with Node.js

Using a message queue is a no-brainer if you need to throttle the requests going to your api or workers or you want to things happening asynchronously. If you still want more reasons, please go through the following article.