---
title: "CommonJS, we love you, we love you not.."
publication: "JavaScript Weekly"
issue: 646
published_at: "2023-07-06"
canonical_url: "https://javascriptweekly.com/issues/646"
---

Plus what's next for JavaScript, new Node, Vite, Deno and Bun releases, plus more. |        

#​646 — July 6, 2023 

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

Together with [![Sleuth\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_380,h_100/e_make_transparent/co_white,e_outline:7/dm8pbpm4svdu3ggeoyqk.png)](https://www.sleuth.io/engineering-efficiency-primer-cooperpress?utm_source=newsletter&utm_medium=email&utm_campaign=javascript)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vxjkbr265bje2oppjm90.jpg)](https://thenewstack.io/whats-next-for-javascript-new-features-to-look-forward-to/)  

[What's Next for JavaScript: New Features to Look Forward to](https://thenewstack.io/whats-next-for-javascript-new-features-to-look-forward-to/) — A reassuring and high level look at just what goes into making JavaScript better over time, along with some of the new things about to appear or still making their way through the arduous TC39 process. 

Mary Branscombe (The New Stack)   

Mary has followed up this piece with [Beyond Browsers: The Longterm Future of JavaScript Standards](https://thenewstack.io/beyond-browsers-the-longterm-future-of-javascript-standards/) which goes into more depth on JavaScript's ongoing developments in the world of servers and edge functions.  

🎥 [Remotion v4.0: Create Videos Using React](https://www.remotion.dev/blog/4-0) — A powerful framework for creating _videos from code_ using React and JavaScript. v4 is such a big update they [▶️ recorded a keynote](https://www.youtube.com/watch?v=S3C9wlPNhkQ) to show it off. 

Jonny Burger   [![\](https://copm.s3.amazonaws.com/3d11c0fd.png)](https://www.sleuth.io/engineering-efficiency-primer-cooperpress?utm_source=newsletter&utm_medium=email&utm_campaign=javascript) 

[A Brief Primer to Engineering Efficiency](https://www.sleuth.io/engineering-efficiency-primer-cooperpress?utm_source=newsletter&utm_medium=email&utm_campaign=javascript) — Software teams are dealing with many changes and budget cuts, yet still have the same delivery expectations. So, how do you keep up? 🤔 The answer: invest in efficiency. Get ahead of the game with this brief on engineering efficiency. 

Sleuth sponsor    

['CommonJS is Hurting JavaScript'](https://deno.com/blog/commonjs-is-hurting-javascript) — An interesting take on Node’s default module system, its history, its shortcomings, and the trickiness of managing both CommonJS and ES modules at once. It's perhaps no surprise the folks at Deno would like to see CommonJS disappear, but... 

Andy Jiang (Deno)   

.. the _Bun_ team, on the other hand, say _au contraire_ and tell us [CommonJS is not going away!](https://bun.sh/blog/commonjs-is-not-going-away) They explain CommonJS's plus points and why Bun is _adding_ support for it.  

**RELEASES:** 

- [TypeScript 5.2 Beta](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2-beta/) – Just a month after the final release of 5.1, too. `using` is the headline feature and the [release post](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2-beta/) goes into fantastic detail.
- [Node.js v20.4.0 (Current)](https://nodejs.org/en/blog/release/v20.4.0) – Node gains an interesting new 'mock timers' feature for writing more reliable and deterministic tests for time-dependent functionality.
- [Vite 4.4](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#440-2023-07-06) – The frontend toolkit updates to esbuild 0.18, adds experimental [Lightning CSS](https://lightningcss.dev/) support, and there are new starter templates [for Solid](https://vite.new/solid-ts) [and Qwik](https://vite.new/qwik-ts)users.
- [Billboard.js 3.9](https://netil.medium.com/billboard-js-3-9-release-arc-needle-dark-theme-more-752c96c167c) – A popular D3-based chart library. ([Demos](https://naver.github.io/billboard.js/demo/).)
- [Deno 1.35](https://deno.com/blog/v1.35) – The alternative JS runtime makes `Deno.serve()` (its Web server API) stable, and improves npm and Node compatibility.
- [Bun 0.6.13](https://bun.sh/blog/bun-v0.6.13)   

**⚡️ IN BRIEF:** 

- Jack Herrington sat down with Redux and Redux Toolkit's maintainer, Mark Erikson, to [▶️ discuss what's next for Redux and Redux Toolkit?](https://www.youtube.com/watch?v=n5FK8_EXcbs)
- 🎵 [Spotify has introduced a TypeScript SDK](https://developer.spotify.com/blog/2023-07-03-typescript-sdk) for its Web API.
- A little update from the Svelte team on the [complete overhaul of their official site](https://svelte.dev/blog/svelte-dev-overhaul), hot on the heels of [Svelte 4.0's](https://svelte.dev/blog/svelte-4) release. It's a great time to be a Svelte developer.
- The folks at Img․ly released the code for a system that can [remove the backgrounds of images directly in the browser](https://github.com/imgly/background-removal-js) – [more info.](https://img.ly/blog/announcing-imgly-background-removal/)  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/b8wmwscvusrpsrxunygw.jpg)](https://csswizardry.com/2023/07/in-defence-of-domcontentloaded/)  

[In Defence of DOMContentLoaded](https://csswizardry.com/2023/07/in-defence-of-domcontentloaded/) — A solid explainer on measuring browser events and the use cases for [DOMContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event) (and related events) in particular. _"The DOMContentLoaded event fires once all of your deferred JavaScript has finished running."_ 

Harry Roberts   

[Breaking Up with SVG-in-JS in 2023](https://kurtextrem.de/posts/svg-in-js) — _“SVGs in JS have a cost and SVGs do not belong into your JS bundle.”_ A look into why you shouldn’t have SVGs in your JS bundle and better techniques for using them from JSX. 

Jacob Groß   

[Move from Datadog to Axiom with Our New Migration App](https://axiom.co/blog/datadog-migration-app:go-live-with-axiom-in-5-minutes?utm_campaign=ddmigrate&utm_source=cooperp) — Logging reimagined means Axiom’s plans start at $25/mo for 1tb of data. Stop sampling, get Axiom. 

Axiom sponsor   

[An Introduction to the View Transitions API](https://www.sitepoint.com/view-transitions-api-introduction/) — The [experimental View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API) offers an easier way to animate between DOM states and even between page loads. Here’s a look at how to use this progressive enhancement. 

Craig Buckler   

[JavaScript _Gom Jabbar_](https://frantic.im/javascript-gom-jabbar/) — In the _Dune_ universe, a “gom jabbar” is a poisonous needle used in an eponymous test where people are subjected to intense pain. Somehow this is turned into a metaphor for painful JavaScript experiences.. 😏 

Alex Kotliarskyi   

▶[The JavaScript Hype Cycle and React Burnout](https://www.youtube.com/watch?v=zkCBSz353fc) — Aaron’s idea? Pick something that works for you, avoid the hype cycle, and, perhaps, don’t use things that aren’t at least a year old. 

Aaron Francis   

📅 That 'year old' thing is an interesting idea. We should introduce a section where we look back at things from a year ago and if they're still going.. 😅  

[How to Consume a Paginated API using Async Generators](https://jrsinclair.com/articles/2023/how-to-consume-a-paginated-api-using-javascript-async-generators/) 
James Sinclair  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kj5bugurom0lt5vn3vwf.jpg)](https://cortexjs.io/mathlive/)  

[MathLive: A Web Component for Math Input](https://cortexjs.io/mathlive/) — A web component that provides an interface for editing formulas. It uses LaTeX-style typesetting to keep things looking good. [GitHub repo](https://github.com/arnog/mathlive). 

Arno Gourdol   

[Starlight: A Documentation Site Builder from Astro](https://starlight.astro.build/) — React has [Docusaurus](https://docusaurus.io/), now Astro has Starlight. Being Astro, it’s framework agnostic and you can extend it with React, Vue, Svelte, Solid, etc. You get site navigation, search, internationalization, code highlighting, dark mode, and more out of the box. [GitHub repo](https://github.com/withastro/starlight). 

Starlight   

[Monitor, Test and Debug your APIs with APIToolkit](https://apitoolkit.io?utm_campaign=cooperpress) 

APIToolkit sponsor   

[mdsvex: A Markdown Preprocessor for Svelte](https://mdsvex.com/) — The homepage is a minimal, but cute, demonstration, but [the docs](https://mdsvex.com/docs) are where the meat is. 

pngwn   

[rrule.js: Work with Recurrence Rules for Calendar Dates](https://jakubroztocil.github.io/rrule/) — iCalendar is a data format for representing calendars and schedules, and RRULE is its way to define recurring events. rrule.js allows you to work with such rules, and has an amazing ‘playground’ style homepage to show it off. 

Jakub Roztocil   

[copy-text-to-clipboard: Copy Text to Clipboard in Modern Browsers](https://github.com/sindresorhus/copy-text-to-clipboard) — Pretty simple but will save you a little messing around with the browser API. 

Sindre Sorhus   

- [TinyBase 4.0](https://tinybase.org/guides/releases/#v4-0)
 ↳ Reactive data store for local‑first apps.
- [Cross Fetch 4.0](https://github.com/lquixada/cross-fetch)
 ↳ Universal WHATWG Fetch API for Node, browsers and React Native.
- [Sortable 2.2](https://github.com/tofsjonas/sortable)
 ↳ Makes any table with `class="sortable"`sortable.
- [Escodegen 2.1](https://github.com/estools/escodegen)
 ↳ AST to ECMAScript code generator.     

💻 Jobs  

[Find JavaScript 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) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired   

🧑‍💻 Got a job listing to share? _[Here's how](https://booking.cooperpress.com/jobs)_.   

🎁 And one for luck.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mqs2oeoez1mxpcv1sy2r.jpg)](https://joplinapp.org/)  

[Joplin: An Open Source Note Taking and To-Do App](https://joplinapp.org/) — Essentially an open source _Evernote_, complete with numerous client apps (desktop and mobile) and a server side supporting synchronization across cloud services. [GitHub repo](https://github.com/laurent22/joplin). 

Laurent Cozic         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'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
