Feb 24 2025 67 mins 1
This week Kamran and Erik unpack JSR, the new open alternative to the npm registry from the folks at Deno. They both published packages and discuss what JSR offers npm doesn't, when to use it, and how it works for both consumers and maintainers.
- (00:00) - The Sheer Joy of Publishing to JSR | Ep 6
- (05:40) - News: TypeScript 5.8 RC
- (07:45) - News: JSR Open Governance Board
- (08:59) - News: ESLint Plugin for erasableSyntaxOnly
- (11:03) - News: Windows Terminal 1.22 Released
- (15:31) - News: Create React App is Officially Deprecated
- (17:50) - News: Interop 2025
- (19:59) - News: Prettier 3.5 Released With Better TS Support
- (20:42) - Community Highlight: Wheel of Names TypeScript+React Project Tutorial
- (21:05) - Community Highlight: Repository Pattern and Clean Architecture with TS and Prism
- (21:34) - Community Highlight: Welch Canavan on the Sheer Joy of Publishing to JSR
- (22:01) - Community Highlight: The Good Doctor is On a Roll
- (22:47) - Community Highlight: Tips for Migrating Node.js Projects to Deno
- (24:09) - Community Highlight: Sort Object Properties by Type ESLint Plugin
- (24:30) - Community Highlight: Unloader and Unplugin for TypeScript and oxc
- (25:21) - Community Highlight: dsbuild Bundler for Deno
- (25:54) - Deep Dive: What is a Pirate's Favorite Registry?
- (27:49) - Deep Dive: Differences Between npm and JSR
- (30:38) - Deep Dive: JSR's Security-First Approach
- (32:39) - Deep Dive: Consuming JSR Packages in the Browser
- (35:26) - Deep Dive: Should You Publish to Both npm and JSR?
- (36:31) - Deep Dive: Can You Publish Private Packages?
- (38:16) - Deep Dive: JSR's TypeScript-First Approach
- (42:04) - Deep Dive: Can You Tag Versions?
- (44:51) - Deep Dive: No API Keys for Publishing
- (46:58) - Deep Dive: Yanking or Unpublishing a Package
- (48:16) - Deep Dive: Kamran's Experience Publishing to JSR
- (53:16) - Deep Dive: Erik's Experience Publishing to JSR
- (55:06) - Secrets of the Handbook: Decorators
- (01:00:03) - Cool Stuff: Write Vanilla CSS in TypeScript
- (01:00:32) - Cool Stuff: Signals in Lit
- (01:01:35) - Cool Stuff: Train Your vim Muscle Memory
- (01:01:52) - Cool Stuff: AreTheTypesWrong.com
- (01:02:44) - Cool Stuff: Homura Ham's Hamster Maze Videos
- (01:05:10) - Bonus: JSR ASMR (?!)
Week of February 10, 2025
- TypeScript 5.8 RC Released -- Notably, the checked return expressions was walked back 🥹 But, it includes require(esm) support.
- Deno announced the JSR Open Governance Board
- Warn or emit lint errors if your TypeScript contains erasable syntax with Josh Goldberg's new ESLint plugin
- Windows Terminal 1.22 released with support for Sixels graphics
- Node 20 got require(esm) support backported.
- PSA: Node 18 EOL is April 30, 2025
- React team officially deprecates Create React App
- Browser vendors met to discuss which APIs to implement between them at Interop 2025
- Prettier 3.5 released with better TS support
- Astro 5.3 has better overall performance and Netlify support
Community Highlights
- Tutorial: FreeCodeCamp build a React and TypeScript Wheel of Names project
- Video: Repository pattern and clean architecture with TypeScript / Prism (h/t Alex Rusin)
- Blog post: The Sheer Joy of Publishing to JSR (h/t I. Welsch Canavan)
- Blog post: Deno on npm: specifiers vs transpiled services like esm.sh
- Via The Good Dr. Axel Rauschmayer
- Blog Post: extracting parts of composite types via `infer`
- Blog Post: A guide to tsconfig.json (Updated for TS 5.8)
- Blog Post: TypeDoc: testing code examples in comment docs
- Blog Post: Mapped Types
- Discussion: dayjay migrated all their Node.js projects to Deno. What did they learn?
- Tools: Nir Tamir created a TS ESLint rule for sorting object properties by type
- Tools: Kevin Deng is working on Unloader & Unplugin
- Tools: A new Deno Bundler (dsbundle)
Deep Dive: JSR
- JSR, an open source npm alternative
- JSR's Provenance Attestation for verification
- Zero-config GitHub publishing
- Doesn't yet support private publish (but there's a workaround)
- No support in Artifactory yet
- JSR will warn you of slow types
- Kamran published ts-has-guards for guarding `Map.has` and related APIs
- Erik published Excalibur's ECS core code for fun
- JSR will score your package
- No scope squatting (or selling)!
Secrets of the Handbook
- Decorators
- 2ality's guide on decorators
- TC39 updates presentation
- oxc is working on support for modern and legacy
Links