---
title: "Postgres in TypeScript"
publication: "JavaScript Weekly"
issue: 677
published_at: "2024-02-29"
canonical_url: "https://javascriptweekly.com/issues/677"
---

Plus Express gets a new release, recent V8 updates, and Parcel gets Bun-esque macros. |        

#​677 — February 29, 2024 

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

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/javascript-projects/?utm_source=email&utm_medium=javascriptweekly&utm_content=jsprojects)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pya2hpe9eb1b0z8a9yme.jpg)](https://github.com/electric-sql/pglite)  

[PGlite: PostgreSQL in WebAssembly (and TypeScript)](https://github.com/electric-sql/pglite) — People have brought Postgres into the browser before, albeit atop a Linux VM WASM layer. PGlite, however, packages a WASM build of Postgres into a TypeScript library that can be run in the browser or on Node.js or Bun and is only 3.7MB gzipped. You can play with [a live deployment here](https://codapi.org/postgres-pglite/). 

ElectricSQL / Neon   

[JSR: What We Know So Far About Deno’s New JS Package Registry](https://socket.dev/blog/jsr-new-javascript-package-registry) — The Deno team is cooking up [JSR](https://jsr.io/waitlist) (still behind a waitlist), a new JavaScript package _registry_ (not merely a package management tool, like pnpm or Yarn) to address various npm limitations, including for Node users who don't even plan to use Deno. 

Sarah Gooding (Socket)   [![\](https://copm.s3.amazonaws.com/0e294629.png)](https://frontendmasters.com/courses/javascript-projects/?utm_source=email&utm_medium=javascriptweekly&utm_content=jsprojects) 

[Practice Your JavaScript through Vanilla JS Projects](https://frontendmasters.com/courses/javascript-projects/?utm_source=email&utm_medium=javascriptweekly&utm_content=jsprojects) — Join Anjana Vakil for this extensive video course on vanilla JavaScript projects. Tackle real-world tasks and learn how to use asynchronous JS, Browser APIs, the DOM, Node.js, GitHub Actions, and more. 

Frontend Masters sponsor   

[Parcel v2.12.0: Now with Bun-Style Macros](https://parceljs.org/blog/v2-12-0/) — The popular zero-config build tool introduces support for bundle-time macros, such as those [offered in Bun](https://bun.sh/docs/bundler/macros). The value returned by a macro is inlined into the bundle in place of the original call. There’s also [a new online REPL](https://repl.parceljs.org/) where you can play with Parcel in the browser with support for most of Parcel’s features. 

Parcel.js   

**IN BRIEF:** 

- [TypeScript 5.4 RC](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4-rc/) has been released, packing lots of small changes, as well as `Object.groupBy`, `Map.groupBy`, and type narrowing enhancements.
- Christopher Chedeau (aka Vjeux) has [written about his 12 years at Meta](https://blog.vjeux.com/2024/project/12-years-at-meta.html), including being involved in the early days of both React and React Native.
- [A summary of recent updates](https://blog.appsignal.com/2024/02/28/top-8-recent-v8-in-node-updates.html) to the _V8_ JavaScript engine.
- 🇪🇺 Fed up with Apple's nonsense around removing PWA support in the European Union? _Open Web Advocacy_ has [an open letter](https://letter.open-web-advocacy.org/) you can co-sign. 

**RELEASES:** 

- [Express.js 4.18.3](https://github.com/expressjs/express/releases/tag/4.18.3) – The first release in sixteen months. 😁
- [Deno 1.41](https://deno.com/blog/v1.41) – Now with much smaller `deno compile` binary sizes, official Linux ARM64 binaries, and improvements to Node.js compatibility.
- [Playwright 1.42](https://github.com/microsoft/playwright/releases/tag/v1.42.0) – Browser remote control and runner toolkit.
- [Babel 7.24.0](https://babeljs.io/blog/2024/02/28/7.24.0) – Supports importing JSON modules and updates its Decorators implementation.
- [TinyMCE 7.0](https://github.com/tinymce/tinymce) – Rich text editor component – now GPL licensed.     

[Frontend Developer 🔝 (Fully Remote 🌐 Or In Our Office In Stockholm, Sweden 🇸🇪)](https://www.zco.se/hire/frontend-developer) — Do you get excited when you hear Next.js, Supabase, GraphQL? Let’s talk. 
ZCO Stockholm job     

📒 Articles & Tutorials  

[Reporting Core Web Vitals with the Performance API](https://www.smashingmagazine.com/2024/02/reporting-core-web-vitals-performance-api/) — The [Performance API](https://developer.mozilla.org/en-US/docs/Web/API/Performance) provides an interface to ways to measure and evaluate Web performance metrics from JavaScript. Geoff demonstrates how to use its capabilities to do your own performance reporting. 

Geoff Graham   

[A Fun Line of JavaScript Code](https://dbushell.com/2024/02/27/a-fun-line-of-code/) — Namely, using `Promise.race` to search through audio files forwards and backwards at the same time and stop as soon as the relevant metadata is found. 

David Bushell   

[How StackBlitz Built a T-Shirt That Renders Itself](https://blog.stackblitz.com/posts/eval-shirt/?utm_source=js-weekly&utm_medium=secondary) — How we designed a t-shirt using valid JavaScript that is also the source code of the image itself (and how you can get one). 

StackBlitz sponsor   

[Next.js vs. Remix: A Developer's Dilemma](https://blog.saeloun.com/2024/02/21/next.js-vs-remix/) — Compares a variety of areas, from how various techniques are implemented through to deployment, support, and popularity. 

Chetan Gawai   

[Why Does `is-number` Have 70+ Million Weekly Downloads?](https://shubhamjain.co/2024/02/29/why-is-number-package-have-59m-downloads/) — In part, it’s included in a chain of dependencies used by a _very_ popular project. 

Shubham Jain   

[17 Equations That Changed the World - Rewritten in JavaScript](https://runjs.app/blog/equations-that-changed-the-world-rewritten-in-javascript) — This is quite neat if you enjoy a bit of math. 

RunJS   

[How to Create Sidebar Navigation with Astro, Tailwind CSS and Alpine.js](https://lexingtonthemes.com/tutorials/how-to-create-a-sidebar-navigation-with-tailwindcss-and-alpine-js/) 
Michael Andreuzza   

▶[Use AWS Amplify Gen 2 to Create a Full Stack App with Type Safety](https://www.youtube.com/watch?v=_htSwKMdk2Y) 
Erik Hanchett (AWS)   

[A Look into JSDoc as an Alternative TypeScript Syntax](https://alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax) 
Alex Harri  

🛠 Code & Tools 

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

[PrimeVue 3.49.0: Vue UI Component Library](https://primevue.org/) — A mature, rich set of open source UI components for Vue developers we first mentioned a few years ago. This new release includes components to [enter one time passwords](https://primevue.org/inputotp) and [a ‘stepper’](https://primevue.org/stepper) for wizard-style workflows. There’s also a new optional [declarative syntax](https://primevue.org/passthrough/#declarative) for using components that makes their code easier to read and write. 

PrimeTek   

[Authentication & User Management for the Modern Web](https://dub.sh/nNwozKO) — Add authentication & user management easily with Clerk using our [Quickstart guides](https://dub.sh/Ha3lnzN). Purpose-built for React & Next.js. 

Clerk sponsor   

[Waku: A Minimal Server-Side React Framework](https://waku.gg/) — From the maintainer of Jotai, Valtio, and Zustand, Waku is a lighter alternative to something like Next.js but that still opens up the potential of server components, shared components, and elegant routing, in a simpler, easier to apply way. 

Daishi Kato   

[Embla Carousel 8: Carousel with Fluid Motion and 'Swipe Precision'](https://www.embla-carousel.com/) — Carousels are a popular, though often maligned, UI element, but the [examples](https://www.embla-carousel.com/examples/predefined/) work pretty well for us. Library agnostic, but has easy integrations for React, Solid, and Angular, if you need them. The [v8.0 release notes](https://github.com/davidjerleke/embla-carousel/releases/tag/v8.0.0) touch on many new features. 

David Jerleke   

[Readability.js: Extract the Readable Content from an HTML Document](https://github.com/mozilla/readability) — A standalone version of the library used to power Firefox’s [Reader View.](https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages) It's been a few years since we've linked to this, but it continues to be improved. 

Mozilla   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/crbefvm7b5dqnmfslflw.jpg)](https://viz-js.com/)  

[Viz.js: Work with Graphviz in the Browser](https://viz-js.com/) — [Graphviz](https://graphviz.org/) is a suite of open source graph drawing tools of some 30+ years’ vintage. Viz.js is a WebAssembly Graphviz build that brings some of its functionality into the browser, as seen in the homepage's live demo (above). [GitHub repo.](https://github.com/mdaines/viz-js) 

Michael Daines   

🎨 [Vue Color Wheel: A Wheel-Style Color Picker for Vue 3](https://vue-color-wheel.vercel.app/) — Far from a new idea, but elegantly demonstrated on its homepage. [Coloris](https://coloris.js.org/) is a nice, vanilla alternative in this space, if the wheel view isn't a necessity. 

Robert Shaw   

[Neon is Postgres from the Future](https://neon.tech/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=javascriptweekly&utm_content=sponsored) — Scales to zero when idle, autoscales based on load, provisions instantly. Generous free tier - no credit card required. 

Neon Serverless Postgres sponsor   

[WXT: Next-Gen Web Extension Framework](https://wxt.dev/) — A framework for creating cross-browser extensions. You can target Chrome, Firefox, Edge and Safari. [Plasmo](https://github.com/PlasmoHQ/plasmo) is another option in this space. 

WXT   

- [React Strict DOM (RSD)](https://github.com/facebook/react-strict-dom) – An experimental integration of React DOM and StyleX to standardize the development of styled React components, both web and native.
- 🗓 [React Date Picker 6.2](https://github.com/Hacker0x01/react-datepicker) – Simple date picker component. ([Demo](https://reactdatepicker.com/).)
- [webdav-client 5.4](https://github.com/perry-mitchell/webdav-client) – WebDAV client library for Node & browsers.
- [Jotai 2.7](https://github.com/pmndrs/jotai/releases/tag/v2.7.0) – Simple, flexible state management for React.
- 🎹 [JZZ 1.8](https://jazz-soft.net/doc/JZZ/) – MIDI library for Node and browsers.
- [RxDB 15.10](https://github.com/pubkey/rxdb/releases/tag/15.10.0) – Offline-first, reactive database.
- [Bun 1.0.29](https://bun.sh/blog/bun-v1.0.29) – Minor enhancements.         

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
