---
title: "Java-Script Jarre"
publication: "JavaScript Weekly"
issue: 621
published_at: "2023-01-13"
canonical_url: "https://javascriptweekly.com/issues/621"
---

Plus a look at the current state of JS, a new desktop app framework, and a promise rejection gotcha. |        

#​621 — January 13, 2023 

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

Together with [![ButterCMS\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_700,h_100/e_make_transparent/co_white,e_outline:10/h4j9v0v4af8ufqqreqfq.png)](https://buttercms.com/?utm_source=jsweekly&utm_medium=email&utm_campaign=retirelegacycms)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/y69gxuyrresunbix7hkw.jpg)](https://2022.stateofjs.com/en-US/)  

[The State of JS 2022](https://2022.stateofjs.com/en-US/) — _The State of JS_ is one of the JavaScript ecosystem’s most popular surveys and this time 39,471 folks took part giving us a snapshot of the tools, technologies, and language features people are using (or not using!) There’s a lot to go through, but here are some key points: 

- top-level `await` is the most newly adopted feature recently.
- The [JavaScript / TypeScript balance](https://2022.stateofjs.com/en-US/usage/#js_ts_balance) shows a majority of developers using TypeScript over JS.
- Express remains by far the most popular [backend framework](https://2022.stateofjs.com/en-US/other-tools/#backend_frameworks) with Nest, Fastify, Strapi, and Koa following somewhat behind.
- Other interesting results can be found in [JS pain points](https://2022.stateofjs.com/en-US/opinions/#top_js_pain_points), [what is currently missing from JS](https://2022.stateofjs.com/en-US/opinions/#top_currently_missing_from_js), and the ['Awards'](https://2022.stateofjs.com/en-US/awards/) for stand out items (complete with snazzy visual effects). 

Devographics   [![\](https://copm.s3.amazonaws.com/745c866c.png)](https://buttercms.com/?utm_source=jsweekly&utm_medium=email&utm_campaign=retirelegacycms) 

[🧈 Retire your Legacy CMS with ButterCMS](https://buttercms.com/?utm_source=jsweekly&utm_medium=email&utm_campaign=retirelegacycms) — ButterCMS is your new content backend. We’re SaaS so we host, maintain, and scale the CMS. Enable your marketing team to update website + app content without needing you. Try the #1 rated SaaS Headless CMS for your JS app today. Free for 30 days. 

🧈 ButterCMS sponsor   

🗣 [Is TypeScript Worth It?](https://news.ycombinator.com/item?id=34359504) — Time saver or waste of time? The relationship between TypeScript and JavaScript remains a complex one. An extensive discussion took place on Hacker News this week and, notably, TypeScript PM [Daniel Rosenwasser popped up](https://news.ycombinator.com/item?id=34360980) to respond to some of the concerns. 

Hacker News   

**IN BRIEF:** 

- You'll be aware of JavaScript's [strict mode](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode) but one developer thinks we need a [_stricter_ mode](https://rtpg.co/2023/01/08/ideas-for-a-javascript-stricter-mode.html) to fix several other syntax issues.
- [Publint](https://publint.dev/) is an online tool for 'linting' live npm packages to see if they are packaged correctly, as a way to ensure maximum compatibility across environments.   

**RELEASES:** 

- [Node v19.4.0](https://nodejs.org/en/blog/release/v19.4.0/) and [v18.13.0 (LTS)](https://nodejs.org/en/blog/release/v18.13.0/)
- [Commander.js 9.5](https://github.com/tj/commander.js)
 ↳ Node.js command-line interface toolkit.
- [Angular 15.1](https://github.com/angular/angular/releases/tag/15.1.0)
- [Pixi.js 7.1](https://github.com/pixijs/pixijs) – Fast 2D on WebGL engine.  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pdqah3o1igcypar2xwhv.jpg)](https://jakearchibald.com/2023/unhandled-rejections/)  

[The Gotcha of Unhandled Promise Rejections](https://jakearchibald.com/2023/unhandled-rejections/) — A rough edge with promises that can sneak up on you. Jake looks at a ‘gotcha’ around unhandled promise rejections and how to work around it. 

Jake Archibald   

[HTML with Superpowers: The Guidebook](https://daverupert.com/2023/01/html-with-superpowers-the-guidebook/) — A free resource introducing Web Components, what they are, and what problems they’re trying to solve. You can [see the Guidebook directly here](https://htmlwithsuperpowers.netlify.app/). 

Dave Rupert   

[With Retool You Ship Apps Fast with 100+ Perfectly Crafted UI Components](https://retool.com/?utm_source=sponsor&utm_medium=newsletter&utm_campaign=javascriptweekly) — The fast way for devs to build and share internal tools. Teams at companies like Amazon, DoorDash & NBC collaborate around custom-built Retool apps to solve internal workflows. 

Retool sponsor   

[Everything About React's 'Concurrent Mode' Features](https://blog.codeminer42.com/everything-you-need-to-know-about-concurrent-react-with-a-little-bit-of-suspense/) — An in-depth, example-led exploration of [Concurrent Mode](https://reactjs.org/docs/concurrent-mode-intro.html) (now more a set of features integrated into React 18 than a distinct 'mode'). 

Henrique Yuji   

[Using GitHub Copilot for Unit Testing?](https://www.strictmode.io/articles/using-github-copilot-for-testing) — Even if you find the idea of a AI tool like Copilot writing production code distasteful, it may have a place in speeding up writing tests. 

Ianis Triandafilov   

[How to Destructure Props in Vue (Composition API)](https://dmitripavlutin.com/props-destructure-vue-composition/) — How to correctly destructure props object in a Vue component while maintaining the reactivity. 

Dmitri Pavlutin   

[Using Inline JavaScript Modules to Prevent CSS Blockage](https://calendar.perfplanet.com/2022/using-inline-javascript-modules-to-prevent-css-blockage/) 
Stoyan Stefanov   

[How to Build a GraphQL Server with Deno](https://deno.com/blog/build-a-graphql-server-with-deno) 
Andy Jiang  

🛠 Code & Tools  

[Gluon: Framework for Creating Desktop Apps from Sites](https://gluonjs.org/) — A new approach for building desktop apps on Windows and Linux from Web sites using Node (or Deno) and already installed browsers (Chromium _or_ Firefox). Initial macOS support has just been added too. 

Gluon   

[Structura.js: Lightweight Library for Immutable State Management](https://giusepperaso.github.io/structura.js/) — _” It is based on the idea of structural sharing. The library is very similar to [Immer.js](https://immerjs.github.io/immer/), but it has some advantages over it.”_ 

Giuseppe Raso   

[Tuple, a Lightning-Fast Pairing Tool Built for Remote Developers](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=sponsorship-blitz&utm_content=JavaScript+Weekly_Sponsored+Link) — High-resolution, crystal-clear screen sharing, low-latency remote control, and less CPU usage than you'd think possible. 

Tuple sponsor   

[Bay.js: A Lightweight Library for Web Components](https://bayjs.org/) — Makes it easy to create web components that can be reused across projects. It also boasts performant state changes and secure event binding. 

Ian Dunkerley   

[Twify: Scaffold a Tailwind CSS Project with a Single Command](https://github.com/tzsk/twify) — You can use your preferred package manager and it supports creating projects with Next.js, Nuxt 2/3, SvelteKit, Remix, Angular, and more. 

Kazi Ahmed   

[Lazy Brush 2.0: A Library for Smooth Pointer Drawing](https://lazybrush.dulnan.net/) — Allow your users to draw smooth curves and straight lines with your mouse, finger or any pointing device. This long standing library has [just](https://github.com/dulnan/lazy-brush/releases/tag/v2.0.0) migrated to TypeScript and gained a new ‘friction’ option to customize the feel. [GitHub repo.](https://github.com/dulnan/lazy-brush) 

Jan Hug   

➗ [Mafs: React Components for Interactive Math](https://mafs.dev/) — Build interactive, animated visualizations using declarative code with illustrative demos like [bezier curves](https://mafs.dev/guides/examples/bezier-curves). The documentation is fantastic – check out how easy it is to [make plots](https://mafs.dev/guides/display/plots). Or just head to the [GitHub repo](https://github.com/stevenpetryk/mafs). 

Steven Petryk   

[Are You Looking for a New Observability Tool?](https://ter.li/ac1ghu) 

TelemetryHub by Scout sponsor   

[Hyphenopoly 5.0: A Polyfill for Client-Side Hyphenation](https://github.com/mnater/Hyphenopoly) — An interesting use of WebAssembly here. 

Mathias Nater   

- [visx 3.0](https://airbnb.io/visx/)
 ↳ D3-powered visualization React components.
- [Atrament 3.0](https://github.com/jakubfiala/atrament.js)
 ↳ Library for drawing and handwriting on a canvas element.
- [HLS.js 1.3](https://github.com/video-dev/hls.js)
 ↳ Library to play HLS (HTTP Live Streaming) in browsers, with MSE support.    

💻 Jobs  

[Developer Relations Manager](https://cksource.com/careers/?utm_source=jsweekly&utm_medium=email&utm_campaign=jan06#developer-relations-manager) — Join the CKEditor team to build community around an Open Source project used by millions of users around the world 🚀 
CKEditor   

[Backend Engineer, TypeScript (Berlin / Remote)](https://feather-insurance.com/careers/senior-backend-engineer?channel_id=921909) — Thousands of people love our product (see Trustpilot for yourself). Join the team behind it and help us scale. 🚀 
Feather   

[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) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired     

🎶_Écoute la musique.._ 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vcb7yfwtyvvahwzmyuog.jpg)](https://dittytoy.net/ditty/24373308b4)  

[Oxygene Pt 4, as Performed by JavaScript](https://dittytoy.net/ditty/24373308b4) — This is fun. [Dittytoy](https://dittytoy.net/) is a simple, JavaScript-powered online generative music tool and someone has put together a surprisingly faithful rendition of perhaps one of the best known instrumental synth songs ever, all the way from 1976. 

Dittytoy         

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
