---
title: "Bringing JavaScript to WebAssembly"
publication: "JavaScript Weekly"
issue: 625
published_at: "2023-02-10"
canonical_url: "https://javascriptweekly.com/issues/625"
---

Plus Scala.js turns 10, a handy bookmarklet converter, TypeScript 'speedrun', and Eleventy 2.0. |        

#​625 — February 10, 2023 

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

It looked quiet at first but wow, what an epic week this turned out to be. There's a lot to chew on here, and we even have a variety of _bonus_ items at the very end of the issue. Enjoy!
__
_Your editor, Peter Cooper_ 

Together with [![AppSignal logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_700,h_120/e_make_transparent/co_white,e_outline:7/lme8p344dw1aodshz9px.png)](https://blog.appsignal.com/2023/01/30/monitoring-your-nestjs-application-with-appsignal.html?utm_source=javascript-weekly-sponsored&utm_medium=email&utm_campaign=2023-01-30)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xliyrmq1npzlbaz3lbqd.jpg)](https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-3/)  

[Speeding Up the JS Ecosystem: It's ESLint's Turn](https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-3/) — Last year we featured [an article](https://marvinh.dev/blog/speeding-up-javascript-ecosystem/) from the same author about how he was finding, and fixing, low-hanging performance fruit in popular JavaScript projects. He’s back, and he’s found a lot of potential for savings in [ESLint](https://github.com/eslint/eslint) this time. 

Marvin Hagemeister   

[The Future (and the Past) of the Web is Server Side Rendering](https://deno.com/blog/the-future-and-past-is-server-side-rendering) — It’s fair to say the Deno folks have some skin in this game, but nonetheless this is a neat brief history of server-side rendering and why they feel it’s the right approach for modern web development. 

Andy Jiang (Deno)   [![\](https://copm.s3.amazonaws.com/e45f47e4.png)](https://blog.appsignal.com/2023/01/30/monitoring-your-nestjs-application-with-appsignal.html?utm_source=javascript-weekly-sponsored&utm_medium=email&utm_campaign=2023-01-30) 

[Monitoring Your NestJS Application with AppSignal](https://blog.appsignal.com/2023/01/30/monitoring-your-nestjs-application-with-appsignal.html?utm_source=javascript-weekly-sponsored&utm_medium=email&utm_campaign=2023-01-30) — With AppSignal, you can monitor your NestJS app with ease and rely on OpenTelemetry to handle third-party instrumentations. AppSignal even provides helper functions to help you build comprehensive custom instrumentation. A box of 🍪 included! 

AppSignal sponsor   

[Ten Web Development Trends in 2023](https://www.robinwieruch.de/web-development-trends/) — Following the [State of JS survey results](https://2022.stateofjs.com/) Robin takes a considered look at new web dev trends that we should be paying attention to this year, and why they matter. 

Robin Wieruch   

[Bringing JavaScript to WebAssembly for Shopify Functions](https://shopify.engineering/javascript-in-webassembly-for-shopify-functions) — As much as this is focused on a specific use case at Shopify, this is a fascinating look at how they’re integrating JavaScript and WebAssembly under tight constraints. They also talk about [Javy](https://github.com/Shopify/javy), a JS to WebAssembly toolchain being built at Shopify that lets you run JS code on a WASM-embedded JS runtime. 

Surma (Shopify)   

[Google Touts Web-Based Machine Learning with TensorFlow.js](https://thenewstack.io/google-touts-web-based-machine-learning-with-tensorflow-js/) 
Richard MacManus (The New Stack)   

**IN BRIEF:** 

- 🎉 Time to celebrate — a recent survey allegedly found that [JavaScript applications 'have fewer flaws' than Java and .NET ones.](https://www.infoq.com/news/2023/02/veracode-software-security/) So there you go.
- Honeypot's highly anticipated [▶️ React.js documentary](https://www.youtube.com/watch?v=8pDqJVdNa44) drops later today – it'll probably be out by the time you read this.
- [Vanilla List](https://vanillalist.top/) is a directory of 'vanilla' JavaScript controls and plugins.
- ▶️ Evan You tells us [what to expect in 2023 from Vue.js](https://www.youtube.com/watch?v=OrT0tHGXyqE).
- The [Scala.js](https://www.scala-js.org/) project is [celebrating its ten year anniversary](https://www.scala-lang.org/blog-detail/2023/02/05/ten-years-of-scala-js.html) – it's now a mature way to build Web projects using Scala, if you prefer.
- 📅 [Vue.js Live](https://vuejslive.com/) is a JavaScript event taking place both in London _and_ online on May 12 & 15. From the same folks as the also forthcoming [JSNation conference](https://jsnation.com/).
- A [history of criticisms levelled at React](https://www.zachleat.com/web/react-criticism/).   

**RELEASES:** 

- [Eleventy / 11ty 2.0](https://www.11ty.dev/blog/eleventy-v2/)
 ↳ Popular Node.js static site generator.
- [pnpm 7.27](https://github.com/pnpm/pnpm/releases/tag/v7.27.0) – The efficient package manager.
- [RxDB 14.0](https://github.com/pubkey/rxdb/blob/master/docs-src/releases/14.0.0.md) – Offline-first, reactive database.  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/bc3vqsc9zekriu6p6xi3.jpg)](https://refactoring.guru/design-patterns/typescript)  

[Design Patterns in TypeScript](https://refactoring.guru/design-patterns/typescript) — OO-inspired patterns aren’t for everyone or every use case, but this is a fantastic catalog of examples, complete with diagrams and explanations, if you need to learn to tell apart factory methods from decorators, facades, or proxies. 

Refactoring Guru   

[Resumable React: How To Use React Inside Qwik](https://www.builder.io/blog/resumable-react-how-to-use-react-inside-qwik) — Building React apps without ever loading React in the user’s browser? _“Sounds too good to be true? Let’s see how this works.”_ 

Yoav Ganbar   

[Did You Know That You're Already a Distributed Systems Developer?](https://temporal.io/blog/already-a-distributed-systems-developer) 

Temporal Technologies sponsor   

[Build a Hacker News Client using Alpine.js](https://salaivv.com/2023/02/07/hacker-news-alpine) — [Alpine.js](https://alpinejs.dev/) is a thin and elegant reactivity library that lets you add dynamic functionality to your site directly in markup. This is a short and sweet practical example of what you can quickly do with it. 

Salai Vedha Viradhan   

▶[TypeScript Speedrun: A Crash Course for Beginners](https://www.youtube.com/watch?v=YmxwicpROps) — If you want to pick up TypeScript and would find a video guide useful, this is for you. Matt has become well known recently for his educational TypeScript tweets and videos, and this is another good one that flies through the basics. _(23 minutes.)_ 

Matt Pocock   

[Using Notion as a Headless CMS with Nuxt](https://dev.to/trentbrew/using-notion-as-a-headless-cms-with-nuxt-3mk) 
Trent Brew   

[The Options API vs Composition API in Vue.js](https://vueschool.io/articles/vuejs-tutorials/options-api-vs-composition-api/) 
Charles Allotey  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pc97i8iybvtlggf7pv8u.jpg)](https://www.gibney.org/bookmarklet_editor)  

[Bookmarklet Editor: Easily Work on JavaScript Bookmarklets](https://www.gibney.org/bookmarklet_editor) — Useful because who can remember the exact syntax for a bookmarklet? 🤔 This also can instantly convert code to and from bookmarklet form and includes some examples in the help section _(click the big ? to get all the details)._ 

Marek Gibney   

[Breakpoints and `console.log` Is the Past, Time Travel Is the Future](https://wallabyjs.com/?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — 15x faster JavaScript debugging than with breakpoints and console.log, now with support for Vitest. 

Wallaby.js sponsor   

[Yup 1.0: Super Simple Object Schema Validation](https://github.com/jquense/yup) — Define a schema, transform a value to match, assert the shape of an existing value, or both. _Very_ extensive docs here. 

Jason Quense   

[Material React Table: A Full-Featured React Table Component](https://www.material-react-table.com/) — Built upon Material UI 5 and TanStack Table 8. The docs include [lots of interactive examples](https://www.material-react-table.com/docs/examples/basic). 

Kevin Van Cott   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/utdexmdkziqyf9tclsvq.jpg)](https://github.com/YousefED/BlockNote)  

[BlockNote: Notion-Style Block-Based Text Editor](https://github.com/YousefED/BlockNote) — Built on top of Prosemirror and Tiptap, this is for you if you like the way the Notion note-taking service’s text editor feels. There’s [a live demo](https://blocknote-main.vercel.app/). 

Yousef   

[TresJS: Build 3D Experiences with Vue.js](https://tresjs.org/) — Create 3D scenes with Vue components and Three.js. Think [React-three-fiber](https://docs.pmnd.rs/react-three-fiber/getting-started/introduction) but Vue flavored. 

Alvaro Sabu   

[depngn: Find Out if Dependencies Support a Given Node.js Version](https://github.com/upgradejs/depngn) — A CLI tool that establishes whether or not the dependencies in your `package.json` will work against a specified version of Node. 

OmbuLabs   

[Open-Source JS Form Libraries to Automate Your Form Workflow](https://surveyjs.io/) — Self-host SurveyJS to configure and modify multiple forms, convert them to fillable PDF files, and analyze collected data in interactive dashboards. 

SurveyJS sponsor   

[Lawnmower: Build VR Scenes with Custom HTML Tags](https://github.com/gmarland/lawnmower) — A web component library that leans on Three.js and aims “_to make building a basic VR website as easy to make as your first HTML site_”. 

Gareth Marland   

[Electron 23.0 Released](https://www.electronjs.org/blog/electron-23-0) — The popular cross platform JavaScript, HTML + CSS desktop app framework gets bumped up to Node 18.12.1, Chromium 110, and V8 11.0. Windows 7/8/8.1 support has also been _dropped_, so we might start to see those versions of Windows lose the support of a lot of Electron based apps soon. 

Electron Core Team   

[Run: Run User-Provided Code in a Web Worker](https://github.com/slashd-analytics/run) 

SLASHD Analytics    

💻 Jobs  

[Software Engineer (Backend)](https://jobs.ashbyhq.com/stickermule/477eed3e-4aae-46e6-a8ab-0646dbfb11cd?utm_source=Cooperpress) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers. 
Sticker Mule   

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

**QUICK RELEASES:** 

- [vue-easytable 2.23](https://github.com/Happy-Coding-Clans/vue-easytable)
 ↳ A data table/grid control for Vue.js. ([Demo.](https://happy-coding-clans.github.io/vue-easytable/#/en/demo))
- [React-Custom-Scroll 5.0](https://github.com/rommguy/react-custom-scroll)
 ↳ Customize the browser scroll bar. ([Demo.](http://rommguy.github.io/react-custom-scroll/example/demo.html))
- [react-jsonschema-form 5.1](https://github.com/rjsf-team/react-jsonschema-form)
 ↳ Component to build Web forms from JSON Schema.
- [AlaSQL.js 3.1](https://github.com/AlaSQL/alasql)
 ↳ JavaScript-based SQL database.
- [jest-puppeteer 7.0](https://github.com/argos-ci/jest-puppeteer)
 ↳ Run tests using Jest & Puppeteer.
- [MDX 2.3](https://github.com/mdx-js/mdx/releases/tag/2.3.0)
 ↳ Markdown for the component era.  

🎁 The Bonus Round  

- ✈️ Watching someone [wrestle with Python and JavaScript to fly (virtual) planes](https://pomax.github.io/are-we-flying/) with Microsoft Flight Simulator tickled me a lot.
- A beautiful [WebGL2-based fluid simulation.](https://loicmagne.github.io/webgl2_fluidsim/) It's even happy on mobile. Pretty!
- [Go-like channels in 10 lines](https://pedrocattori.dev/blog/go-like-channels-in-10-lines-of-javascript) of JavaTypeScript..?
- 🐦 Misko Hevery: _"`useSignal()` is the future of web frameworks and is a better abstraction than `useState()`, which is showing its age."_ ([source](https://twitter.com/mhevery/status/1623995194805977091))
- Mike Pennisi asks: [when is an object property _not_ a property?](https://mikepennisi.com/blog/2023/javascript-when-a-property-is-not-a-property/)
- Do you use Postgres at all? Check out [Postgres Weekly](https://postgresweekly.com/) – one of our sister newsletters. So much is going on in the Postgres space lately and it's a great way to keep up.         

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
