---
title: "Node 15.2 and Socket.io 3.0 released"
publication: "Node Weekly"
issue: 364
published_at: "2020-11-12"
canonical_url: "https://nodeweekly.com/issues/364"
---

Plus alternative npm clients, serverless web scraping, and a new nvm release.       

#364 — November 12, 2020 

[Read on the Web](https://nodeweekly.com/issues/364)   

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/r37ifgtvbnljz1vjyetp.jpg)](https://socket.io/blog/socket-io-3-release/)  

[Socket.io 3.0 Released: Realtime Bidirectional Communications Framework for Node and Browser](https://socket.io/blog/socket-io-3-release/) — Socket has been around for _many_ years and was once the ‘go to’ system for bidirectional browser/server communications that worked in almost every browser. It still works great and, happily, the question of why you might still use socket.io (plus some alternatives if you _don’t_) is answered in these release notes. 

Socket.IO Project   

[Node v15.2.0 (Current) Released](https://nodejs.org/en/blog/release/v15.2.0/) — [Last week](https://nodeweekly.com/issues/363) we made a pretty big deal about Node 15.1.0, but luckily Node 15.2 is a simpler release. You can now use an abort signal to stop an ongoing read or write with `fs.writeFile` ([example](https://github.com/nodejs/node/pull/35993)) or `fs.readFile`. 

Danielle Adams (Node.js Project)   [![\](https://copm.s3.amazonaws.com/ea72763d.png)](https://frontendmasters.com/courses/vue-3/?utm_source=newsletter&utm_medium=email&utm_campaign=nodeweekly&utm_content=vue-3) 

[Vue 3 Is Out! Jump into Vue 3 Quickly in This New Course by Sarah Drasner](https://frontendmasters.com/courses/vue-3/?utm_source=newsletter&utm_medium=email&utm_campaign=nodeweekly&utm_content=vue-3) — Learn fundamental concepts in Vue, such as directives, methods, and computed watchers. You’ll learn Vue’s reactivity system and the new Composition API in Vue 3. 

Frontend Masters sponsor   

[Using GitHub Actions to Securely Publish npm Packages](https://snyk.io/blog/github-actions-to-securely-publish-npm-packages/) — One approach to using GitHub Actions to publish npm packages from repositories following the typical GitHub developer flow with pull requests, etc. 

Liran Tal   

[npm v7.0.9 Released](https://blog.npmjs.org/post/634067895980294144/release-v709) — Bug fixes via dependency upgrades and `start` is now the default script when `server.js` is present. 

The npm Blog  

📗 **Tutorials** 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1605190196/mubminzmrn45jfxvchtz.png)](https://itnext.io/3x-smaller-lambda-artifacts-by-removing-junk-from-node-modules-2b50780ca1f5)  

[3x Smaller AWS Lambda Artifacts by Removing Junk From `node_modules`](https://itnext.io/3x-smaller-lambda-artifacts-by-removing-junk-from-node-modules-2b50780ca1f5) — The `node_modules` folder is notorious for growing to mind boggling sizes (resulting in tools like [NPKILL](https://github.com/voidcosmos/npkill)) and reducing artifact size proportionally correlates with cold start latency, says Vlad. 

Vlad Holubiev   

[npm Clients Aiming to Be Better Than The Original](https://blog.bitsrc.io/npm-clients-that-are-better-than-the-original-cd54ed0f5fe7) — Like anything popular, npm has its pros and cons. These three alternatives try to improve upon npm's cons and offer different approaches to Node developers. 

Fernando Doglio   

▶[An Introduction to Using Firebase Functions with Node](https://www.youtube.com/watch?v=dc_mCv2pmSA) — A practical introduction to [Cloud Functions for Firebase](https://firebase.google.com/docs/functions), a serverless framework tied to Firebase. 

Program With Erik   

[What’s the Best Way to Protect Your Content from Piracy? Learn Here](https://go.bitmovin.com/drm-whitepaper?utm_source=cooper-node-weekly-brief-link&utm_medium=%20paid-newsletter&utm_campaign=drm-whitepaper) 

Bitmovin Inc. sponsor   

[Web Scraping That 'Just Works' with OpenFaaS with Puppeteer](https://www.openfaas.com/blog/puppeteer-scraping/) — Puppeteer provides an easy way to remote control a headless Chrome browser from JavaScript code, including serverless functions built on OpenFaaS, an open serverless platform built on Kubernetes. 

OpenFaaS Ltd   

▶[My VS Code Setup: Must Have Configurations and Shortcuts](https://www.youtube.com/watch?v=qEdvWFWpOyQ) 
James Q Quick   

[Using PGP Encryption with Node](https://www.loginradius.com/engineering/blog/using-pgp-encryption-with-nodejs/) 
Andy Yeung   

[How to Make `curl` Request a Site from a Different IP Than in DNS](https://dev.to/peterc/how-to-make-curl-request-a-site-from-a-different-ip-than-in-dns-4n45) 
Peter Cooper     

🛠 Code and Tools   

supported by [![Okta\](https://res.cloudinary.com/cpress/image/upload/v1602154330/de7dtktheistsfpqdem4.png)](https://developer.okta.com/?utm_campaign=newsletter_cooperpress_all_multiple_inc_dev_sponsored-section_null&utm_source=cooperpress&utm_medium=cpc)    

[nvm 0.37.0: A Script to Manage Multiple Node Versions](https://github.com/nvm-sh/nvm) — A popular way to manage multiple Node installs on the same machine. On this release the maintainer says: _“Includes a major performance enhancement which addresses a slowdown some were seeing on `nvm use` and shell start.”_ 

nvm.sh   

[Bent: Functional HTTP Client with `async`/`await` Support](https://github.com/mikeal/bent) — It’s been 18 months since we last mentioned it, but releases continue to trickle out and it remains a useful way to make HTTP requests quickly and easily from Node. 

Mikeal Rogers   

[Crunchy Bridge: More Postgres Power, Less Administration](https://www.crunchydata.com/products/crunchy-bridge/) — Developer friendly, production ready. Crunchy Bridge is the better option for your Postgres hosting. 

Crunchy Data sponsor   

[Sir: A Local Filesystem '`git`-Diffable' JSON Database](https://github.com/c9fe/sirdb) — Principally aimed at Node users needing a simple data store. In a similar local, lightweight vein as Python’s [TinyDB](https://github.com/msiemens/tinydb), [JSDB](https://ar.al/2020/10/20/introducing-jsdb/) or the Mongo-inspired [minim-json-db.](https://github.com/leoncvlt/minim-json-db) 

Cris Stringfellow   

[n8n.io: Open Source Workflow Automation System](https://n8n.io/) — A self-proclaimed “open source alternative for Zapier”. Basically you can connect together various services and APIs in a visual way, perform intermediate steps, etc. 

n8n   

[Repo Roster: Shout-Out Supporters in Your GitHub `README` File](https://github.com/nastyox/Repo-Roster) — A simple copy-and-paste way to automatically thank users who star your repo by displaying their usernames and avatars directly in your `README` via the magic of SVG. 

nastyox   

[ws 7.4: A Fast and Throughly Tested WebSocket Client and Server for Node](https://github.com/websockets/ws) 
Einar Otto Stangvik  

💻 **Jobs**  

[Node.js Developer at X-Team (Remote)](https://x-team.com/remote-nodejs-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=node) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more. 

X-Team   

[Find Your Next Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers. 

Vettery  

🧑‍💻 Interested in running a job listing in this newsletter? _There's [more info here](https://booking.cooperpress.com/jobs)_.   

**Got a new email?** You can [change your address here.](https://nodeweekly.com/edit_subscription/*|UID|*) 

--- 

**Bored of us?** [Click here to stop getting Node Weekly.](https://nodeweekly.com/leave/*|UID|*) 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. Thanks! 

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://nodeweekly.com/leave/*|UID|*)
