---
title: "All about the tools"
publication: "JavaScript Weekly"
issue: 534
published_at: "2021-04-16"
canonical_url: "https://javascriptweekly.com/issues/534"
---

Plus Deno 1.9, D3.js 6.7.0, and a string function cheatsheet. |        

#​534 — April 16, 2021 

[Unsubscribe](https://javascriptweekly.com/leave/*|UID|*)|[Read on the Web](https://javascriptweekly.com/issues/534)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/sodndjmqfvhr4wfs9byl.jpg)](https://css-tricks.com/comparing-the-new-generation-of-build-tools/)  

[Comparing the New Generation of Build Tools](https://css-tricks.com/comparing-the-new-generation-of-build-tools/) — A detailed evaluation of a variety of approaches for bundling JavaScript and other front-end assets, including Snowpack, esbuild, Vite, and wmr. A handy overview. 

Hugh Haworth   

[Slow and Steady: Converting Sentry’s Entire Frontend to TypeScript](https://blog.sentry.io/2021/04/12/slow-and-steady-converting-sentrys-entire-frontend-to-typescript) — Dozens of developers took a year to convert 1,100 files and 95,000 lines of code from JavaScript to TypeScript. This is one of those _“we did a complicated thing and here’s what we learnt”_ pieces you’ll want to point to if your workplace attempts a similar thing. 

Priscila Oliveira and Mark Story (Sentry)   [![\](https://copm.s3.amazonaws.com/89132375.jpg)](https://frontendmasters.com/courses/dev-tools/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=devtools) 

[Get to Know Chrome’s Dev Tools](https://frontendmasters.com/courses/dev-tools/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=devtools) — Join Jon Kuperman for this introduction to Google’s Chrome Developer Tools. You’ll learn how to edit, debug and profile you web apps in this detailed video course. 

Frontend Masters sponsor   

[15 DevTool Secrets for JavaScript Developers](https://blog.asayer.io/15-devtool-secrets-for-javascript-developers) — I think ‘secrets’ is a bit bold, but nonetheless I picked up a few tips here. Breaking on DOM changes, filtering requests in the Network panel, and copying requests in `fetch` or `curl` format are all very neat. 

Craig Buckler    

🎤 It must be the season for thinking about the DevTools as the Syntax.fm podcast [did an episode explaining the DevTools tabs](https://syntax.fm/show/344/dev-tools-tabs-explained-plus-tips-and-tricks) too.    

Quick Bits 

- There's a new sub-Reddit called [/r/JSdev](https://www.reddit.com/r/JSdev/) aiming to foster JavaScript oriented_discussions._
- Looking for a job? Emma Bostian has a great write up of [seven mistakes to avoid in your next technical interview](https://www.smashingmagazine.com/2021/04/mistakes-technical-interviews/).
- The _Cloudflare Workers_ serverless system runs on V8 but not Node.js _exactly_ but now [boasts Node.js support](https://blog.cloudflare.com/node-js-support-cloudflare-workers/) if you want to use (many of the) existing Node packages you know and love. _Workers_ also just gained [WebSockets support](https://blog.cloudflare.com/introducing-websockets-in-workers/). 

Releases 

[D3.js 6.7.0](https://github.com/d3/d3/releases/tag/v6.7.0) — Data visualization toolkit.
 [eslint-plugin-vue 7.9.0](https://github.com/vuejs/eslint-plugin-vue/releases/tag/v7.9.0) — ESLint plugin for Vue.js.
 [react-markdown 6.0](https://github.com/remarkjs/react-markdown/blob/main/changelog.md#600---2021-04-15) — Markdown component for React.
 [pnpm 6.1.0](https://github.com/pnpm/pnpm/releases/tag/v6.1.0) — Alternative 'disk space efficient' package manager.
 [Cypress 7.1](https://github.com/cypress-io/cypress/releases/tag/v7.1.0) — Testing for anything that runs in a browser.    

💻 Jobs  

[JavaScript Engineer](https://www.stickermule.com/career/7e6bb5ee-9953-4d46-b008-77a3bbc4ee29) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers. 
Sticker Mule   

[Find Software Engineering Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-javascriptweekly%29&utm_content=find-your-next-job) — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now. 
Hired    

📖 Articles, Opinions & Tutorials  

[A Thorough Guide to Working with Strings in Modern JavaScript](https://www.baseclass.io/guides/string-handling-modern-js) — A well presented suite of examples showing off numerous string manipulation techniques from how template literals work to joining, comparing, and searching through strings. 

Dave J Saunders   

[Hyperapp – Is It a Lightweight 'React Killer'?](https://blog.asayer.io/hyperapp-is-it-the-lightweight-react-killer) — There are lots of frameworks which aspire to chip away at React’s market position. After an ecosystem setback when breaking changes were introduced in v2, [Hyperapp](https://github.com/jorgebucaran/hyperapp) is back and its claimed benefits warrant another look. 

Arek Nawo   

[A Simple Start to ES Modules in Node.js](https://kentcdodds.com/blog/super-simple-start-to-es-modules-in-node-js) — Once Node 10 shuffles away later this month, every supported Node release will support ES modules in addition to CommonJS. If you haven’t dipped a toe in the ESM water yet, Kent keeps it simple and straightforward with an example here. 

Kent C Dodds   

[You Build the App, We’ll Parse the Logs](https://www.logdna.com/product?utm_medium=sponsorship%20&utm_source=cooperpress&utm_campaign=fy21%20newsletters&utm_content=javascript) — Send logs from your Node.js and JavaScript apps to LogDNA. We’ll parse them so you can search and take action in real time. 

LogDNA sponsor   

[An Introduction to the `switch(true)` Pattern](https://seanbarry.dev/posts/switch-true-pattern) — Seán likes it, but I’m not so sure. It’s an interesting way to manage a complex set of conditionals though. 

Seán Barry   

[How to Send Tweets with a JavaScript GitHub Action](https://hibbard.eu/tweet-javascript-github-action/) — Learn how to create a GitHub action which sends a tweet whenever a pull request is merged. 

James Hibbard   

[A Real World CSS vs. CSS-in-JS Performance Comparison](https://pustelto.com/blog/css-vs-css-in-js-perf/) — No huge surprise here, I suspect. 

Tomas Pustelnik   

[Building a Video Streaming App with Nuxt.js, Node and Express](https://www.smashingmagazine.com/2021/04/building-video-streaming-app-nuxtjs-node-express/) — A walkthrough of creating a server-side Node app that will handle the fetching and streaming of videos, generating thumbnails, and serving captions and subtitles. Nuxt.js is the Vue.js based framework that brings it all together. 

Deven Rathore   

[Book a Demo. Ship Fast. Rest Easy. LaunchDarkly](https://learn.launchdarkly.com/demo/?utm_source=cooperpress&utm_medium=display&utm_campaign=21q1-cooperpress) — Testing in production? It's scary until it's not. Control your code. Ship fast. Reduce risk. Reclaim your life. 

LaunchDarkly sponsor   

▶[Building an ASCII Game Engine That Runs in the Browser](https://www.youtube.com/watch?v=B3uH517XbPs) — One of the best JavaScript YouTubers moves into a little bit of game development. If recreating [Dwarf Fortress](https://en.wikipedia.org/wiki/Dwarf_Fortress) is on your bucket list, you might enjoy this. 

Low Level JavaScript   

[Going “Meta GSAP”: The Quest for “Perfect” Infinite Scrolling](https://css-tricks.com/going-meta-gsap-the-quest-for-perfect-infinite-scrolling/) 
Jhey Tompkins   

[Tricking TypeScript Into Typing Untyped JavaScript Modules](https://kamranicus.com/tricking-typescript-into-typing-untyped-javascript-modules/) 
Kamran Ayub   

[JS Classes Are Not “Just Syntactic Sugar”](https://webreflection.medium.com/js-classes-are-not-just-syntactic-sugar-28690fedf078) 
Andrea Giammarchi     

🛠 Code & Tools      

[Deno 1.9 Released](https://deno.com/blog/v1.9) — Node's anagrammed cousin continues to get even better. 1.9 brings a [native HTTP/2-compliant Web server](https://deno.com/blog/v1.9#native-http%2F2-web-server) (which seems to beat Node's in basic benchmarks), support for `blob` and `data` URLs, faster interop with the underlying Rust code, and more. _"Why use Deno,"_ you ask? Think V8, but with the layer on top built in Rust, with a focus on extra security, first class TypeScript support, and offering browser-compatible APIs wherever possible. 

The Deno Team   

[Announcing `react-pdf` v2.0](https://react-pdf.org/blog/announcing-react-pdf-v2) — While it remains backward-compatible with v1, the new version of react-pdf is a _complete reimplementation_ from scratch. It offers a new hook-based API, improved performance, SVG support, and support for more CSS properties including `z-index` and `overflow`. 

Diego Muracciole   

[Automate Code Standard Enforcement with Lightweight Static Analysis](https://semgrep.dev/?r=cj) 

Semgrep sponsor   

[party.js: A Way to 'Brighten Up' Your Site with Visual Effects](https://partyjs.yiliansource.dev/) — Back in the late 90s and early 00s, JavaScript was very commonly used to add ‘sparkle’ to Web sites in the form of snow, unusual cursors, and such. This is in much the same spirit. Support varies but it’s presented well. 

YilianSource   

[Algolia Search API Client for JavaScript](https://github.com/algolia/algoliasearch-client-javascript) — An official, fully featured low-level client for interacting with Algolia, a popular search API. Works in both the browser and on Node. 

Algolia   

[jest-puppeteer 5.0: Run Your Tests using Jest and Puppeteer](https://github.com/smooth-code/jest-puppeteer) 

Smooth Code         

Published by [Cooperpress](https://cooperpress.com/) and edited by [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
