[DotJs2024] Remixing the Bundler
The demarcation between libraries and frameworks is dissolving, yielding hybrid entities that democratize web app assembly. Mark Dalgleish, co-creator of CSS Modules and core Remix team member from Melbourne, unpacked this metamorphosis at dotJS 2024. Amid jet-lag’s haze—bedtime Down Under—Dalgleish chronicled Remix’s pivot from bundler overlord to Vite plugin, illuminating tradeoffs and consumer boons in an ecosystem where React’s library purity meets framework ambitions.
Dalgleish contextualized via React docs: libraries like React invite framework augmentation for routing, data, builds. React Router, a routing stalwart since React’s infancy (halving installs pair it), contrasts Remix’s full-stack ethos—CLI-driven dev/builds, config files dictating structure, file-based routing. Yet, Remix bootstraps atop Router, exporting its APIs for familiarity: “React Router, the framework.” Bundler ownership defined early Remix: esbuild’s velocity supplanted Rollup, plugins added TypeScript, assets, HMR, polyfills. Dalgleish confessed: stewarding bundlers diverts from core missions, spawning endless edge requests—new loaders, plugins—while craving low-level tweaks.
Vite’s ascent inverted norms: frameworks as plugins, not vice versa. Remix’s migration yielded: dev servers with HMR, preview pipelines, configurable builds—Vite’s gifts. Plugins now encode conventions: Remix’s dictates dev flows, output paths, sans CLI bloat. App code imports Router directly, indirection erased; Remix’s loaders, actions, nested routing infuse the library. React Conf 2024 announced fusion: Remix upstreams into Router, empowering half React’s users with framework superpowers—optional via Vite plugin. Dalgleish reframed: Router remains library-flexible (serverless, static), conventions pluggable.
Implications abound: Vite’s vibrant community accelerates frameworks; simplicity shrinks footprints—delete years of code. Barrier-lowered authorship invites experimentation; consumers port plugins across Vite realms, learning once. Maintainers unburden, focusing essence. Dalgleish hailed Vite’s platform ethos—Evan You’s spark, team’s nurture—propelling Remix’s (now Router’s) trajectory.
Blurring Library-Framework Contours
Dalgleish traced Remix’s esbuild era: speed wins, but ownership’s toll—HMR hacks, polyfill webs—eclipsed. Vite plugins liberate: conventions as hooks, library code unadorned. Router’s merger embeds Remix’s data mutations, streaming, into routing’s heart—framework sans moniker.
Vite’s Empowerment for Builders
Vite furnishes dev/build scaffolds; plugins customize sans reinvention. Dalgleish envisioned: nascent frameworks plugin-first, ecosystems interoperable. Consumers gain portability—plugins transfer, features standardize—while authors prune maintenance, amplifying innovation.