Extractors for ECMAScript

#​607 — September 23, 2022

Unsubscribe  |  Read on the Web

JavaScript Weekly

Tesseract.js 3.0: Pure JS OCR for Over 100 Languages — A port of the C++-based Tesseract library commonly used for visual text recognition. It can even work upon videos in real time. v3 boasts a big performance boost with 84% lower running time and now uses SIMD where supported. GitHub repo.

Tesseract Team

A Proposed JS Feature: Extractor Objects — Entering stage one at the latest TC39 meeting is a proposal for being able to define your own logic (such as data validation or transformation) to run as part of the object destructuring process. A proposal worth reviewing.

Ecma TC39 / Ron Buckton

Hello World. Caching. Globally. Simplified. — PolyScale connects to your current database and executes your queries at the edge, for low global latency. Plug-and-play with Postgres, MySQL, MariaDB, MS SQL. PS: we also invalidate automatically 😉

PolyScale.ai sponsor

‘React I Love You, but You’re Bringing Me Down’ — An opinionated React thought piece – hurrah 😆 The author gets creative by looking at React’s progress in a ‘mix tape’ style with code and memes sprinkled in for good measure. (Hacker News went deep on this item and spawned some interesting sub-threads.)

François Zaninotto opinion

IN BRIEF:

RELEASES:

Glide 3.6 – Dependency-free slider and carousel control.
React Calendar 3.9 – Powerful calendar component.
Qwik 0.9 – The low-JS HTML-first framework.
Electron 20.2

📒 Articles & Tutorials

Type-Level TypeScript: The Basics — A beautifully presented guide to types, complete with challenges to solve. While 11 ‘chapters’ are promised to take you ‘from intermediate to advanced’, only the first two are currently available. They cover the fundamentals of what types of types TypeScript makes available to us.

Gabriel Vergnaud

📗  Shell Scripting with Node.js — Axel has spent months digging into the realities of using Node as a scripting language – here’s the end result. You can support him by buying it and/or read the whole book online.

Dr. Axel Rauschmayer

Send Email, Push and SMS with Smart Routing, with Just 8 Lines of Code — Are you stuck using marketing tools like salesforce to contact your users? Send notifications from right within your application using the Courier API.

Courier sponsor

▶  How to Build a Scrollable Text Gallery in Three.js — An attempt at reproducing the striking scrolling text effect on display at Design Embraced. This is typography and ‘web design’ turned up to 11..

Yuri Artiukh

Rest vs Spread Syntax: ... vs ... — Quick: what’s the difference between ... and ...? Trick question. While they look the same, two different things can be represented by them.

Amit Merchant

What’s New in Gatsby in 2022? — What Gatsby – the React-based ‘reactive site generator’ – can do today, along with how to use some of the new features to ease the upgrade from v2 to v4.

Paul Scanlon

Real World Node.js Native Binary Compilation with pkg
Daniel Bradley

🛠 Code & Tools

Linkify 4.0: Link Up URLs, Email Addresses, and More in Plain Text — Given some plain text containing things like links and emails, Linkify will generate the correct code to display it on the Web. Not just URLs or emails, but hashtags, @mentions, IP addresses, and more. GitHub repo.

Hypercontext

TinyBase 2.0: A Library for Structuring App State — For when you want a bit more database-esque structure around the management of state in your apps. The demos are well explained so check those out. GitHub repo.

James Pearce

Integrate eSignatures in Your App in Less Than a Week — Enable document signing from anywhere with HelloSign’s eSignature functionality. Test the API for free.

HelloSign, a Dropbox Company sponsor

DOCX 7.5: Generate Word .docx Files from Node or Browser — The code to lay out your documents is quite verbose, but there’s a lot of functionality baked in. Here’s a basic CodePen-based example.GitHub repo.

Dolan Miu

pcl.js: Point Cloud Library (PCL) for Browser, Powered by WebAssembly — A ‘point cloud’ is essentially lots of points projected in 3D space (live example.) This is a good example of bringing a large C++ library into the JavaScript world by way of WebAssembly.

Darkce

Japa: An Alternative Testing Framework for Node — Coming from the same team as AdonisJS (a Node.js web framework), Japa slides into your existing workflows with no build tool requirements. You get first-class support for OpenAPI schema driven testing of endpoints, dataset driven tests, and a VS Code extension.

AdonisJS Team

Command Palette for Vue: A Ctrl/Cmd+K Style Interface for Vue.js — Inspired by React’s cmdk and kbar. BTW, if you’ve never tried pressing Cmd+K (Ctrl+K on non Macs) while surfing GitHub.. give it a go. GitHub repo.

Yunwei Xiao

Seamlessly Add Chat and Activity Feeds to Your Applications

Stream sponsor

Precessing (p8g): A General Purpose, Cross Language 2D Library — It’s not often you see a graphics library that’s for C, C++, Java and JavaScript – yes, WebAssembly is responsible again. You get a Canvas-esque API (docs) plus input processing.

Bernhard Fritz

⚡️ OTHER QUICK RELEASES:

  • ws 8.9
    ↳ Simple & fast WebSocket client and server for Node.js.

  • Semgrep 0.114
    ↳ Multi-language static analysis tool. Think grep for syntax.

  • Flat 6.0 – Flatten/unflatten nested objects.

  • React Joyride 2.5.3 – Create guided tours for apps.

  • Mantine 5.4 – Extensive React component library.

💻 Jobs

Senior UI Dev — Join us and innovate with MicroFrontends, custom Node tools, build systems (Webpack/GitHub Actions), TypeScript, React, and more with a11y and DX in mind.
Vertex Inc

Find JavaScript Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It’s free for job-seekers.
Hired

🚗 Fancy a late night drive?

In Nightdrive, James Stanley gives us both a visual experience of driving at night and an explanation of how it works. It’s a simple idea put to good effect, though if you want something more intense, try Rezmason’s Drivy.. 😁

While we’re having some fun down here: over on Twitter, Nils Eriksson decided to get crafty and 🐦 implemented Tic-Tac-Toe in TypeScript types (known as ‘noughts and crosses’ in my kingdom) and wrote an extensive blog post about it. XOX.

Till next week!
– Peter Cooper, your editor.

Related Post

Node 18 goes LTSNode 18 goes LTS

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height:

Popular Node.js practices to reconsiderPopular Node.js practices to reconsider

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height:

Getting Rusty with Node, but in a good wayGetting Rusty with Node, but in a good way

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: