Your one-stop shop for all Changelog podcasts. Weekly shows about software development, developer culture, open source, building startups, artificial intelligence, shipping code to production, and the people involved. Yes, we focus on the people. Everything else is an implementation detail.

Modernizing packages to ESM (JS Party #290)

September 01, 2023 1:05:15 63.09 MB Downloads: 0

Mark Erikson (web dev professor/historian, OSS Maintainer & engineer at Replay) joins us to talk about the shift from CommonJS to ESM. We discuss the history of module patterns in JS and the grueling effort to push the world’s biggest developer ecosystem forward. Get ready to go to school kids, this one’s deep!

Leave us a comment

Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!

Sponsors:

  • Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com
  • Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.
  • Typesense – Lightning fast, globally distributed Search-as-a-Service that runs in memory. You iterlly can’t get any faster!
  • Changelog News – A podcast+newsletter combo that’s brief, entertaining & always on-point. Subscribe today.

Featuring:

Show Notes:

Something missing or broken? PRs welcome!

Timestamps:

(00:00) - It's party time, y'all
(00:56) - Welcoming back Mark
(03:28) - A history lesson
(10:36) - UMDs were hot ...
(11:49) - History continued
(16:59) - Enter TypeScript
(21:28) - Publish as a Service
(22:51) - Common pain points
(31:30) - Sponsor: Changelog News
(32:42) - Recapping the post
(44:22) - Running multiple tests
(51:51) - We need standards
(59:07) - Parting thoughts
(1:03:03) - Closing time
(1:04:06) - Next up on the pod (Changelog++!)