Writing
RSSNotes on front-end work, TypeScript, and the overlap with games and audio: skipLibCheck in tsconfig, ES modules, and ink outlines without a separate pass.

Turn on skipLibCheck
5 min read
skipLibCheck in tsconfig skips type-checking .d.ts files, so tsc spends its time on your code. Turn it on (tsc --init already does) and leave it on in CI.

Use ESM
6 min read
JavaScript has a standard module system, and new code should use it. Here is how Node decides whether a file is ESM or CommonJS, where CommonJS still matters, and why AMD and UMD are history.

Prefer Named Exports
4 min read
Named exports vs default exports: a default import can be called anything, so names drift. A named export keeps one name, and TypeScript renames it.

TypeScript Has Two Decorator Systems
5 min read
Standard decorators take (value, context) and need no tsconfig flag. experimentalDecorators switches you back to the 2015 design. The two are not compatible, so pick one on purpose.