🪜 Decorating with Dr. Axel

#​611 — October 21, 2022

Read on the Web

Together with 

JavaScript Weekly

Metaprogramming with the 2022-03 Decorators API — If you’re a Python developer, you’ll be miles ahead on this idea. If not, decorators provide a way to manipulate classes, fields, methods, and accessors at define time to give them extra, amended, or wrapped functionality or behavior. The proposal is at stage 3 at TC39, is supported by Babel, and will soon be supported by TypeScript, so why not get up to speed with Dr. R.

Dr. Axel Rauschmayer

Node.js 19 (Current) Released — We did a big feature in yesterday’s Node Weekly, but in short, this is the new, edgiest ‘Current’ non-LTS Node.js release which gains a Nodemon-esque --watch mode, HTTP KeepAlive on by default, stable WebCrypto API, and a bump to V8 10.7. Node 18 goes Active LTS next week.

The Node.js Project

Your Source for Candid Chats on Product, Business & Leadership — If you’re looking for insights on how to get to a successful product launch, why being vulnerable can help make you a better leader, or how to ship software with realistic deadlines, the Postlight Podcast is for you.

The Postlight Podcast sponsor

A Real World React to htmx Migration Storyhtmx is a library that ‘turbo charges’ HTML by letting you use numerous JS and Web API features via custom HTML attributes. Here a Python-based team shows how it worked better for them than a more common React approach.

David Guillot

p5.js 1.5: Creative JS Coding, Now with Animated GIF Exporting — p5 is hard to define – it’s like Processing but for JavaScript, and it lets you create creative, visual experiences in the browser. Examples? Why, of course. v1.5 is a significant release as you can now easily save GIFs of your creations which leads to fantastic tweets like this. Basically if you want to generate cool animated GIFs using JavaScript, this should be your first port of call.

Qianqian Ye and Contributors

IN BRIEF:

📅  Live Event: Visual Workflow Automation, Now with Code — No more one-off scripts, CRON jobs, or ETL tasks. Reclaim your time and build automation like a developer.

Retool sponsor

RELEASES:

📒 Articles & Tutorials

Creating a World-Class Code Playground with Sandpack — CodeSandbox’s Sandpack is a toolkit for creating ‘live code editor’ components. Josh Comeau shows off how to use it to good effect to boost your blog posts, courses, and the like.

Josh W Comeau

Secure JavaScript URL Validation — Though conforming to a standard structure, URLs come in all shapes and sizes and you may not want your app to accept URLs that are malformed or otherwise problematic. This post covers some of the considerations involved.

Mannan Tirmizi (Snyk)

‘What if the Team Hates My Functional Code?’ — I think most folks who’ve been bitten by the functional programming bug have eventually run into problems when convincing other developers it’s the way to go. James provides some soothing perspective.

James Sinclair

Why Does JSON.parse ‘Corrupt’ Large Numbers? — Jump into your JavaScript console of choice and try JSON.parse('{"count": 9123372036854000123}') .. you might not get the result you expect, and Jos set out to figure out why and how to resolve it – ‘quite a juicy topic’, he promises.

Jos de Jong

Tutorial: Add SSO & Access Control to Your Node.js App

Userfront sponsor

▶  Effortless End-to-End Type-Safety with Phero — A ten-minute demonstration of a library providing a type-safe TypeScript-based way to communicate between frontend and backend. GitHub repo.

Jasper Haggenburg

Modern CSS in Angular: Layouts
Emma Twersky

How to Use Google Sheets as a Database from React with Serverless
Paul Scanlon

Building a Chat App with Socket.io and React Native
Nevo David

How to Use storage in Web Extensions
David Walsh

🛠 Code & Tools

route-list: CLI Tool to Display Express/Koa/Hapi/Fastify Routes — If you’ve got a Node-based webapp and you want to see all of its endpoints in an elegant way, here’s an option.

Vladimir Mikulic

TypeRunner: A High-Performance TypeScript Compiler — The TypeScript project already has its own compiler (tsc – written in TypeScript itself) but this is an independent C++ (no, not Rust for once!) attempt at making type checking even faster. If you’re asking “why”: they have an answer for that.

Marc J. Schmidt

Strong CAPTCHA: A Secure and Scalable Way to Fight Fraud — Learn how to combat CAPTCHA fraud without sacrificing user experience.

Stytch sponsor

Angular Starter: Angular 14 plus Storybook, Transloco, Jest, and More — Everything but the kitchen sink?

Wilfried Lucha

💻 Jobs

Senior JavaScript/TypeScript Developer (Remote or Warsaw) — CKEditor is migrating to TypeScript, will you migrate your talent to the CKEditor team? 🧳 Join us and realize your true potential.
CKEditor

Doppler – A SecretOps Platform Built by Developers for Developers — Doppler’s looking for Sr. Full-Stack Engineers to help shape the future of security devtools. TypeScript, React, Express, and Go, apply here.
Doppler

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

Related Post

Now npm fans can walk the Deno-saurNow npm fans can walk the Deno-saur

<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:

David’s handy JS debugging tipDavid’s handy JS debugging tip

<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:

Node 19 releasedNode 19 released

<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: