News for the week of January 19, 2025: Rolldown reaches 1.0 release candidate, and a PDF library we all deserve. From the community: a better npm admin experience, supertype safety, and modern package.json targets.
Stand With Minnesota
We are native Minnesotans. The ICE occupation is affecting our community in so many ways and has disrupted daily life for thousands of us. Families are sheltering in place, fearing to go to work, let their kids walk to school, take the bus, or even attend school at all. Adults and children are being abducted from their workplaces, schools, cars, and homes with aggressive tactics and without due process. There have been dozens of well-documented violations of our civil liberties and rights as US citizens, including the illegal detainment of peaceful protestors, constitutional observers, and people of color. ICE has shot and killed two US citizens already in the span of 3 weeks: Renee Good, a mother of three, and Alex Pretti, a VA nurse. They are out of control, they are causing irreparable harm, and we want them out of our cities.
Go to StandWithMinnesota.com to learn how you can help.
Chapters
(00:00) - Welcome to the Show
(06:36) - News: TypeScript PR to Support Import Attributes in d.ts Files
(09:00) - News: Deno 2.6.6 Brings Some QOL Improvements
(10:15) - News: Rolldown 1.0 RC is Here
(14:13) - News: TC39 ECMAScript Proposal Updates
(19:04) - News: Firefox 147 Adds WebGPU on Apple Sillicon and Brotli Compression
(21:04) - News: Nuxt 4.3 Supports Inlining Critical CSS for Webpack and Rspack
(22:33) - PSA: Svelte Ecosystem Vulnerabilities
(24:26) - Library Watch: LibPDF, the PDF Library TypeScript Developers Deserve
(26:17) - Library Watch: ts2rs, Transforms TS Types to Rust Types
(27:38) - Library Watch: Mastra, TS Agent Toolkit, Reaches 1.0
(28:23) - PSA: Lodash Gets a Security Update and Governance from OpenJSF
(29:20) - Community Highlight: Daniel Roe Wants to Hear Your npm Frustrations
(29:57) - Community Highlight: Don't Assign a Map to WeakMap
(30:59) - Community Highlight: Super Monkey Ball on the Web
(31:38) - Community Highlight: Package.json for Modern Targets
(33:18) - Community Highlight: How Next.js Built Turbopack
(33:39) - Bleet of the Week
(34:21) - Cool Link: Crudy, a Postman Alternative
(35:05) - Cool Video: SystemOfLevers on How to Make a Gameboy Game
(35:24) - Cool Video: How to Make a Homebrew GPU
(35:57) - Cool Video: Transforms 101 by Scott
(36:17) - Cool Link: StandWithMinnesota.com
(37:29) - The Minnesota Long Goodbye
News
TypeScript PR to add support for import attributes in ambient module declarations. Motivating example (from Vite team)
Deno 2.6.6
Rolldown 1.0 RC
TC39 News via Rob Palmer
Firefox 147 release notes for developers
Nuxt 4.3
CVEs affecting the Svelte ecosystem
LibPDF, the PDF library TypeScript developers deserve
ts2rs for converting TS types to Rust types
Announcing Mastra 1.0!
PSA: Lodash Rolls Out Major Security Overhaul
From the Community
Daniel Roe calls out for npm frustrations, creating npmx.dev
Tip: Supertype safety? WeakMap is a supertype of Map
Super MonkeyBall in a browser
Discussion: Types, Package.json, and Modules
Next.js: Inside Turbopack: Building Faster by Building Less
Cool Links
Crudy is an alternative to Postman
Gameboy Games by @systemoflevers
A Homebrew GPU for a Homebrew CPU
Transforms 101 by Scott
Music
Seahorse Dreams by Kubbi (Spotify)