---
title: "Microsoft shrunk the TypeScript"
publication: "JavaScript Weekly"
issue: 640
published_at: "2023-05-25"
canonical_url: "https://javascriptweekly.com/issues/640"
---

Plus a JS to WASM toolchain, plotting weird formulas, and the results of TC39's latest meeting. |        

#​640 — May 25, 2023 

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

Together with [![Bryntum\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_560,h_100/e_make_transparent/co_white,e_outline:7/hs9vs3jkbbbrfz0twgvk.png)](https://bryntum.com/products/grid/?utm_source=newsletter&utm_medium=email&utm_id=jsweekly-primary-20230519-grid)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/iqzrtl8fc4k7gejg6e4f.jpg)](https://microsoft.github.io/devicescript/)  

[DeviceScript: TypeScript for Tiny Thingamabobs](https://microsoft.github.io/devicescript/) — DeviceScript is a new Microsoft effort to take the TypeScript experience to low-resource microcontroller-based devices. It’s compiled to a custom VM bytecode which can run in such constrained environments. (A bit like Go’s [TinyGo.](https://tinygo.org/)) It’s aimed at VS Code users but there’s a [CLI option](https://microsoft.github.io/devicescript/getting-started/cli) too. 

Microsoft   

[The State of Node.js Performance in 2023](https://blog.rafaelgss.dev/state-of-nodejs-performance-2023) — Node 20 gets put through its paces against 18.16 and 16.20 with a few different benchmark suites running on an EC2 instance. It goes into a _lot_ of depth that’s worth checking out, but if you haven’t got time, the conclusion is _“Node 20 is faster.”_ Good. 

Rafael Gonzaga   [![\](https://copm.s3.amazonaws.com/162049cf.png)](https://bryntum.com/products/grid/?utm_source=newsletter&utm_medium=email&utm_id=jsweekly-primary-20230519-grid) 

[Lightning Fast JavaScript Data Grid Widget](https://bryntum.com/products/grid/?utm_source=newsletter&utm_medium=email&utm_id=jsweekly-primary-20230519-grid) — Try a professional JS data grid component which lets you edit, sort, group and filter datasets with fantastic UX & performance. Includes a TreeGrid, API docs and lots of demos. Seamlessly integrates with React, Angular & Vue apps. 

Bryntum Grid sponsor   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/akhsklce7qehwydcmm15.jpg)](https://deno.com/blog/v1.34)  

[Deno 1.34: Now `deno compile` Supports npm Packages](https://deno.com/blog/v1.34) — [Deno](https://deno.com/runtime) isn’t Node, but it increasingly likes to wear a Node-shaped costume. This release focuses on npm and Node compatibility and Deno’s `compile` command (for turning projects into single binary executables) now supports npm packages too which opens up a lot of use cases. 

The Deno Team   

**⚡️ IN BRIEF:** 

- TC39's Hemanth.HM shares [some updates from TC39's 96th meeting.](https://dev.to/hemanth/updates-from-the-96th-tc39-meeting-4goe) `Atomics.waitAsync`, the `/v` flag for regexes, and a method to detect well formatted Unicode strings all move up to stage 4.
- The Angular team shares [the results of their annual developer survey.](https://blog.angular.io/angular-developer-survey-2022-results-summary-d17c88f62690) Over 12,000 Angular developers responded.   

**RELEASES:** 

- [Astro 2.5](https://astro.build/blog/astro-250/)
- [Preact 10.15](https://github.com/preactjs/preact) – Fast 3KB React alternative.
- [TypeScript 5.1 RC](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1-rc/)
- [Electron 24.4](https://github.com/electron/electron/releases/tag/v24.4.0)
- [MapLibre GL JS v3](https://maplibre.org/news/2023-05-23-maplibre-gl-js-v3/) – WebGL-powered vector tile maps.  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qsmtew9or4swcewyxwpg.jpg)](https://eli.thegreenplace.net/2023/demystifying-tuppers-formula/)  

[Demystifying Tupper's Formula](https://eli.thegreenplace.net/2023/demystifying-tuppers-formula/) — [Tupper’s self-referential formula](https://en.wikipedia.org/wiki/Tupper%27s_self-referential_formula) is a formula that, when plotted, can represent itself. Confused? Luckily Eli shows us how simple the concept is and how to use JavaScript to render your own. 

Eli Bendersky   

[An Introduction to Web Components](https://blog.rasvi.io/2023-05-21-webcomponent-intro-with-example) — A practical and straightforward introduction to using the custom element API now [supported](https://caniuse.com/custom-elementsv1) in all major browsers to create a basic tabbed panel. 

Mohamed Rasvi   

▶[Creative Coding with p5.js in Visual Studio Code](https://www.youtube.com/watch?v=1h6vZl-OuB0) — [p5.js](https://p5js.org/) is a ‘creative coding’ library that takes a lot of inspiration from [Processing.](https://processing.org/) Dan does a great job at showing it off and sharing his enthusiasm for it. The main content starts at [about 8-minutes in.](https://youtu.be/1h6vZl-OuB0?t=479) 

Daniel Shiffman and Olivia Guzzardo   

[Auth. Built for Devs, by Devs](https://fusionauth.io?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=awareness) — Easily add login, registration, SSO, MFA, user controls and more auth features to your app in any framework. 

FusionAuth sponsor   

▶[Why React is Here to Stay](https://www.youtube.com/watch?v=ADKvP8Xn4g8) — A rebuttal of sorts to Adam Elmore’s video from two weeks ago: [▶️ I’m Done with React](https://www.youtube.com/watch?v=Zt8mO_Aqzw8). 

Joscha Neske   

[Comparing Three Ways of Processing Arrays Non-Destructively](https://2ality.com/2022/05/processing-arrays-non-destructively.html) — `for-of`, `.reduce()`, and `.flatMap()` go up against each other. 

Dr. Axel Rauschmayer   

[Build Your First JavaScript ChatGPT Plugin](https://www.sitepoint.com/javascript-chatgpt-plugin/) — Plugins provide a way to extend ChatGPT’s functionality. 

Mark O'Neill   

[How I’ve Shifted My Angular App to a Standalone Components Approach](https://blog.bitsrc.io/how-ive-shifted-my-angular-app-to-standalone-components-approach-48c344bb714a) 
Kamil Konopka  

🛠 Code & Tools  

[Javy 1.0: A JS to WebAssembly Toolchain](https://github.com/bytecodealliance/javy?ck_subscriber_id=887809557) — Originally built at Shopify, Java takes your JS code and runs it in a WASM-embedded runtime. It’s worth [scanning the example](https://github.com/bytecodealliance/javy#compiling-to-webassembly) to get a feel for the process. _“We’re confident that the Javy CLI is in good enough shape for general use so we’re releasing it as v1.0.0.”_ 

Bytecode Alliance   

[Inkline 4.0: A Customizable Vue.js 3 UI/UX Library](https://inkline.io/) — A design system and numerous customizable components designed for mobile-first (but desktop friendly) and built with accessibility in mind. 

Alex Grozav   

[Dynaboard: A Visual Web App IDE Made for Developers](https://dynaboard.com/?utm_source=cooperpress-jw&utm_medium=email&utm_campaign=visualide-q22023) — Build high performance public and private web applications in a collaborative — full-stack — development environment. 

Dynaboard sponsor   

[BlockNote: A 'Notion-Like' Block-Based Text Editor](https://www.blocknotejs.org/) — Flexible and presents an extensive API so you can integrate it with whatever you want to do. You can drag and drop blocks, add real-time collaboration, add customizable ‘slash command’ menus, and more. Builds on top of ProseMirror and TipTap. 

TypeCell   

[Windstatic: A Set of 170+ Components and Layouts Made with Tailwind and Alpine.js](https://windstatic.com/) — Categorized under page sections, nav, and forms, and each category includes multiple components you can drop into projects. 

Michael Andreuzza   

[ls-lint 2.0: A Fast File and Directory Name Linter](https://github.com/loeffel-io/ls-lint) — Written in Go but aimed at JS/front-end dev use cases, `ls-lint` provides a way to enforce rules for file naming and directory structures. 

Lucas Löffel   

[Jest Puppeteer 9.0: Run Tests using Jest and Puppeteer](https://github.com/argos-ci/jest-puppeteer/) — A Jest preset enabling end-to-end testing with [Puppeteer.](https://pptr.dev/) 

Argos CI   

[ts-sql-query: Type-Safe SQL Query Builder](https://ts-sql-query.readthedocs.io/en/stable/) — Want to build dynamic SQL queries in a type-safe way with TypeScript verifying queries? This is for you. Supports numerous SQL-based database systems and _isn’t_ an ORM itself. 

Juan Luis Paz Rojas   

[React Authentication, Simplified](https://userfront.com/tutorials/react-authentication?&utm_source=javascriptweekly-com&utm_medium=newsletter&utm_campaign=brief_link&utm_content=react_authentication) 

Userfront sponsor   

- [Hashids.js 2.3](https://hashids.org/javascript/)
 ↳ Generate YouTube-like IDs.
- [Tabulator 5.5](https://tabulator.info/docs/5.5/release)
 ↳ Interactive table and data grid control.
- [gridstack.js 8.2](https://gridstackjs.com/)
 ↳ Dashboard layout and creation library.
- [Cypress GitHub Action 5.8](https://github.com/cypress-io/github-action)
 ↳ Action for running Cypress end-to-end tests.
- [ReacType 16.0](https://github.com/open-source-labs/ReacType/releases/tag/v16.0.0)
 ↳ Visual prototyping tool that exports React code.
- [Mongoose 7.2](https://github.com/Automattic/mongoose) – MongoDB modelling library.
- [Eta (η) 2.2](https://github.com/eta-dev/eta) – Embedded JS template engine.
- [AVA 5.3](https://github.com/avajs/ava) – Popular Node test runner.
- [MelonJS 15.3](https://github.com/melonjs/melonJS) – HTML5 game engine.     

💻 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   

[Fullstack Engineer at Everfund.com](https://everfund.notion.site/Fullstack-Engineer-Everfund-com-59115d2975b84fdd97c03d1b8a5a578e) — Push code, change lives. Help us become the center for good causes on the modern web with our dev tools. 
Everfund   

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

**💚 Node.js developer?** Check out the [latest issue of _Node Weekly_](https://nodeweekly.com/latest), our sibling newsletter about all things Node.js — from tutorials and screencasts to news and releases. While we include _some_ Node related items here in _JavaScript Weekly_, we save most of it for there.

**[→ Check out Node Weekly here.](https://nodeweekly.com/)**        

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
