---
title: "A guide to improving 3rd-party JavaScript performance"
publication: "JavaScript Weekly"
issue: 450
published_at: "2019-08-16"
canonical_url: "https://javascriptweekly.com/issues/450"
---

This week's JavaScript news       

#450 — August 16, 2019 

[Read on the Web](https://javascriptweekly.com/issues/450)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1565970773/cbphrsf0cdityyoan3oc.jpg)](https://github.com/goldbergyoni/javascript-testing-best-practices)  

[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   

[Introducing the New React DevTools](https://reactjs.org/blog/2019/08/15/new-react-devtools.html) — We’ll feature this more in next week’s [React newsletter](https://react.statuscode.com/?utm_source=jsw&utm_medium=email&utm_content=450) but if you’re a React developer, you should be using the DevTools and if you are, they’re now a lot faster and easier to navigate. React 15 and above are supported. 

Brian Vaughn   [![\](https://copm.s3.amazonaws.com/220ef10e.jpg)](https://cloudinary.com/users/register/free?utm_source=javascript_weekly&utm_medium=sponsored_placement&utm_campaign=dev_sign_up&utm_content=primary_listing&utm_keyword=august_16_2019) 

[Image & Video Management Made for Developers](https://cloudinary.com/users/register/free?utm_source=javascript_weekly&utm_medium=sponsored_placement&utm_campaign=dev_sign_up&utm_content=primary_listing&utm_keyword=august_16_2019) — Simplify and automate the process of uploading, manipulating, optimizing, and delivering images and videos across every device at any bandwidth. Try Cloudinary. See how easy media management can be. Get your own free account today. 

Cloudinary sponsor   

Google's Guide to Improving Third-Party JavaScript Performance — The folks over at Google have a [really neat guide to making your site faster](https://web.dev/fast) and have just released three new tutorials and a 'code lab' on the topic of improving performance when you load in JavaScript from third-parties: 

- **[Third-Party JavaScript Performance](https://web.dev/third-party-javascript)** covers the big picture.
- **[Identify Slow Third-Party JavaScript](https://web.dev/identify-slow-third-party-javascript)** demonstrates using Chrome's DevTools and Lighthouse to find performance bottlenecks.
- **[Efficiently Load Third-Party JavaScript](https://web.dev/efficiently-load-third-party-javascript)** provides techniques for loading JavaScript into your pages.
- **[The Optimizing Third-Party JavaScript Codelab](https://web.dev/codelab-optimize-third-party-javascript/)** lets you put your new-found skills to the test. 

Milica Mihajlija   

[The History and Legacy of jQuery](https://blog.logrocket.com/the-history-and-legacy-of-jquery/) — jQuery may have fallen somewhat out of favor in web development, but we recently did [a poll](https://twitter.com/JavaScriptDaily/status/1156178526292389888) that showed 13% of JavaScript developers still proactively turn to it. 

Danny Guo   

[An Extensive VS Code Extension List for Full Stack Developers](https://www.jonrcorbin.com/the-best-vs-code-extension-list-for-full-stack-developers/) — A massive compilation of VS Code extensions mainly aimed at JavaScript developers. It’s interesting because the original version got torn apart on social media so the author has rewritten it with everyone’s suggestions! 😄 

Jon R. Corbin  

💻 Jobs  

[Front-end Engineer](https://goldstar.workable.com/j/43A556792B) — Goldstar is looking for Front-end Engineers with React expereince onsite in Portland, Oregon and Pasadena, California. 

Goldstar   

[100+ JavaScript Roles on hackajob 🎉](https://hackajob.co/p/discover?utm_source=cooperpress&utm_medium=paid&utm_campaign=jw_aug-16) — Upload your GitHub projects and we'll do the rest. Find a role based on your skills with an average salary of £70k. 

hackajob  

📘 Tutorials  

[How to Chain Multiple Functions Properly with `await`/`async`](https://nikodunk.com/how-to-chain-functions-with-await-async/) 

Nicholas Dunkel   

['Logic-Less' JSX](https://verekia.com/react/logic-less-jsx/) — The opportunities that JSX provides for mixing logic and markup are significant but.. you can go too far. Here are some thoughts on how to keep things clean. 

Jonathan Verrecchia   

[The Best Way To Lazy Load Angular Elements](https://medium.com/@tomastrajan/the-best-way-to-lazy-load-angular-elements-97a51a5c2007) — Advice based on enterprise-level production experience. 

Tomas Trajan   

[Security Best-Practices for CI/CD](https://circleci.com/blog/security-best-practices-for-ci-cd/) — Read about a number of ways that can help you implement standard security measures for CI/CD pipeline security. 

CircleCI sponsor   

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

Dmitri Pavlutin   

[The Differing Perspectives on CSS-in-JS](https://css-tricks.com/the-differing-perspectives-on-css-in-js/) — Some people outright hate the idea of CSS-in-JS, some love it. Chris Coyier runs through the varying stances. 

CSS Tricks   

▶[Low Level JavaScript](https://www.youtube.com/channel/UC56l7uZA209tlPTVOJiJ8Tw) — A new YouTube channel focusing on building low level things in the high level language we all know and love. The first 4 videos focus on parsers. 

Low Level JavaScript  

🔧 Code and Tools  

[meSpeak.js 2.0: Text to Speech in JavaScript](https://www.masswerk.at/nowgobang/2019/mespeak_2_0) — Yes, browsers mostly support the [Speech Synthesis API](https://caniuse.com/#feat=speech-synthesis) natively now, but this is an interesting alternative under certain circumstances (the voices are not great, but you can get some interesting effects – there’s even [a Scottish voice](https://www.masswerk.at/mespeak/?text=Ye%20mak%20a%20better%20door%20than%20a%20windae.&amplitude=100&wordgap=0&pitch=50&speed=175&variant=f2&voice=en%2Fen-sc&auto=true)). 

Norbert Landsteiner   

[NPKILL: Find and Remove Old or Large `node_modules` Folders](https://github.com/voidcosmos/npkill) — Stop joking about those gigantic `node_modules` folders and delete the ones you don’t need with this tool. 

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

[Accelerated Distraction-Free JavaScript Testing](https://wallabyjs.com/?utm_source=javascriptweekly&utm_medium=sponsored_newsletter&utm_campaign=javascriptweekly&utm_content=javascriptweekly) — Wallaby.js is a developer productivity tool that runs your JavaScript and TypeScript tests immediately as you type, highlighting results in your IDE right next to your code. 

Wallaby.js sponsor   

[Introducing Transloco: Angular Internationalization Done Right](https://netbasal.com/introducing-transloco-angular-internationalization-done-right-54710337630c) — A new i18n library for Angular that seems to put the developer experience first and foremost. [GitHub repo.](https://github.com/ngneat/transloco/) 

Netanel Basal   

[useAuth: The Simplest Way to Add Auth to a React App](https://swizec.com/blog/useauth-the-simplest-way-to-add-authentication-to-your-react-app/swizec/9179) — Integrates with Auth0, the authentication platform, to give you a lot of features ‘out of the box’. 

Swizec Teller   

[Inferno: A Fast, React-a-Like with a Different Approach](https://infernojs.org/) — It’s _not_ React, but it’s very much like it and you might be intrigued by its differences (which include a different approach to optimizing performance and lifecycle events on functional components). 

Inferno   

[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=java&utm_medium=sponsored_newsletter) 

MongoDB Atlas sponsor   

[Acorn 7.0: A Tiny JavaScript Parser written in Pure Javascript](https://github.com/acornjs/acorn) 

Haverbeke, Stepanyan, et al.   

[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 node   

[The `buffer` Module From Node, But for the Browser](https://github.com/feross/buffer) 

Feross Aboukhadijeh     

⚡️ Quick Releases 

- [Parcel 2.0 alpha 1](https://medium.com/@devongovett/parcel-2-0-0-alpha-1-is-here-8b160c6e3f7e) — Zero-config bundler.
- [V8 7.7](https://v8.dev/blog/v8-release-77) — The JS engine that powers Chrome and Node.
- [Jest 24.9](https://github.com/facebook/jest) — Popular JavaScript testing solution.
- [Johnny Five 1.3](https://github.com/rwaldron/johnny-five) — Robotics and IoT framework.
- [Raphaël 2.3](https://github.com/DmitryBaranovskiy/raphael) — Cross-browser vector graphics library.
- [TUI Editor 1.4.6](https://github.com/nhn/tui.editor) — Powerful Markdown WYSIWYG editor.
- [Create React App 3.1](https://github.com/facebook/create-react-app/releases/tag/v3.1.0) — The 'spin up a new React app ASAP' tool.           

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

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

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

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