Posted on

Etsy’s journey to TypeScript

#​565 — November 19, 2021

Unsubscribe  |  Read on the Web

JavaScript Weekly

Understanding Why a Build Got 15x Slower with Webpack 5 — Two engineers began to encounter their front-end build process taking minutes rather than seconds and wondered what was up. This is their brief yet technical explanation of how they debugged it and how Webpack got a fix.

Eoin Hennessy (Tines)

Etsy’s Journey to TypeScript — These sorts of stories always seem to be popular as teams weigh up the best way to progress. Etsy had a lot of JavaScript code but felt some of the problems they were encountering could be solved by TypeScript. This post digs into the approach they took and “what it took to educate an Etsy-sized company in a new programming language”.

Salem Hilal

Video API Built to Create Stunning Visual Experiences — Are videos impacting your page’s load time? Now, deliver optimized videos in the right format, quality & size based on the user’s device in real-time. Delivering stunning visual experiences just got simpler, Try ImageKit’s forever-free plan today.

ImageKit.io sponsor

Some Notes on Using ‘esbuild’ — Julia Evans’ walk into the world of JavaScript bundling will be of immediate interest to anyone who’s been doing JavaScript since pre-bundling times, and it digs well into how an experienced developer unfamiliar with esbuild interprets what it really does.

Julia Evans

TypeScript 4.5 Released — Just two weeks after the RC comes the final release. What’s new? The formerly promised ES module support for Node is now merely experimental and in nightly releases only, but you also get the Awaited type, tail recursion elimination on conditional types, and naturally much more.

Daniel Rosenwasser (Microsoft)

React 18 Enters Beta Stage — ..but as the official Twitter account explains in a thread: “Most developers don’t need to think about React 18 yet..” while noting they’re keen for people to try it out and leave feedback on the issue tracker. The final release is due in Q1 2022.

React Working Group

IN BRIEF:

Kent C Dodds has joined the Remix team – Remix is a promising looking framework being unveiled as open source next Monday (you can learn more of what it’s about here).

If you’re into (or interested) in serverless platforms, Cloudflare Workers has had a huge week with a beta of v2 of its popular Wrangler developer tools, its Durable Objects storage system going GA, and a new Services abstraction to easier build composable apps. Oh, and Workers now supports ES modules too.

The main npm registry, now run by GitHub, had a big security flaw where attackers had the theoretical potential to ‘publish new versions of any npm package’ without proper authorization. Ouch.

Ember 4.0 has been released.. maybe: it’s not on their official blog or Twitter yet. More info on their v4 process here.

Netlify has raised $105M to double down on the Jamstack ecosystem and, hopefully, to increase Cassidy Williams’ whimsy budget 😊

RELEASES:

Tagify 4.9 – Elegant input component for tags.
Vuetify 2.6 – Material Component Framework for Vue.
execa 6.0 – A better Node process launcher.
Plottable 3.12.0 – Modular chart components on D3.
Teaful 0.8 – Tiny React state library.
Dann.js 2.4 – Neural network library.
Electron.js 16

💻 Jobs

JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.

X-Team

Mid/Senior Software Engineer at Carbon Five (LA / SF / NYC / CHA) — Join our team of creative full-stack devs to work with exciting clients in tech. Great benefits, growth opps, caring team & more.

Carbon Five

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

📖 Tutorials, Opinions & Stories

How to Build Stunning 3D Scenes with React Three Fiber — If you want to build neat 3D visualizations in the browser using the React concepts you’re already familiar with, here’s how to get started. A great intro.

Varun Vachhar

Powerful Command Line Tools for Modern Web Development — What’s your favorite command-line tool? In this post, Louis shares a collection of relevant command-line apps and utilities that he has personally come across in the past few years.

Louis Lazaris

Migrating from Puppeteer to PlaywrightPuppeteer is a popular Node library to remote control Chrome/Chromium browsers, whereas Playwright is a little broader and newer. This post digs through what you need to consider if you switch between the two.

Checkly

Develop a Faster Way to Work. Build Internal Tools, Remarkably Fast — Custom dashboards, admin panels, CRUD apps—build any internal tool faster in Retool. Get started for free today.

Retool sponsor

Using Web Workers to Boost Third-Party Script Performance — A look at Partytown, a still experimental library that aims to improve third-party script performance using Web Worker technology.

Arek Nawo

How to Debounce and Throttle Callbacks in Vue — How to debounce and throttle watchers and event handlers in Vue components.

Dmitri Pavlutin

Detecting Objects with Serverless, Twilio Video, and TensorFlow.js

Lizzie Siegle (Twilio)

🛠 Code & Tools

Dexie.js 3.2: The IndexedDB Wrapper is Now Reactive — Dexie provides a well thought out wrapper around the IndexedDB API offered by most mainstream browsers and now it integrates even better with reactive UI libraries too. The homepage has had a facelift too and includes framework specific examples.

David Fahlander

Electron 16.0.0 ReleasedElectron, the toolkit for building cross platform desktop apps with JavaScript, is now one of those projects with a fast, regular release cadence, so no huge changes here, but you get Chrome 96, Node 16.9.1 and V8 9.6 support, as well as the WebHID API.

OpenJS Foundation

App Performance Blocked By Your Database? — PolyScale provides a plug-and-play database edge cache. Scale globally in minutes without writing code.

PolyScale.ai sponsor

MicroDiff: Lightweight, No Dependency Object and Array Comparison — Given two objects or arrays, it returns the differences. Boasts high performance and TypeScript support.

AsyncBanana

React Location: A New ‘Enterprise-Grade’ React App Router — An effort which got its start “as a wrapper around the long-winded [React Router] v6 beta release” has spun off as a standalone project of its own.

Tanner Linsley

browser-or-node 2.0: Figure Out Where Your Code is Running — Provides a simple way to tell if your code is currently running in a browser, in Node, in a Web Worker, or in Deno.

Dinesh Pandiyan

Free Activity Feeds & Chat APIs for Qualifying Teams

Stream sponsor

Geodesy Functions Implemented in JavaScript v2.3.0Geodesy is the science of measuring the earth, its shape, distances, etc. If you have a need to work with such concepts, these examples will be useful.

Chris Veness

μPlot 1.6: Fast, Tiny, Canvas-Based Time Series Chart Library

Leon Sorokin

Leave a Reply

Your email address will not be published. Required fields are marked *