Building a Pitchfork-Style Loading Skeleton

Today, after waiting for an album review to load, I built something small: my own take on the Pitchfork aggregate review loading experience. ...

September 2, 2026 · 3 min · Jake Worth

tsc watch script

Today I learned what tsc --watch is really for. You put it into your package.json as a script. // package.json { "scripts": { "watch": "tsc --watch" } } ...

September 1, 2026 · 1 min · Jake Worth

Favorite TypeScript Learnings from TypeNotes

This Summer I wrote a number of blog posts for my TypeNotes project. Here are a few things I learned about TypeScript that were worth revisiting. ...

August 24, 2026 · 4 min · Jake Worth

Saving TSX's Evaluated Commands to File

We can save all evaluated commands from our TSX REPL session to a file: $ npx tsx > const name: number = "Jake" undefined > .save output.ts Session saved to: output.ts ...

July 29, 2026 · 1 min · Jake Worth

tsx, a REPL for TypeScript

Today I discovered tsx, a REPL that evaluates TypeScript. You can run it with npx: npx tsx And it evaluates TypeScript. > const onClick = (input: number):void => input + 1 undefined > onClick(1) 2 ...

July 24, 2026 · 1 min · Jake Worth

Enumerate on promise resolved

For the golfers out there, we can combine these two lines into one: const items = await getCollection(); return items.sort(); This doesn’t work because sort() is being called on the promise returned by getCollection(): return await getCollection().sort(); // `sort()` runs on the Promise Instead, wrap the await expression in parentheses so sort() is called on the resolved value: return (await getCollection()).sort(); // `sort()` runs on the resolved array Promise documentation - MDN

July 24, 2026 · 1 min · Jake Worth

JSDoc Deprecations in TypeScript

JSDoc has a @deprecated tag that you can use in TypeScript, too. Here’s an example. ...

July 10, 2026 · 1 min · Jake Worth

TypeScript Type-Only Imports and Exports

If you’ve been writing TypeScript for a while, you might have written code like this: // utils.ts export type Color = 'red' | 'blue' | 'green'; // app.tsx import {Color} from './utils'; As of TypeScript 3.8, there’s a better way to import! // app.tsx import type {Color} from './utils'; ...

June 29, 2026 · 1 min · Jake Worth

tsc watch

Watch and re-transpile any TypeScript file with: tsc file.ts --watch ...

December 29, 2025 · 1 min · Jake Worth

Why I'm "All In" on TypeScript

I’ve added TypeScript to several projects I’ve worked on. In this post, I’d like to discuss why I think TypeScript is essential and document my expectations around it. ...

March 26, 2025 · 4 min · Jake Worth