# 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-13
- Event: [Takima](<https://takima.fr/>)
- Location: Paris, France
- Topics: bundlers, esm, module-transforms, plugin-development, virtual-modules, vite

## Resources

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

## Summary

Vite sits between source files and the browser, transforming modules when requests arrive and bundling code for production. This talk explains why imports for CSS, images, JSX, and other file types work even though browsers do not understand those formats directly.

It then develops Vite plugins around module hooks and lifecycle hooks. Through concrete examples, it covers code transformation, external Markdown loading, virtual modules, generated routes, virtual data, icons, build metadata, HMR, middleware, macros, command execution, Laravel Vite, and Nitro.
