---
title: "Is Node really 'hated'?"
publication: "Node Weekly"
issue: 408
published_at: "2021-10-07"
canonical_url: "https://nodeweekly.com/issues/408"
---

Plus Eleventy 1.0, some git shortcuts, and a library for creating byte level data structures. |        

#​408 — October 7, 2021 

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

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/isn642scxby3itbmlzvo.jpg)](https://yonigoldberg.medium.com/fighting-javascript-tests-complexity-with-the-basic-principles-87b7622eac9a)   

[Writing Clean JavaScript Tests with the BASIC Principles](https://yonigoldberg.medium.com/fighting-javascript-tests-complexity-with-the-basic-principles-87b7622eac9a) — An introduction to applying several key principles to shorten, clean, and simplify JavaScript and Node.js-based test suites. 

Yoni Goldberg   

[Eleventy 1.0 Beta 1 Released](https://www.11ty.dev/blog/eleventy-v1-beta/) — [Eleventy](https://www.11ty.dev/) (a.k.a. 11ty) is a _very_ popular Node powered static site generator originally created as a JavaScript alternative to Ruby’s [Jekyll](https://jekyllrb.com/). 

Eleventy Team   [![\](https://copm.s3.amazonaws.com/b55b144b.png)](https://bridgecrew.io/platform/?utm_medium=sponsorednewsletter&utm_source=nodeweekly&utm_campaign=nw211007&utm_content=drsacdev) 

[Security-As-Code for Developers](https://bridgecrew.io/platform/?utm_medium=sponsorednewsletter&utm_source=nodeweekly&utm_campaign=nw211007&utm_content=drsacdev) — Automate and embed cloud security throughout the entire development lifecycle with Bridgecrew's all-in-one DevSecOps platform. 

Bridgecrew sponsor    

[Web Streams Everywhere (and Fetch for Node.js)](https://css-tricks.com/web-streams-everywhere-and-fetch-for-node-js/) — A look at how most JavaScript platforms (including browsers) now have at least partial support for creating, composing, and consuming streams of data in a stream-like fashion, as well as how Node’s streams implementation differs and can interop with the modern Web Streams API approach. 

Ollie Williams   

❓ [Ask HN: Why is Node.js 'Hated' So Much?](https://news.ycombinator.com/item?id=28728591) — Ouch! _Is_ it? Nonetheless, this question on Hacker News led to quite a lot of discussion with over 120 comments so far – many fair, some not. I try to remain philosophical on things like this and remember C++’s creator [who said](https://twitter.com/CodeWisdom/status/859138115767873536): _“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”_ 

Hacker News   

**QUICK BITS:** 

- There are a raft of [October 2021 security releases of Node.js](https://nodejs.org/en/blog/vulnerability/oct-2021-security-releases/) on the way to resolve two 'medium severity' security issues in the 12.x, 14.x, and 16.x lines.
- The [first beta of TypeScript 4.5](https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/) has been released. A big specific benefit is gaining [ES module support for Node](https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/#esm-nodejs).
- The latest installment of the [What's Up in the Node Community?](https://www.youtube.com/watch?v=6KPM1mHwXhA) video series from Red Hat has Michael Dawson and Stewart Addison talking about work on improving the process around ARM builds and testing.   

[Sending iOS Push Notifications via APNs](https://blog.engineyard.com/ios-push-notifications-via-apns) — Need to iOS push notifications through APNs? Here’s a walkthrough of how to send push notifications with the help of a sample iOS app and a basic Node script. 

Ritu Chaturvedi   

[Get Started with JavaScript and InfluxDB 2.0](https://www.influxdata.com/blog/getting-started-with-javascript-and-influxdb-2-0/?utm_source=vendor&utm_medium=referral&utm_campaign=2021-10-07_spnsr-nl_javascript-and-influxdb_global&utm_content=nodeweekly) 

InfluxData sponsor   

▶[13 Advanced (but Useful) Git Techniques and Shortcuts](https://www.youtube.com/watch?v=ecK3EnyGD8o) 
Fireship   

[Polymorphism Without Objects via Multimethods](https://blog.klipse.tech/javascript/2021/10/02/multimethod.html) 
Yehonathan Sharvit   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/wiwmu3jnvqftvdzkgzp7.jpg)](https://github.com/francisrstokes/construct-js)  

[construct-js: A Library for Creating Byte Level Data Structures](https://github.com/francisrstokes/construct-js) — If you ever need to get down to the level of manipulating bits and bytes to build things, you might find [this example of creating a .zip file](https://github.com/francisrstokes/construct-js#examples) directly in Node compelling. 

Frank Stokes   

[Leveldown: Pure C++ Node.js LevelDB Bindings](https://github.com/Level/leveldown) — [LevelDB](https://github.com/google/leveldb) is a fast key-value storage library built at Google that’s often used behind the scenes in other database systems (e.g. IndexedDB or Riak). 

Level   

[Scale PostgreSQL & MySQL Globally, Without Writing Code](https://www.polyscale.ai/) 

PolyScale.ai sponsor   

[Trash 8.0: Move Files and Directories to the 'Trash'](https://github.com/sindresorhus/trash) — Rather than deleting files outright (e.g. `unlink`), this moves them to the ‘trashcan’ equivalent on Windows, Linux, and macOS. Now a [pure ESM package](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). 

Sindre Sorhus   

[kill-port: Kill the Process Running on a Given Port](https://github.com/tiaanduplessis/kill-port) — For example, you could use `npx kill-port 3000` to kill a local process listening on port 3000. For Unix and macOS it’s [basically running](https://github.com/tiaanduplessis/kill-port/blob/master/index.js#L35) `lsof` and `kill` behind the scenes, but it also supports Windows. 

Tiaan   

[actions/github-script: Write Workflows Scripting the GitHub API in JavaScript](https://github.com/actions/github-script) 
GitHub Actions   

[emoji-regex: A Regular Expression to Match All Emoji-Only Symbols](https://github.com/mathiasbynens/emoji-regex) 
Mathias Bynens   

[linq.js 4.0: A LINQ Implementation for JavaScript](https://github.com/mihaifm/linq) 
Mihai Ciuraru   

[fast-check: Property Based Testing Framework Written in TypeScript](https://github.com/dubzzz/fast-check) 
Nicolas DUBIEN   

[Percolate: A CLI Tool to Turn Web Pages Into PDFs](https://github.com/danburzo/percollate) 
Dan Burzo    

💻 Jobs  

[Senior Backend Engineer (Austin or Remote)](https://grnh.se/752d30b71us) — Build performant, server-side rendered e-commerce storefronts and scalable Node APIs in TypeScript, alongside helpful & talented engineers like you. 
Volusion   

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

**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|*)
