---
title: "Mutable state, Electron 7.0, Node 13, and TypeScript 3.7 RC1"
publication: "JavaScript Weekly"
issue: 460
published_at: "2019-10-25"
canonical_url: "https://javascriptweekly.com/issues/460"
---

This week's JavaScript news       

#460 — October 25, 2019 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1572022446/x2vjkkjoewdajr4gsezl.png)](https://2ality.com/2019/10/shared-mutable-state.html)  

[The Problems of Shared Mutable State and How to Avoid Them](https://2ality.com/2019/10/shared-mutable-state.html) — A deep dive from JavaScript maven Dr. Axel on mutable state, how it can cause problems when multiple entities wish to rely upon it, and how techniques like copying, non-destructive updates, and immutability can help. A lot to digest here, including plenty of advanced bits. 

Dr. Axel Rauschmayer   

[Electron 7.0 Released](https://electronjs.org/blog/electron-7-0) — Another major release for the popular cross platform Chrome and JavaScript-powered desktop app platform. 7.0 brings Electron up to Chrome 78, V8 7.8, and Node 12.8.1 standards, and there’s a new `nativeTheme` API for working with changes to the OS’s theming/color scheme. 

Electron Team   [![\](https://copm.s3.amazonaws.com/94b5ee28.png)](https://www.heroku.com/podcasts) 

[Explore the Code[ish\] Podcast](https://www.heroku.com/podcasts) — A podcast from the team at Heroku, exploring code, technology, tools, tips, and the life of the developer. New episodes weekly. 

Heroku sponsorpodcast   

▶[27 Talks from Nordic.js 2019](https://www.youtube.com/playlist?list=PLGP3VO5jDf8x0gh5H7dZ41F0nVDlwDMuy#nordicjs) — Nordic.js is a JavaScript event that took place in Stockholm two weeks ago and the talks are ready for you to enjoy. Some highlights: 

- Mark Volkmann on [building apps with Svelte.](https://www.youtube.com/watch?v=PXOE7oZyaBA&list=PLGP3VO5jDf8x0gh5H7dZ41F0nVDlwDMuy&index=4&t=0s)
- Monica Wojciechowska on [creating animated charts with D3 and React.](https://www.youtube.com/watch?v=bQSDwPioK6Y&list=PLGP3VO5jDf8x0gh5H7dZ41F0nVDlwDMuy&index=24&t=0s)
- Katie Fenn on [memory management and garbage collection.](https://www.youtube.com/watch?v=H_BYkp5sfpM&list=PLGP3VO5jDf8x0gh5H7dZ41F0nVDlwDMuy&index=23&t=0s)
- Godfrey Chan on [thinking in TypeScript.](https://www.youtube.com/watch?v=WJjC0CA7vUE&list=PLGP3VO5jDf8x0gh5H7dZ41F0nVDlwDMuy&index=9&t=0s) 

NordicJS on YouTube   

[Node.js 13 Released; Node.js 12 Becomes Active LTS](https://t.co/58UjbBxTSe?amp=1) — Node 13 becomes the new ‘current’ version of Node (that gets all the new features first) and Node 12 joins 10 and 8 as an LTS (Long Term Support) release. 

Node.js Foundation   

[Puppeteer 2.0 Released: Control Headless Chrome from Node](https://pptr.dev/) — The popular ‘remote control’ for Chrome now uses Chromium 79, requires Node 8+, and includes new APIs for emulating timezones and media types. Screenshotting has also [been improved.](https://github.com/GoogleChrome/puppeteer/issues/5080) 

Google Chrome Team     

**Quick bytes:** 

- The first [release candidate of TypeScript 3.7](https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-rc/) is out.
- React now has [official pre-release channels](https://reactjs.org/blog/2019/10/22/react-release-channels.html) if you like to live on the edge.
- The OpenJS Foundation has launched [two new Node.js certifications.](https://openjsf.org/blog/2019/10/22/openjs-foundation-launches-new-professional-certification-program-to-support-the-future-of-node-js-development/)
- The creator of the JS13KGames contest shares the tale of [how they got entrants to try out the Web Monetization API](https://hacks.mozilla.org/2019/10/from-js13kgames-to-mozfest-arcade-a-game-dev-web-monetization-story/) this year.   

💻 Jobs  

[Software Engineer Frontend (f/m/d)](https://collectai.workable.com/j/11C51D6758) — We are looking for an experienced Software Engineer Frontend (React) (f/m/d) to join our international team. 

collect Artificial Intelligence GmbH   

[Senior Web Developer at Dr. Bill](https://www.dr-bill.ca/senior-web-developer) — Dr. Bill helps Canadian doctors save time by streamlining their billing. Help lead our team into the next phase of growth. 

Dr.Bill   

[Have You Tried 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  

📘 Articles & Tutorials  

[Writing Asynchronous Tasks in Modern JavaScript](https://www.smashingmagazine.com/2019/10/asynchronous-tasks-modern-javascript/) — A good introduction to the idea of asynchronous execution (a fundamental concept in JavaScript) working through from legacy approaches through to modern examples with promises and `async`/`await`. 

Jeremias Menichelli   

[Building a Typing Game with MelonJS](https://blog.bitsrc.io/writing-a-typing-game-with-melonjs-ef0dd42f37bf) — A cute look at using [melonJS](http://www.melonjs.org/), a Canvas-based game engine, to build a simple game. We used to link to a lot of fun tutorials like this in the early days but they seem less common now. 

Fernando Doglio   

[Build Video in Just Two API Calls](https://get.mux.com/32AftvS) — Mux Video is an API-first platform, powered by data and designed by video experts to make beautiful video possible for every development team. 

Mux sponsor   

[Formatting JavaScript Dates with Moment.js](http://thecodebarbarian.com/formatting-javascript-dates-with-moment-js.html) 

Valeri Karpov   

[How to Implement Redux in 24 Lines of JavaScript](https://www.freecodecamp.org/news/redux-in-24-lines-of-code/) — Redux itself started as a very small library so it’s reasonably trivial to recreate its basic features quickly as a way to learn more about what’s involved. 

Yazeed Bzadough   

[How to Build a Tic Tac Toe Game with Svelte](https://www.sitepoint.com/svelte-tic-tac-toe/) — You don’t just get one game building tutorial this week, you get two! 

Akshay Kadam   

[Free Download: Results from Our Video Developer Survey 2019](https://go.bitmovin.com/video-developer-report-2019?utm_source=cooper-java-brief-link&utm_medium=paid-newsletter&utm_campaign=dev-report-2019) 

Bitmovin sponsor   

[Svelte vs React: Some First Impressions](https://medium.com/javascript-in-plain-english/svelte-vs-react-first-impression-1ce5d3ee6889) 

Murat Catal   

[Cascading Cache Invalidation](https://philipwalton.com/articles/cascading-cache-invalidation/) 

Philip Walton  

🔧 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/gpwd68zl6egtbrcknch1.jpg)](https://t.co/mOGQX9NQfX)   

[Peaks.js: Interact with Audio Waveforms](https://t.co/mOGQX9NQfX) — A client-side JavaScript component to display and interact with audio waveforms in the browser. [Here’s the repo](https://github.com/bbc/peaks.js). 

Indrek Lasn   

[μPlot.js: A Fast, Tiny Time Series Chart Library](https://github.com/leeoniya/uPlot) — This is for when you have a _lot_ of data to plot quickly: _“from a cold start it can create an interactive chart containing 150,000 data points in 40ms.”_ 

Leon Sorokin   

[The Most Complete Spreadsheet Solution for JavaScript Apps - SpreadJS](https://www.grapecity.com/spreadjs?utm_source=JavaScriptWeekly&utm_medium=SpreadJS-10-25-19-General-Ad&utm_campaign=CooperPress-Fall-2019) — Fast enterprise JavaScript spreadsheet for delivering true Excel-like spreadsheet experiences. Download free eval. 

SpreadJS by GrapeCity sponsor   

[Mermaid: Generate Diagrams and Flowcharts From Text](https://github.com/knsv/mermaid) — Write out your diagrams and flowcharts in a plain text, Markdown-esque way, and get nice graphics out. 

Knut Sveidqvist   

[RxDB: A Realtime Database for JavaScript Applications](https://github.com/pubkey/rxdb) — You can query the current state but also _subscribe_ to state changes, making it useful for UI-based apps where you want live/real-time updates. It’s not new but it’s had a solid stream of releases recently. 

pubkey   

[Mitt: A Tiny 200 Byte Functional Event Emitter / PubSub](https://github.com/developit/mitt) 

Jason Miller     

⚡️ Quick Releases 

- [React 16.11.0](https://github.com/facebook/react/releases/tag/v16.11.0)
- [Ghost 3.0](https://github.com/TryGhost/Ghost) — Node-powered blog platform.
- [Relay 7.0](https://github.com/facebook/relay) — Declarative GraphQL data fetching for React.         

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
