# Inside a pipeline: demystifying Vite and its plugins

> Follow a Vite request through resolution, loading, and transformation to understand and build plugins, virtual modules, and custom integrations.

- Date: 2026-04-09
- Event: [L'Atelier](<https://latelier.co/>)
- Location: Paris, France
- Topics: bundlers, esm, module-transforms, plugin-development, virtual-modules, vite

## Resources

- [Slides](<https://talks.soubiran.dev/2026-04-09/latelier>)
- [PDF](<https://talks.soubiran.dev/2026-04-09/latelier/pdf>)
- [Source code](<https://talks.soubiran.dev/2026-04-09/latelier/src>)

## Summary

Vite is a development server, a production bundler, and a plugin system built around a request pipeline. This talk follows files such as CSS, images, JSX, Vue components, and Markdown as Vite resolves, loads, and transforms them.

It then builds several plugins using hooks such as `resolveId`, `load`, `transform`, `config`, `configResolved`, `buildStart`, and `buildEnd`. The examples cover automatic imports, virtual modules, generated routes, build information, external Markdown, middleware, HMR, macros, command execution, Laravel integration, and Nitro.
