---
title: "A compilation of Node testing best practices"
publication: "Node Weekly"
issue: 301
published_at: "2019-08-15"
canonical_url: "https://nodeweekly.com/issues/301"
---

This week's Node.js news, tutorials, and projects       

#301 — August 15, 2019 

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

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/cqkx1y1vfvacwxawlbex.jpg)](https://github.com/voidcosmos/npkill)   

[NPKILL: Find and Remove Old or Large `node_modules` Folders](https://github.com/voidcosmos/npkill) — We’ve all heard jokes (or seen the reality) of gigantic `node_modules` folders.. here’s a tool to help you do something about the ones you don’t want. 

Estefanía García Gallardo and Juan Torres Gómez   

[JavaScript and Node Testing Best Practices](https://github.com/goldbergyoni/javascript-testing-best-practices) — Almost 50 best practices divided into categories (backend, frontend, CI, etc.) complete with code examples. Not just the basics, it digs into areas like visual regression, property-based testing, and contract testing, too. 

Yoni Goldberg   [![\](https://copm.s3.amazonaws.com/4ff8c69b.png)](https://percy.io/?utm_source=node_weekly&utm_medium=sponsored_newsletter&utm_campaign=190815) 

[All-In-One Visual Testing and Review Platform](https://percy.io/?utm_source=node_weekly&utm_medium=sponsored_newsletter&utm_campaign=190815) — Visually test your web app, component library, or static site across browsers and responsive widths. Replace time-consuming manual QA to catch UI bugs and ship with complete confidence. Get started for free. 

Percy sponsor   

[The Summer 2019 `npm` CLI Roadmap](https://blog.npmjs.org/post/186983646370/npm-cli-roadmap-summer-2019) — The status of the npm CLI app has been a bit up and down recently, but things appear to now be fully back on track with ‘accelerating’ progress and a roadmap for npm 7 and what it will contain. _“Play nicer with Yarn”_ is a nice feature to see. 

The npm Blog   

▶[Promise-Based APIs in Node Core: Where We Are and Where We’ll Get To](https://youtu.be/-4p_qLYjUDc?t=110) — Only a few areas of Node core have (experimental) promise-based APIs for now, but work is underway to improve the situation. 

Joe Sepi   

[August 2019 Security Releases Due Anytime Now](https://nodejs.org/en/blog/vulnerability/aug-2019-security-releases/) — We’re not delaying the issue this week for this, but new releases of all supported release lines of Node are due later today or tomorrow to fix some HTTP/2 DoS vulnerabilities (which have broadly affected many implementations, including in NGINX).

_Last minute addition.. [v12.8.1 is here](https://nodejs.org/dist/v12.8.1/) — no blog posts or other releases as yet._ 

Node.js Foundation  

💻 Jobs  

[Have You Thought About Being a Web Developer in Robotics?](https://www.veobot.com/jobs/?gh_jid=4341006002) — A unique opportunity to work on a high-powered engineering web application for a computer vision system combining 3D graphics and an intuitive user experience. 

Veo Robotics   

[Node Developers Are in Demand on Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today. 

Vettery  

📚 Articles and Tutorials  

[Yarn Workspaces: Organize Your Project’s Codebase Like A Pro](https://www.smashingmagazine.com/2019/07/yarn-workspaces-organize-project-codebase-pro/) — Yarn [workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) provide a way to work better with multiple dependencies together. This article explains the benefits and using them in a monorepo configuration. 

Jorge Ferreiro   

[Explain Like I'm 5: Microservices in Node.js](https://nodesource.com/blog/microservices-in-nodejs) — A look at the basics of microservices, by way of a Lego-themed Node-based example. 

Liz Parody   

[A Beginner's Guide to AWS AppSync](https://epsagon.com/blog/beginners-guide-to-aws-appsync/) — AppSync is a serverless, managed GraphQL API service based on AWS. This tutorial covers the basics of using it from Node. 

Ran Ribenzaft   

[Finding The Right Fit: Comparing 6 Popular Node.js Web Frameworks](https://pages.nodesource.com/finding-the-right-fit-nw.html) 

NodeSource sponsor   

[Web APIs in Node Core: Past, Present, and Future](https://www.youtube.com/watch?v=ceiUozUFF3Y) — A look at recent efforts to bring more Web APIs directly into Node, where it makes sense to do so. 

Joyee Cheung   

[The Basics of Scraping Web Sites with Node and Cheerio](https://medium.com/@dylan.sather/scrape-a-site-with-node-and-cheerio-in-5-minutes-4617daee3384) — This is really promoting the _Pipedream_ platform, but.. I found it interesting to see. And, of course, make sure you’re not violating any ToS and are being ethical. 

Dylan Sather   

[5 Interesting Uses of JavaScript Destructuring](https://dmitripavlutin.com/5-interesting-uses-javascript-destructuring/) 

Dmitri Pavlutin  

🛠 Code and Tools  

[Nanook: A Toolkit for Test Case and Test Data Creation](http://nanook.io/) — A tool which reads equivalence class tables (which you can build out in an Excel spreadsheet) to create test data. [Related repo](https://github.com/xhubio/nanook-table/). 

Nanook   

[nve 1.0: Run Things With a Specific Node.js Version](https://github.com/ehmicky/nve) — Easily execute a file, command, or REPL using a specific version of Node. 

ehmicky   

[MongoDB Atlas Is a Powerful and Reliable Cloud Database. Try Now](https://www.mongodb.com/cloud/atlas/lp/general/try?utm_campaign=cooperpress&utm_source=node&utm_medium=sponsored_newsletter) 

MongoDB Atlas sponsor   

[SQLiterally: A Lightweight SQL Query Builder](https://github.com/terkelg/sqliterally) — Aimed at Postgres and MySQL users. Makes it easy to compose safe parameterized SQL queries using template literals. 

Terkel   

[Sparkly: A Simple Sparkline Generator](https://github.com/sindresorhus/sparkly) — Sparklines (e.g. things like ▁▂▃▅▂▇) can be used to show basic, inline measurements. 

Sindre Sorhus     

⚡️ Quick Releases 

- [pnpm 3.7](https://github.com/pnpm/pnpm/releases/tag/v3.7.0) — A fast, alternative package manager.
- [nave 3.1](https://github.com/isaacs/nave) — Virtual environments for Node.
- [Zeus 1.4](https://github.com/graphql-editor/graphql-zeus) — A GraphQL querying library.           

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://nodeweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://nodeweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
