September 1st, 2023 × #JavaScript#npm#ESM#packaging
Supper Club × Shipping ESM with Mark Erikson
Mark Erikson explains the complexity of shipping JavaScript packages that work across many environments,tools and module systems, with details on his work updating Redux libraries to add ESM support.
In this supper club episode of Syntax, Wes and Scott talk with Mark Erikson about his work in helping others understand shipping ESM, how to deal with permutations, whether default imports are helpful, whether TypeScript has made it easier, and what Mark's tool stack is for building.
Show Notes
- 00:36 Welcome!
- 01:45 Introducing Shipping ESM with Mark Erikson
- Mark Erikson (@acemarke)
- Wes Bos on Twitter: "publishing packages that work in esm and cjs is such a nightmare. I've run into so many issues today and took forever to get the proper package.json exports. I can't wait until we're 100% esm. I think I have every single combo covered."
- Mark's Dev Blog
- Blogged Answers: My Experience Modernizing Packages to ESM
- Greatest Hits: The Most Popular and Most Useful Posts I've Written
- arethetypeswrong.github.io: Tool for analyzing TypeScript types of npm packages
- publint
- 07:01 How did we get to this space in modules?
- 16:30 How do you deal with permutations?
- 22:13 Do bundlers get in the way or helping?
- 26:16 Are default imports useful?
- 30:35 Are the types wrong errors
- 33:41 Has TypeScript made this easier?
- 37:56 What's your tool stack for building?
- 39:32 How do you test?
- 41:35 Will we ever stop bundling?
- 48:03 What about source maps?
- 52:32 Supper Club Questions
- What is Windows Subsystem for Linux
- Eagle Oceanic Next
- DroidSansMono NF Font
- 55:18 React Types has more downloads than React?
- 59:42 SIIIIICK ××× PIIIICKS ×××
××× SIIIIICK ××× PIIIICKS ×××
Shameless Plugs
Tweet us your tasty treats
- Scott's Instagram
- LevelUpTutorials Instagram
- Wes' Instagram
- Wes' Twitter
- Wes' Facebook
- Scott's Twitter
- Make sure to include @SyntaxFM in your tweets
- Wes Bos on Bluesky
- Scott on Bluesky
- Syntax on Bluesky