---
title: "How tiny dependencies can topple the JavaScript Jenga tower"
publication: "JavaScript Weekly"
issue: 486
published_at: "2020-05-01"
canonical_url: "https://javascriptweekly.com/issues/486"
---

Plus more JavaScript links, tutorials, and projects.       

#486DX2 — May 1, 2020 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/v1588344812/xduqewnwiw3mdglbn4ui.gif)](https://github.com/antfu/i18n-ally#readme)   

[🌍 I18n Ally: An All-in-One i18n Extension for VS Code](https://github.com/antfu/i18n-ally#readme) — Got some internationalization work to do? I18n Ally gives you inline annotations, automated translations via Google Translate (which you can review), progress indication, etc. Supports React, Angular, Vue and other frameworks. [Visual Studio Marketplace link.](https://marketplace.visualstudio.com/items?itemName=antfu.i18n-ally) 

Anthony Fu   

[How a Few Lines of Code Broke Lots of Packages](https://t.co/wFUuGcGiid?amp=1) — Just under a week ago, people were [reporting](https://github.com/then/is-promise/issues/13#issuecomment-619402307) that `create-react-app` was broken. The culprit? A tiny change in a tiny dependency: `is-promise`. Luckily a fix was out _very_ quickly and the creator of `is-promise` reflects on what happened here. Liran Tal also has [some analysis of the situation.](https://snyk.io/blog/why-did-is-promise-happen-and-what-can-we-learn-from-it/) 

Forbes Lindesay   [![\](https://copm.s3.amazonaws.com/2c12e310.png)](https://www.datadoghq.com/dg/apm/synthetics/ts-synthetic-monitoring/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-JavascriptWeeklyP) 

[Identify Front-End Issues Like JavaScript or Network Errors Fast](https://www.datadoghq.com/dg/apm/synthetics/ts-synthetic-monitoring/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-JavascriptWeeklyP) — Datadog’s algorithmic alerts will proactively alert on any client-side issues such as JavaScript and network errors. Optimize the load time of your front-end resources, and detect any UI issues that affect critical user journeys. Try it free with Datadog Synthetics. 

Datadog sponsor   

[Q: A JavaScript 'Quantum Circuit' Simulator](https://quantumjavascript.app/) — Bring quantum computing to your browser with this JavaScript simulation. If you were never quite sure what your JavaScript code was going to do, now you can formally explore the concept 😂 

Stewart Smith   

[A Super Simple Start to React](https://kentcdodds.com/blog/super-simple-start-to-react) — Yes, we have [a React newsletter](https://react.statuscode.com/) but this actually suits non-React developers better by showing off the absolute simplest React setup imaginable. 

Kent C Dodds     

**Quick bytes:** 

- The first release candidate of [TypeScript 3.9 is here.](https://devblogs.microsoft.com/typescript/announcing-typescript-3-9-rc/)
- A look at the [current state of Vue.js](https://docs.google.com/presentation/d/1LHp-8hEtXEMSE1fd6YLAhYmtndQelQKbWlGggZKe4y8/edit#slide=id.p) in the form of a slide deck. [3.0.0-beta.5](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) just dropped BTW.
- If your team uses Storybook, the same team have released [Chromatic 2.0](https://blog.hichroma.com/chromatic-2-0-code-review-but-for-ui-ddcebf0272b4) which brings team 'code review' practices to your UI components.
- A [look at wink-scroll,](https://t.co/nMzMiclJIi?amp=1) a JavaScript-powered way to scroll Web content using your eyes alone.
- If you didn't realize we have a [Node Weekly](https://nodeweekly.com/) newsletter somewhat similar to this one, [you do now..](https://nodeweekly.com/) 😄   

💻 Jobs  

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77584) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery   

[Senior Full-Stack Developer (Malmö/Sweden)](https://www.ortelius.com/senior-full-stack-developer/) — Every day is different from the next. Join our upbeat Team and work on exciting, major projects using a modern JavaScript stack. 

Ortelius AB  

📚 Tutorials  

[A Guide to `window.location`](https://dev.to/samanthaming/window-location-cheatsheet-4edl) — A breakdown that covers most of the methods and properties available on the DOM’s `window.location` object. 

samantha ming   

[Implementing Dark Mode in React Apps Using `styled-components`](https://www.smashingmagazine.com/2020/04/dark-mode-react-apps-styled-components/) 

Blessing Krofegha   

▶[Let's Build a Financial Dashboard App with React (Webinar On‑Demand)](https://www.telerik.com/campaigns/kendo-ui/wb-financial-dashboard-with-react?utm_medium=cpm&utm_source=jsweekly&utm_campaign=kendo-ui-react-webinar-fin-dash&utmcontent=sponsored-link) — Join TJ VanToll as he walks you through building a responsive Bootstrap-themed Stocks Portfolio app. [Check it out today](https://www.telerik.com/campaigns/kendo-ui/wb-financial-dashboard-with-react?utm_medium=cpm&utm_source=jsweekly&utm_campaign=kendo-ui-react-webinar-fin-dash&utmcontent=sponsored-link). 

Progress KendoReact sponsor   

[Getting Started with NuxtJS](https://www.smashingmagazine.com/2020/04/getting-started-nuxt/) — Learn how to create Vue.js-powered server-side rendered apps with NuxtJS including configuring an app and deploying it on Heroku. 

Timi Omoyeni   

▶[Learn Svelte: A 16-Part Course on Learning the Popular UI Framework](https://scrimba.com/playlist/pG6X6UG) — The course centers around building a chatbot, which is a nice change from the todos and other overused tutorial examples. 

noah kaufman   

[10 Practical JavaScript Tricks](https://dev.to/zandershirley/10-practical-javascript-tricks-2b7h) — These kinds of lists are usually pretty run of the mill, but this one actually contains some lesser-known quick tips that you may not have seen before. 

zander shirley   

[Moving TinyMCE to Modern JavaScript](https://www.tiny.cloud/blog/modern-javascript-refactoring-tinymce/) — The creators of TinyMCE (a popular WYSIWYG HTML editor) have been refactoring its rather legacy JavaScript (the first version came out 17 years ago!) to modern practices. 

Joakim Lindkvist   

[7 JavaScript Design Patterns Every Developer Should Know](https://codesource.io/javascript-design-patterns/) — This is sort of like a (very) mini version of Addy Osmani’s 2017 book on JS design patterns (which is referenced at the end of the post). 

deven rathore   

▶[An Introduction to State Machines Using XState](https://egghead.io/courses/introduction-to-state-machines-using-xstate) — [XState](https://github.com/davidkpiano/xstate) is a neat way to work with state machines in JavaScript, Kyle is a neat teacher, and Egghead is a neat platform for unlocking these videos for us too. 

Kyle Shevlin   

[Ride Down Into JavaScript Dependency Hell](https://blog.appsignal.com/2020/04/09/ride-down-the-javascript-dependency-hell.html?utm_source=JS-newsletter-sponsored&utm_medium=email&utm_campaign=JS-dependency-hell&utm_content=brief-link) 

AppSignal sponsor   

[A Collection of Challenging TypeScript Exercises](https://github.com/mdevils/typescript-exercises) — _“The goal: Let everyone play with many different TypeScript features and get an overview of TypeScript capabilities and principles.”_ 

Marat Dulin   

[A Visual Guide to React Mental Models](https://obedparla.com/code/a-visual-guide-to-react-mental-models/) — Different people learn in different ways but good mental models are always valuable and can be helpful if you need to juggle all of the pieces involved in a framework like React. 

Obed Parlapiano   

[Turning Vue Components Into Reusable npm Packages](https://www.voorhoede.nl/en/blog/turning-vue-components-into-reusable-npm-packages/) — Outlines how you can reuse Vue components across your projects by automating your process to bundle, test, document, and publish your components. 

Sjoerd de voorhoede  

🔧 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/qa1ovdohbzgllt2x3lbq.jpg)](https://github.com/paulhodel/jexcel)   

[jExcel v4: A Vanilla JS Interactive Table / Spreadsheet Control](https://github.com/paulhodel/jexcel) — 4.0 adds support for [tabs/workbooks](https://bossanova.uk/jexcel/v4/examples/tabs), updating a remote data source with JSON, formula support in a sheet footer, and more. There are lots of demos and examples on [the official homepage.](https://bossanova.uk/jexcel/v4/) 

Paul Hodel   

[Will It CORS?](https://httptoolkit.tech/will-it-cors/) — A handy online tool/wizard for establishing how your (potential) use case will (or won’t!) operate alongside CORS (Cross-Origin Resource Sharing). 

HTTP Toolkit   

[Get Great Visual Feedback & Bug Reports, Even from Non-Technical Folk](https://bugherd.com/bug-tracker-developers-new?utm_source=javaskriptweekly&utm_medium=referral&utm_campaign=javaskriptweekly_sponsored) — Simply click a page element to pin visual feedback with screenshots & metadata. BugHerd = fast and easy bug tracking. 

BugHerd sponsor   

[utfu: Replace Busted Characters From Legacy Text with UTF-8](https://gitlab.com/selfagency/utfu) — Useful when old content contains characters like “â€” in place of a single quote, and similar legacy text issues. 

Daniel Sieradski   

[Middy 1.0: A Node Middleware Framework for AWS Lambda](https://loige.co/middy-1-is-here/) — Middy’s aim is to make writing serverless functions (hosted on AWS Lambda) easier by providing a familiar middleware abstraction to Node developers. 

Luciano Mammino   

[useWorker() 3.0: A React Hook for Blocking-Free Background Tasks](https://github.com/alewin/useWorker) — Makes it easier to throw tasks off to a Web Worker in React. 

Alessio Koci   

[webpack-blocks: Configure webpack using Functional Feature Blocks](https://github.com/andywer/webpack-blocks) 

Andy Wermke   

[JZZ: A MIDI Library for Node and the Browser](https://github.com/jazz-soft/JZZ) — Send, receive and play MIDI messages from both Node and the browser on Linux, macOS and Windows. Be sure to click on the logo on [the homepage.](https://jazz-soft.net/doc/JZZ/) 

Sema   

[MDX 1.6: Use JSX in Markdown Documents](https://github.com/mdx-js/mdx) — This version introduces [initial Vue support.](https://github.com/mdx-js/mdx/pull/1029) 

Compositor and Vercel      

🗓 Upcoming Online Events 

- [JavaScript Remote Conf 2020](https://devchat.tv/conferences/javascript-remote-2020/) **(May 14-15)** — Speakers lined up already include Raymond Camden, Christian Heilmann, and Aleksandra Sikora.
- [ESNEXT CONF 2020](https://www.esnextconf.com/) **(May 18-22)** — From the Pika folks (of [Snowpack](https://github.com/pikapkg/snowpack) fame). 12 speakers over 5 days so it's a gradual pace.
- [ForwardJS](https://forwardjs.com/ottawa/) **(May 26-29)** — A real world event (ForwardJS Ottawa) that has now become a virtual event.
- [CascadiaJS 2020](https://2020.cascadiajs.com/cfp) **(September 1-2)** — This upcoming online conference is set to take place in September, and the CFP is open now through May 15.          

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
