Snapshot Testing and Beyond (with The Jared Wilcurt)
In this episode of DejaVue, Alex and Michael are joined by Jared Wilcurt, UI architect and open source contributor, to get knee-deep into the world of testing in Vue.js, especially Snapshot Testing.Jared shares his journey from React frustration to Vue enthusiasm, and explains how he identified gaps in Vue's testing ecosystem that led to the creation of his Vue 3 Snapshot Serializer library.No matter if you are a testing novice, wondering why you should bother with tests at all, or an experienced developer looking to improve your snapshot testing workflow, this episode got something for you - from reducing test noise, improving readability, and gaining confidence in your Vue applications and components.Discover how snapshot testing complements traditional assertion-based tests and why it might be the missing piece in your testing strategy.Enjoy the episode!Our GuestThe Jared WilcurtVue 3 Snapshot SerializerWebsiteBlueskyTwitterChapters(00:00) - Welcome to DejaVue
(00:20) - How did you get into Programming?
(05:20) - Learning Vue
(09:46) - Finding gaps in the ecosystem
(12:40) - What is unit testing?
(21:40) - Testing in the frontend
(25:31) - Snapshot Testing
(29:45) - Snapshot Updating Fatigue
(36:09) - Responsibilities & ROI of a Snapshot Test
(42:46) - Using the Snapshot Serializer
(46:40) - Snapshot vs. Visual Regression Testing
(52:57) - A good tip from Daniel Roe
(53:50) - Further Noise Reduction
(01:01:22) - A tighter integration?
(01:05:11) - Wrapping up
Links and ResourcesRiot JSVue Indy MeetupVue DoxenOld Jest Snapshot SerializerVue Test UtilsTesting Library VuePlaywrightVue 3 Snapshot SerializerDejaVue #E043 - The Year in ReVue (with Daniel Roe)Your HostsMichael ThiessenTwitterYouTubeWebsiteAlexander LichterBlueskyYouTubeWebsite---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.
--------
1:06:40
e18e: Ecosystem Performance (with James Garbutt)
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 treesSpeeding up popular packagesCreating lighter alternatives to bloated librariesJames 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 GuestJames "43081j" Garbutte18eWebsiteBlueskyChapters(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 ResourcesParse5Doom in TypeScriptFlappy Bird in TSLitElementSpeeding up the ecosystem blog post series by Marvin Hagemeistere18e issue overviewe18e Discordminizlib install size improvementsStorybook dependency tree reductione18e module replacement repositoryAnthony Fu's node_modules inspectorPublint by Bjorn LuUmbrella CLInano-staged (instead of lint-staged)npm-run-all2eslint-import-plugin-x (instead of eslint-plugin-import)tinyglobby (instead of any other glob lib like globby/fast-glob)fdirVite Devtools announcementBundling dependencies (and when not to do it)A lighter Nuxt CLIYour HostsAlexander LichterBlueskyYouTubeWebsite---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.
--------
1:02:51
Open Source Sustainability (with Daniel Roe, Chad Whitacre & Rijk van Zanten)
Join hosts Michael Thiessen and Alexander Lichter for a special episode of DejaVue - a fascinating panel discussion on open source sustainability with three open source enthusiasts: Daniel Roe (Nuxt Team Lead),Chad Whitacre (Head of Open Source at Sentry), and Rijk van Zanten (CTO and co-founder of Directus).The panelists dive deep into what sustainability truly means in open source and get deep into the weeds of different licensing models, debating whether open source functions as a gift economy, and discuss the challenges of project governance.The panel also discusses important questions about leadership structures in open source projects, the role of companies in funding development, and practical ways everyone can contribute to making the ecosystem more sustainable - whether financially or through other meaningful contributions.Enjoy the episode!Our GuestsDaniel Roe - Nuxt Team Lead BlueskyWeb Chad Whitacre - Head of Open Source at Sentry BlueskyTwitterWebRijk van Zanten - CTO and co-founder of Directus BlueskyTwitterWebChapters(00:00) - Welcome to DejaVue
(04:06) - What is Open Source Sustainability
(12:51) - Open Source as a gift economy
(19:20) - The Projects and their Licenses
(29:50) - Sentry is not Open Source
(34:53) - Open Source Definition and OSI
(37:09) - Why people adopt open source software?
(39:44) - Open Source Governance
(47:50) - Stewarding an open source team
(52:22) - Open Source Leadership
(55:40) - What can YOU do to help open source?
Links and ResourcesMastering Nuxt*xkcd on standardsJacob Kaplan-Moss: Paying Maintainers is GoodSentryDirectusNuxtBSLFair Source MITAGPLOSIBDFLNuxt GovernanceOpen Source Steward in the CRADaniel Roe: Contributing to NuxtOpen Source PledgeYour HostsAlexander LichterBlueskyYouTubeWebsiteMichael ThiessenTwitterYouTubeWebsite---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.
--------
1:00:24
New Releases: Nuxt 3.16 and Nuxt UI 3
Nuxt 3.16 dropped and it's packed with goodies! In this episode, Alex and Michael break down all the cool stuff in this release that'll make your Nuxt development smoother.They dive into the new command to initialize a Nuxt application, the performance-game-changing lazy hydration support that'll boost your app's performance, and named layer aliases (that you've been waiting for). Plus, huge performance improvements, better error messages with Nitro 2.11 and debugging improvements that'll save you hours of head-scratching.But wait, there's more! The duo also geeks out over Nuxt UI v3, which (surprise!) now works with plain Vue.js too - not just Nuxt. Learn how it leverages Tailwind v4, introduces a sweet CSS variables-based design system, and builds on Reka UI primitives for better accessibility. And somehow, a discount code for Nuxt UI Pro* *cough DEJAVUE cough* gets snuck in there too!Enjoy the episode!Chapters(00:00) - Intro
(00:54) - Nuxt 3.16 Feature Overview
(01:27) - A new way to initialize Nuxt projects
(07:06) - Lazy Hydration in Nuxt
(16:05) - Named Layer Aliases
(17:45) - Lines of Code vs. Complexity
(20:16) - What a new Nitro minor brings to the table
(21:33) - Fine-grained debugging options
(23:25) - Nuxt Devtools v2
(25:47) - Faster module resolution (and faster boot up time)
(27:39) - Using OXC to speed up component parsing
(28:58) - Benchmark performance improvements
(31:43) - Nuxt UI v3
(40:58) - Sneak peek at next weeks episode 👀
(41:17) - Suggest a new slogan!
Links and ResourcesMastering Nuxt is out now!*Nuxt UI* Get 20% OFF Nuxt UI PRO* with discount code DEJAVUENuxt 3.16 blog postVue implementing Lazy HydrationNuxt Lazy Hydration PRLazy Hydration in-depthMore about Nuxt LayersRevamping data fetching in Nuxt PRNitro 2.11YouchHarlan's PR to speed up module resolutionOXC PRRolldown-viteCodSpeedTailwind VariantsYour HostsAlexander LichterBlueskyYouTubeWebsiteMichael ThiessenTwitterYouTubeWebsite---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.
--------
42:15
Visualizing Data in Vue (with Dennis Adriaansen)
In episode 52 of DejaVue (yes, it is a whole year), Dennis Adriaansen joins Michael and Alex to discuss data visualization in Vue.js. Dennis shares insights about building chart components, his experience with different charting libraries, and introduces his own Vue charting library. They explore topics like chart customization, performance considerations, and integrating charts into dashboards.The conversation also gets into broader topics such as open source sustainability, UI libraries, and backend integrations with Nuxt.Enjoy the episode!Our GuestDennis AdriaansenVue Chart LibraryXBSkyChapters(00:00) - Welcome to DejaVue
(00:33) - A year of DejaVue
(01:20) - Another announcement from Michael
(02:52) - How did you get into programming?
(07:07) - Would people choose Vue more if it was more popular?
(11:37) - Podcasts and Hot Takes
(19:03) - Why charts?
(21:05) - How do you get started with building chart components?
(23:39) - What was your use case for charts?
(25:16) - What does Unovis provide?
(29:31) - Why not other Chart Libraries?
(34:34) - Performance of Charts
(38:48) - A tiny Vapor update
(40:40) - Which Charts does your library support?
(44:10) - When do you do Open Source?
(45:05) - Open Source Funding & Contributions
(49:47) - What makes a good Dashboard?
(52:03) - Which backend do you use with Nuxt?
(58:41) - Do you have a preferred UI library?
(01:01:43) - Where can people find you?
Links and ResourcesDejaVue #051 - Vite Inside Out (with Matias "Patak" Capeletto)Mastering Nuxt*DejaVue #E049 - The Fusion of Laravel and Vue (with Aaron Francis)DejaVue #E041 - The Quadruple Migration (with Rijk van Zanten)D3.jsTremor Labschart.jsUnovisDennis' Nuxt error dashboardVapor PlaygroundReading Vue VaporVue Chrts (Dennis' Lib)Open Source PledgeBBF PatternzodvalibotStandard SchemaNuxt UI*Inspira UIReka UIYour HostsAlexander LichterBlueskyYouTubeWebsiteMichael ThiessenTwitterYouTubeWebsite---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.
Welcome to DejaVue, the Vue podcast you didn't know you needed until now! Join Michael Thiessen and Alexander Lichter on a thrilling journey through the world of Vue and Nuxt.
Get ready for weekly episodes packed with insights, updates, and deep dives into everything Vue-related. From component libraries to best practices, and beyond, they've got you covered.