---
title: "Writing an SD card driver in TypeScript"
publication: "Node Weekly"
issue: 424
published_at: "2022-02-10"
canonical_url: "https://nodeweekly.com/issues/424"
---

Plus Node 16.14.0, a Redis-based message bus for Node, and mixing Remix into Electron. |        

#​424 — February 10, 2022 

[Read on the Web](https://nodeweekly.com/issues/424)   

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/drzxrh1axxxjwgeqfils.jpg)](https://github.com/hikerpig/pintora)   

[Pintora: An Extensible Text-to-Diagram Rendering Library](https://github.com/hikerpig/pintora) — A similar idea to the well established [Mermaid.js](https://mermaid-js.github.io/mermaid/#/), but with a different attitude to extensibility as well as no requirement for a headless browser server-side. The [introduction docs](https://pintorajs.vercel.app/docs/intro/) have both visual and code examples. 

Hikerpig   

[MikroORM 5: A TypeScript ORM for Node.js](https://itnext.io/mikro-orm-5-stricter-safer-smarter-b8412e84cca4) — Based upon the popular ‘Data Mapper’ pattern, _MikroORM_ ([homepage](https://mikro-orm.io/)) is a popular and powerful Node.js ORM that supports a variety of SQL _and_ NoSQL databases. v5 is a year in the making and boasts improved type safety, validations, migrations and schema diffing, amongst other things. 

Martin Adámek   

⬆️ [Build an API from Scratch with MikroORM and Express.js](https://blog.logrocket.com/build-api-from-scratch-using-mikroorm-node-js-express-js/) — If you’ve not had a chance to use MikroORM (above) yet, this could provide an easy way in. 
Gbolahan Olagunju   [![\](https://copm.s3.amazonaws.com/069ffcad.png)](https://retool.com/?utm_source=sponsor&utm_medium=newsletter&utm_campaign=nodeweekly) 

[Retool Is the Fast Way to Build Internal Tools](https://retool.com/?utm_source=sponsor&utm_medium=newsletter&utm_campaign=nodeweekly) — Visually design apps that interface with any database or API. Switch to code nearly anywhere to customize how your apps look and work. With Retool, you ship more apps and move your business forward—all in less time. 

Retool sponsor   

**In brief:** 

- Referring to a recent report from WhiteSource, _The New Stack_ ponders whether the npm system, generally, [is a 'hotbed of malware'?](https://thenewstack.io/is-npm-a-hotbed-of-malware/)
- Google Cloud has placed Node 10 support for its client libraries [into maintenance mode only.](https://cloud.google.com/blog/products/application-development/google-cloud-sdk-moves-nodejs-10-to-maintenance-mode) They recommend upgrading to Node 12 (at least).
- If you're testing your Electron apps with [Spectron,](https://github.com/electron-userland/spectron) it's officially deprecated as of this month and [here's the story why.](https://github.com/electron-userland/spectron/issues/1045)   

[An Introduction to Deno: Is It Better than Node?](https://blog.appsignal.com/2022/02/09/an-introduction-to-deno-is-it-better-than-nodejs.html) — We’ve mentioned [Deno](https://deno.land/), which comes from Ryan Dahl, much as Node.js initially did, numerous times, but if you haven’t checked it out yet this post covers the key features, as well as where Deno is ahead or behind of Node. 

Ayooluwa Isaiah   

[Node v16.14.0 (LTS) Released](https://nodejs.org/en/blog/release/v16.14.0/) — No ‘latest’ branch release this week, but a notable one for the 16.x LTS branch which gains (experimental) support for the [import assertions stage 3 proposal.](https://github.com/tc39/proposal-import-assertions) 

Danielle Adams (Node.js Team)    

💻 Jobs  

[Lead Test Engineer (TypeScript / Cypress)](https://spins.fm/jobs/) — Seeking experienced Automation Engineer to lead QA testing of an ecommerce replatforming and middleware integration project. 
Spins Software for Merchants   

[Senior Node Developer (Remote)](https://arc.dev/get-featured?campaign=1&utm_source=newsletter&utm_medium=job-post&utm_campaign=paid2022&utm_term=20220210&utm_content=Node-Weekly) — Get featured directly to tech companies hiring Node developers right now. Land an interview in as little as 24 hrs. 
Arc   

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%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      

[Writing a Printer Driver in JavaScript](https://kubesail.com/blog/2022-02-01-printer-driver-in-javascript) — _“Writing a printer driver in JavaScript sounds ridiculous,”_ starts the author, and while the definition of ‘driver’ is arguable here, this is nonetheless an interesting story. 

Dan Pastusek   

[Moving Pinterest’s iOS Builds to Autoscaled EC2 Mac](https://buildkite.com/blog/moving-pinterest-s-ios-builds-to-autoscaled-ec2-mac?utm_campaign=CPress&utm_source=ppc&utm_medium=cpress&utm_term=iOS-Builds&utm_content=ec2-mac) 

Buildkite sponsor   

▶[Writing a SPI SD-Card Driver in TypeScript](https://www.youtube.com/watch?v=SIIde33EZrA&t=233s) — From a live _Low Level JavaScript_ stream comes an interesting (and very long) session that goes _deep_ into the weeds of working at a low level to read data from SD cards. Even if you don’t need to go down to hardware level with your code, it’s fascinating to watch. 

Low Level JavaScript   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/hfrcdhavnzxwvk042gah.jpg)](https://regexr.com/)   

[RegExr: Learn, Build, and Test Regular Expressions](https://regexr.com/) — A handy browser-based tool for working with regexes, debugging and creating them, as well as accessing a variety of community supplied patterns for common use cases from IP address parsing to password validation. 

gskinner   

[RedisSMQ 6.0: High-Performance Redis Message Queue for Node](https://github.com/weyoss/redis-smq) — I’m a big fan of using the [Redis](https://redis.io/) data structure store as a message bus and so too it goes here. 

Weyoss   

[Doppler - All Your Environment Variables in One Place](https://www.doppler.com/?utm_campaign=newsletter&utm_medium=referral&utm_content=nodeweeklyfeb22&utm_source=newsletter) 

Doppler sponsor   

[remix-electron: An Initial Electron Integration for Remix](https://github.com/itsMapleLeaf/remix-electron) — [Remix](https://remix.run/) might be aimed at building Web sites but can it play a role in an Electron app? Here’s an initial attempt at doing just that. 

Darius   

[zx 5.0: A Tool for Writing Better Shell Scripts](https://github.com/google/zx) — Google isn’t hanging around here, with the fourth major version in a year. Rather than using something like `bash` to throw together a quick script, `zx` provides a variety of niceties to do the same with JavaScript. [v5.0](https://github.com/google/zx/releases/tag/5.0.0) adds built-in YAML support. 

Google    

**Got a new email?** You can [change your address here](https://nodeweekly.com/edit_subscription/*|UID|*). 

--- 

**Bored of us?** [Click here to stop getting Node Weekly](https://nodeweekly.com/leave/*|UID|*). 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. Thanks! 

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://nodeweekly.com/leave/*|UID|*)
