DejaVue

e18e: Ecosystem Performance (with James Garbutt)


Listen Later

In this episode of DejaVue, Alex sits down with James Garbutt, open source maintainer and lead of the e18e initiative. James shares his journey from writing web scrapers as a teenager to maintaining critical JavaScript libraries like parse5 or Chokidar and eventually co-creating the ecosystem performance initiative.


The conversation is then all around e18e, which aims to improve performance across the JavaScript ecosystem through three pillars:

  • Cleaning up dependency trees
  • Speeding up popular packages
  • Creating lighter alternatives to bloated libraries


James explains how the community-driven approach has produced impressive results all across the web development landscape.


Learn about real-world examples of performance improvements, including replacement packages like tinyglobby and nano-staged, and discover how to contribute to e18e even if you're new to open source. James shares also insights on balancing between backward compatibility and performance, bundling dependencies, and also shares future plans for e18e in 2025.


Enjoy the episode!


Our Guest

James "43081j" Garbutt

  • e18e
  • Website
  • Bluesky

Chapters

  • (00:00) - Welcome to DejaVue
  • (00:34) - Which libraries do you maintain?
  • (02:10) - How did you get into programming?
  • (04:57) - What lead you to Vue.js
  • (06:40) - Not ending up in a framework bubble
  • (09:41) - Meta frameworks converging
  • (11:28) - What is e18e?
  • (15:40) - The purpose of e18e
  • (18:27) - How to participate?
  • (20:38) - Are there prerequisites?
  • (23:59) - Ripple effects from e18e improving the ecosystem
  • (26:36) - Helping other projects migrate
  • (30:27) - Considering backwards compatibility
  • (35:50) - Example for replacement packages
  • (37:56) - tinyglobby
  • (40:40) - Edge cases and modular architecture
  • (43:49) - Performance pattern and anti pattern
  • (45:32) - Bundling dependencies
  • (50:48) - What is planned for e18e in 2025?
  • (56:39) - How do you lead and structure the e18e initiative?
  • (01:01:42) - Anything else we didn't cover?
  • (01:02:21) - Wrapping up

  • Links and Resources


    • Parse5
    • Doom in TypeScript
    • Flappy Bird in TS
    • LitElement
    • Speeding up the ecosystem blog post series by Marvin Hagemeister
    • e18e issue overview
    • e18e Discord
    • minizlib install size improvements
    • Storybook dependency tree reduction
    • e18e module replacement repository
    • Anthony Fu's node_modules inspector
    • Publint by Bjorn Lu
    • Umbrella CLI
    • nano-staged (instead of lint-staged)
    • npm-run-all2
    • eslint-import-plugin-x (instead of eslint-plugin-import)
    • tinyglobby (instead of any other glob lib like globby/fast-glob)
    • fdir
    • Vite Devtools announcement
    • Bundling dependencies (and when not to do it)
    • A lighter Nuxt CLI


    Your Hosts

    Alexander Lichter

    • Bluesky
    • YouTube
    • Website


    ---

    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    ...more
    View all episodesView all episodes
    Download on the App Store

    DejaVueBy Alexander Lichter & Michael Thiessen


    More shows like DejaVue

    View all
    Hanselminutes with Scott Hanselman by Scott Hanselman

    Hanselminutes with Scott Hanselman

    377 Listeners

    .NET Rocks! by Carl Franklin and Richard Campbell

    .NET Rocks!

    244 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    284 Listeners

    Startups For the Rest of Us by Rob Walling

    Startups For the Rest of Us

    696 Listeners

    The Vergecast by The Verge

    The Vergecast

    3,672 Listeners

    Accidental Tech Podcast by Marco Arment, Casey Liss, John Siracusa

    Accidental Tech Podcast

    2,092 Listeners

    Thoughtworks Technology Podcast by Thoughtworks

    Thoughtworks Technology Podcast

    40 Listeners

    Talk Python To Me by Michael Kennedy

    Talk Python To Me

    590 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    621 Listeners

    Soft Skills Engineering by Jamison Dance and Dave Smith

    Soft Skills Engineering

    269 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    987 Listeners

    Darknet Diaries by Jack Rhysider

    Darknet Diaries

    7,879 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    62 Listeners

    The Real Python Podcast by Real Python

    The Real Python Podcast

    139 Listeners

    Chatabix by Keep It Light Media / Big Oval Plate

    Chatabix

    200 Listeners