# 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-06-27
- Event: [Asynconf](<https://app.itsasync.fr/conference>)
- Location: Paris, France
- Topics: bundlers, esm, module-transforms, plugin-development, virtual-modules, vite

## Resources

- [Slides](<https://talks.soubiran.dev/2026-06-27-2/asynconf>)
- [PDF](<https://talks.soubiran.dev/2026-06-27-2/asynconf/pdf>)
- [Source code](<https://talks.soubiran.dev/2026-06-27-2/asynconf/src>)

## Summary

Vite is a request pipeline that transforms modules between a project and the browser. This talk explains its development server, production bundler, and plugin model through CSS, images, JSX, virtual modules, generated routes, virtual data, icons, and build information.

It then builds plugins with `resolveId`, `load`, and `transform`, before showing how lifecycle hooks such as `config`, `configResolved`, `buildStart`, and `buildEnd` extend Vite's behavior. The examples make the path from a source import to generated browser code explicit.
