Subscribe
Copied to clipboard
Share
Share
Copied to clipboard
Embed
Copied to clipboard
TypeScript.fm - The Friendly Show for TypeScript Developers
Trailer
Bonus
Episode 7
Season 1
ORMed and Dangerous | Ep 7
This week Kamran and Erik discuss when ORMs are helpful... or hurtful. They cover trade-offs, the spectrum of abstraction, the value of escape hatches, and the options available to you in the TypeScript ecosystem.
Week of February 17, 2025
Week of February 17, 2025
- (05:54) - News: Ember 6.2 Released
- (07:16) - News: Deno 2.2 Released
- npm-check-updates package
- Package JSON Upgrade VS Code extension
- https://github.com/vuki656/package-info.nvim for Neovim
Community Highlights
- (16:48) - Community Highlights: UseTypeScript for Your Stored Procedures?!
- (17:20) - Community Highlights: Node API Compatibility Across Runtimes
- (17:58) - Community Highlight: Why Type Catalogs Can Be Better Than Unions
- (19:05) - Community Highlight: tapi.js Automatically Maps JSON to Strongly-Typed Classes
- (20:33) - Community Highlight: Standard Schema Hopes to Align TS Validator Libraries
- (21:34) - Community Highlight: 2ality: Read-only accessibility in TypeScript
Deep Dive: TypeScript ORMs
- (22:56) - Deep Dive: TypeScript ORMs
- (24:21) - Deep Dive: Code-first or Database-first?
- (25:42) - Deep Dive: What Pain Do ORMs Solve?
- (27:21) - Deep Dive: When Should You Use an ORM?
- Martin Fowler's ORM Hate article
- Primeagen's Don't Use an ORM reaction video
- (30:02) - Deep Dive: To Use An ORM Or Not to Use an ORM?
- (31:47) - Deep Dive: SQL Builders vs. Abstracted ORMs
- (32:28) - Deep Dive: Do You Have An Escape Hatch?
- (33:36) - Deep Dive: Are ORMs A Symptom of Poor Data Architecture?
- (37:01) - Deep Dive: TypeScript ORM Landscape
- (37:26) - Deep Dive: Drizzle ORM
- Fireship's Drizzle in 100 seconds
- Works with Deno, Bun, Node.js
- (42:06) - Deep Dive: Prisma ORM
- Works with Deno (unofficially) and Node.js
- Prisma is being rewritten in TypeScript
- (46:42) - Deep Dive: MikroORM
- (49:10) - Tangent: Kamran and Erik Exchange War Stories
- (50:48) - Deep Dive: MikroORM Continued
- (51:44) - Deep Dive: TypeORM
- (53:06) - Deep Dive: ConvexDB
- (55:00) - Deep Dive: sequelize
- (55:48) - Deep Dive: Other Alternatives
- (56:33) - Deep Dive: Takeaways / tl;dl
Secrets of the Handbook
- (57:47) - Branded / Nominal Types
- TypeScript Playground Example – Nominal Typing
- 400-comment GH issue on different ways to do nominal typing and trade-offs
- Michael Zalecki blog post on nominal types in TypeScript
- Branded Types from Learning TypeScript by Josh Goldberg
- Created a "sealed" method/class (example from Excalibur)
Links
- (01:04:25) - Cool Stuff: Kodaps Academy on Drizzle Versus Prisma
- (01:05:10) - Cool Stuff: jet Validators
- Reference: https://blog.logrocket.com/best-typescript-orms/
- Reference: https://www.sitepoint.com/javascript-typescript-orms/
- Reference: https://www.timsanteford.com/posts/choosing-the-best-typescript-orm-for-your-project/
Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.
Music
Seahorse Dreams by Kubbi (Spotify)
{{people | title: 'Creators & Guests'}
Chapters
- ORMed and Dangerous | Ep 7
- News: Ember 6.2 Released
- News: Deno 2.2 Released
- Community Highlights: UseTypeScript for Your Stored Procedures?!
- Community Highlights: Node API Compatibility Across Runtimes
- Community Highlight: Why Type Catalogs Can Be Better Than Unions
- Community Highlight: tapi.js Maps JSON to Strongly-Typed Classes
- Community Highlight: Standard Schema Hopes to Align TS Validator Libraries
- Community Highlight: Dr. Axel's Corner
- Deep Dive: TypeScript ORMs
- Deep Dive: Code-first or Database-first?
- Deep Dive: What Pain Do ORMs Solve?
- Deep Dive: When Should You Use an ORM?
- Deep Dive: To Use An ORM Or Not to Use an ORM?
- Deep Dive: SQL Builders vs. Abstracted ORMs
- Deep Dive: Do You Have An Escape Hatch?
- Deep Dive: Are ORMs A Symptom of Poor Data Architecture?
- Deep Dive: TypeScript ORM Landscape
- Deep Dive: Drizzle ORM
- Deep Dive: Prisma ORM
- Deep Dive: MikroORM
- Tangent: Kamran and Erik Exchange War Stories
- Deep Dive: MikroORM Continued
- Deep Dive: TypeORM
- Deep Dive: ConvexDB
- Deep Dive: sequelize
- Deep Dive: Other Alternatives
- Deep Dive: Takeaways / tl;dl
- Secrets of the Handbook: Branded / Nominal Types
- Cool Stuff: Kodaps Academy on Drizzle Versus Prisma
- Cool Stuff: jet Validators