---
title: "Fun and games with JavaScript"
publication: "JavaScript Weekly"
issue: 484
published_at: "2020-04-17"
canonical_url: "https://javascriptweekly.com/issues/484"
---

Plus more JavaScript links, tutorials, and projects.       

#484 — April 17, 2020 

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

🕹 If you're bored this weekend at all, consider joining the latest [Ludum Dare](https://ldjam.com/) — it's an online game jam that's been taking place for 18 years and more JavaScript entries are appreciated against all the Unity crowd 😂  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/fhp6m0drhkyk5db3vomd.jpg)](https://www.taniarascia.com/writing-an-emulator-in-javascript-chip8/)   

[Writing an 'Emulator' in JavaScript (and Interfacing with Multiple UIs)](https://www.taniarascia.com/writing-an-emulator-in-javascript-chip8/) — This is _really neat_. Tania built a Chip-8 interpreter in JavaScript and has gone into quite a bit of detail about what was involved here. Lots of neat bits and pieces to pick up from this. 

Tania Rascia   

[jQuery 3.5.0 Released](http://blog.jquery.com/2020/04/10/jquery-3-5-0-released/) — I know many of you will groan, but I’m delighted when I see a new jQuery release. It’s still _so_ heavily used. No headline features though, this is a security fix for a cross-site scripting vulnerability, plus some tweaks and fixes in preparation for jQuery 4.0 (yes!) 

Timmy Willison (jQuery Foundation)   [![\](https://copm.s3.amazonaws.com/12d0f8fb.png)](https://www.udemy.com/course/battleship-over-pubsub?utm_source=Syndication&utm_medium=Paid-Advertising&utm_campaign=JavaScriptWeekly-April172020) 

[Build a Game of Battleship with TypeScript & Java. Free Course](https://www.udemy.com/course/battleship-over-pubsub?utm_source=Syndication&utm_medium=Paid-Advertising&utm_campaign=JavaScriptWeekly-April172020) — Join over 2000 developers creating a game of Battleship with TypeScript, Spring Cloud Stream (Java), and PubSub+. This free 30-minute course is a great way to learn the basics of messaging and event-driven architecture with the Aurelia framework. 

Solace sponsor   

[Profiling React.js Performance](https://addyosmani.com/blog/profiling-react-js/) — Goes into detail on aspects of the React Profiler API, React’s new experimental Interaction Tracing API, and measuring custom metrics using the User Timing API. 

Addy Osmani   

[Userscripts are Fun and Still Very Much Relevant](https://dutzi.party/userscripts-are-fun/) — ‘Userscripts’ are basically JavaScript programs that run in the context of other Web pages so you can add your own features. They were _really_ popular for a while but still exist and are still a neat use case for using JavaScript to improve your Web experience. 

Eldad Bercovici   

[Another Look at What's New in ECMAScript 2020](https://www.strictmode.io/articles/whats-new-es2020/) — We linked to [Dr Axel’s](https://2ality.com/2019/12/ecmascript-2020.html) roundup recently, but here’s another take, looking at dynamic imports, nullish coalescing, optional chaining, BigInt, and more. Prefer a video introduction to ES2020? [Harry Wolff has you covered here.](https://www.youtube.com/watch?v=nGvA92h9IbU) 

Ianis T.     

⚡️ Quick Releases 

- [Node 13.13.0](https://nodejs.org/en/blog/release/v13.13.0/) — File system API tweaks, and more.
- [jQuery 3.5](http://blog.jquery.com/2020/04/10/jquery-3-5-0-released/) — So classic we had to link it twice.
- [Cypress 4.4.0](https://github.com/cypress-io/cypress/releases/tag/v4.4.0) — Testing framework. Now supports TypeScript without plugins.
- [Discord.js 12.2](https://discord.js.org/) — Interact with Discord from Node.   

💻 Jobs  

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=js) — Join the most energizing community for developers. Work from anywhere with the world's leading brands. 

X-Team   

[Senior JavaScript Developer (Warsaw, Relocation Package)](https://ckeditor.com/join-us/?utm_source=newsletter&utm_medium=paid&utm_campaign=recruitment) — Open source rich text editor used by millions of users around the world. Strong focus on code quality. Join us. 

CKEditor   

[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  

📚 Tutorials  

[How To Create a Particle Trail Animation in JavaScript](https://www.smashingmagazine.com/2020/04/particle-trail-animation-javascript/) — Particle animations are _particularly_ (sorry) striking.. and in this article, Anna Prenzel shows how to easily create your own such effects with Anime.js. 

Smashing Magazine   

[Strategies for Migrating to TypeScript](https://2ality.com/2020/04/migrating-to-typescript.html) — A quick overview of some strategies for migrating code bases from JavaScript over to TypeScript. 

Dr. Axel Rauschmayer   

[Developing in a Monorepo While Still Using Webpack](https://codeascraft.com/2020/04/06/developing-in-a-monorepo-while-still-using-webpack/) — Second part in a series discussing things the team at Etsy learned during the migration of a home-grown, Require.js-based build system to webpack, which took over a year. 

Salem Hilal   

[A More Productive Way to Build Your JavaScript Apps](https://www.jetbrains.com/webstorm/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=webstorm-sl&utm_content=17042020) — Write better code, debug it, and test it – all in one place. Try WebStorm. No configuration required. 

WebStorm sponsor   

▶[Let's Build a Digital Circuit Simulator in JavaScript](https://www.youtube.com/watch?v=anZPHeA0WKU) — A special episode of the _Low Level JavaScript_ series takes us on a brief journey into the world of digital logic. 

Low Level JavaScript   

[How To Set Up an Express API Backend Project with PostgreSQL](https://www.smashingmagazine.com/2020/04/express-api-backend-project-postgresql/) — A pretty extensive walkthrough of creating an HTTP API using Express with Node.js and Postgres on the backend, then deploying it all on Heroku. 

Chidi Orji   

[Speed Up Your Angular App: 14 Optimization Tips](https://www.grapecity.com/blogs/14-ways-to-speed-up-your-angular-app) — Tips on how to make your Angular app smaller, faster, and more responsive. 

Marcelo Ricardo de Oliveira   

[Class-Related Types in TypeScript](https://2ality.com/2020/02/types-for-classes-typescript.html) 

Dr. Axel Rauschmayer   

📅▶ [A Fireside Chat on the State of Microservices on April 21](https://app.livestorm.co/the-software-house/microservices-for-tech-managers-fireside-chat) — We recently helped _The Software House_ with a developer survey (thanks to those who took it!) and now they’re doing a live chat on the state of microservices next Tuesday featuring Yan Cui, Alessando Vozza, and others. 

The Software House  

🔧 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1587141878/qtondhtj1hlp2esqamzk.jpg)](https://github.com/puppeteer/puppeteer/releases/tag/v3.0.0)  

[Puppeteer 3.0: It Now Supports Firefox](https://github.com/puppeteer/puppeteer/releases/tag/v3.0.0) — Best known for as a way to headlessly control Chrome from Node, Puppeteer has recently seen some competition in the form of the cross-browser [Playwright](https://github.com/microsoft/playwright) recently. But, no fear, Puppeteer is stepping up and can now [work cross-browser too.](https://github.com/puppeteer/puppeteer/blob/master/examples/cross-browser.js) We also learn Puppeteer is migrating to TypeScript. 

Mathias Bynens   

[Open-Source Serverless CMS Powered by React, Node.js and GraphQL API](https://www.webiny.com/) — Build dynamic websites and apps with Webiny. 100% powered by JavaScript. Deploy your sites to AWS Lambda. 

Webiny Serverless CMS sponsor   

[Rome: An Experimental JavaScript Toolchain](https://romejs.dev/) — A compiler, linter, formatter, bundler, testing framework and more. Started by Sebastian McKenzie (of Babel and Yarn fame), Rome is now a project from the React Native team at Facebook. [Related repo](https://github.com/facebookexperimental/rome). 

Facebook   

[Vime: A New, Modern Media / Video Player for the Web](https://vime-js.com/) — Aims to be a ‘modern alternative to Video.js and Plyr’: _“The idea behind Vime is we want you to control the player, not the other way around.”_ Modular, tree-shakable, and with potential for a plugin ecosystem. [GitHub repo.](https://github.com/vime-js/vime) 

Rahim Alwer   

[Vuln Cost: An Open Source Security Scanner for VS Code](https://snyk.io/security-scanner-vuln-cost/) — Free Snyk-powered VS Code extension that finds security vulnerabilities in npm packages, providing feedback in-line with your code, such as how many vulnerabilities a package has. 

snyk   

[ip-num: A Library to Work with ASN, IPv4, and IPv6 Numbers](https://github.com/ip-num/ip-num) — Happy in both Node and the browser. 

dadepo   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1587142213/n8bbz3kfgkjghnwct5wl.png)](https://pqina.nl/flip/)  

[Flip: Animated Flip Counter Plugin to Add a Countdown to a Website](https://pqina.nl/flip/) — Adds an animated dynamic countdown timer to a page. No dependencies, responsive and mobile friendly, and fits any language, locale, or time zone. 

Rik Schennink   

[The Perfect Partner to MongoDB Atlas. Try It for Free](https://studio3t.com/download/?utm_source=cooper&utm_medium=newsletter&utm_campaign=jsweeklyapr17) 

Studio 3T sponsor   

[A JavaScript API for Controlling 'Simpsons: Hit & Run'](https://github.com/taviso/sharapi) — Including this as a bit of fun if you fancy noodling on something odd. Remote controlling games from JS seems neat, although I suspect just getting this running would take a while.. 

Tavis Ormandy         

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
