Syntax - Tasty Web Development Treats
Syntax - Tasty Web Development Treats

820: Potluck: 8000 ESLint Errors × HTML Time Tag × 7 Meg React Bundle × CSS Modules

In this Potluck episode of Syntax, Scott and Wes answer your questions, from weighing the trade-offs between numerous small npm packages and a few larger ones to managing the challenges of work-from-home life. They also explore CSS modules, strategies for shrinking JavaScript bundles, and even where

Featured Speakers

Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers Host

Topics Discussed

Episode Summary

Executive Summary: This Syntax potluck episode covered listener questions on balancing video vs audio podcasting, the shift toward batteries-included frameworks, work-from-home parenting with a newborn, CSS Modules and scoped CSS, React bundle bloat, whether the HTML time tag still matters, handling massive ESLint debt, and whether the hosts still do real-world development. The episode ends with tool and TV recommendations.

Main Topics: Video podcast feedback and accessibility for audio listeners: The hosts respond to feedback that episodes with code-heavy visuals can be harder to follow in audio-only mode. They agree the show needs to preserve the audio experience while continuing to experiment with video. Batteries-included frameworks vs small-package ecosystems: They discuss why JavaScript developers increasingly prefer integrated frameworks and official tooling over assembling many small packages, citing maintenance burden, plugin rot, and the appeal of tightly coupled ORM/auth/database choices. Parenting, ADHD, and work-from-home productivity: The hosts advise that productivity with a baby requires intentional time swapping, smaller work chunks, and clear agreements with a partner. They note that things often get harder once the baby becomes mobile. Scoped CSS, CSS Modules, and React styling options: They explain why CSS Modules feel clunky to them, prefer simpler class-based or Svelte-style scoped CSS APIs, and note that React can use CSS Modules, Panda CSS, or native CSS nesting with build tooling. Debugging large JavaScript bundles: They recommend bundle analysis, checking tree-shaking, avoiding unnecessary dependencies, using ESM versions where possible, and lazy-loading. They stress finding the largest offenders before optimizing. Semantic HTML and the time tag: The hosts affirm that the HTML time element is still useful for machine-readable dates/times, SEO, tooltips, and preserving temporal context in content. Managing huge ESLint error backlogs: They reject the idea of papering over thousands of lint errors with disables, suggesting instead fixing in batches, linting only changed files, and gradually reducing technical debt.

Key Arguments: Audio-first listeners should not be penalized by video-first code demos; the show must adapt its presentation so the podcast remains coherent without visuals. The JavaScript ecosystem has matured past the 'small package for everything' phase because maintenance, churn, and incompatible plugin ecosystems make integrated solutions more attractive. Frameworks are strongest when they include opinionated core pieces like ORM, auth, and database integration, because those areas benefit from consistency and tight coupling. With a newborn and ADHD, productivity depends on protected time blocks, explicit partner agreements, and choosing tasks sized to the time available. CSS Modules are functional but feel clunky because they introduce JavaScript into styling; native CSS improvements reduce the need for heavier abstractions. Large bundles usually come from dependency accumulation, poor tree shaking, or oversized assets; bundle visualization is the first step in fixing them. The HTML time tag still matters because it encodes semantic, machine-readable date/time information that plain text cannot convey. Thousands of lint errors should be reduced through direct remediation and selective enforcement rather than hidden behind permanent disables, because disabling erodes signal quality. The hosts still do substantial real-world development through products, shared projects, and long-lived apps, which keeps their advice grounded.

Data Points: Podcast episode format: Potluck Q&A episode - Listener-submitted questions drive the discussion Video podcast adoption: 1-2 months - They have only been showing code on screen for a short period and are still adjusting Day-to-day software work: ~70% of Wes's day - Wes says most of his time is still spent writing software Gatsby plugin ecosystem example: ~30 plugins/adapters - Wes describes his old Gatsby site depending on many plugins Newborn age mentioned: 3 months - The parenting/work-from-home question comes from a parent three months into life with a baby Soundproofing reference: Episode 516 - They mention a prior episode about soundproofing an office CSS nesting browser support: Safari May 2023; Chrome Dec 2023 - They note native CSS nesting is relatively recent across major browsers Bundle size reported: 3 MB app JS + 4 MB vendor bundle - Listener reports a very large React/Webpack bundle JavaScript files in app: 1,400 JS files - The bundle size question includes a very large file count ESLint errors reported: 8,300+ - Listener wants to migrate a company to one ESLint rule set React hook-related errors: 1,000+ - A large subset of ESLint errors are from missing React Hooks linting Daycare/socialization example: Kindergarten and elementary school - Wes cites daycare as helping kids become socially adjusted over time Tool recommendation price: $16 - Wes mentions a two-piece Allen wrench set on Amazon

Pivotal Quotes: "We will adjust here, and that's something that we're getting used to." — Wes Boss: Response to criticism that code-heavy video episodes can be hard for audio-only listeners "It's going to get so much worse." — Scott Tolinsky: Advice to a parent struggling to work from home with a young baby, warning that mobility increases distractions "I would spend a week and I would fix all 8,000 of those and I would not sleep until I did." — Wes Boss: Reaction to a massive ESLint backlog and skepticism toward disabling the errors

Implications: The episode pushes pragmatic engineering: preserve accessibility, prefer integrated tooling, measure bundle/lint debt directly, and use semantic HTML and modern CSS features to reduce complexity.

🔓 Sign Up for Unlimited Episode Search

About Syntax - Tasty Web Development Treats

View all episodes from Syntax - Tasty Web Development Treats