[{"data":1,"prerenderedAt":153},["ShallowReactive",2],{"talk-\u002Ftalks\u002F2026-04-13\u002Ftakima":3,"talks-explore-en-6dbe3ee7-8cf9-4aa1-8385-36842c5a4959":61},{"metadata":4,"summary":40,"transcript":60},{"id":5,"title":6,"artifacts":7,"date":9,"description":10,"event":11,"extension":19,"links":20,"locale":26,"meta":27,"slug":28,"sourceLanguage":29,"stem":30,"talkId":31,"topics":32,"__hash__":39},"talks\u002Ftalks\u002F2026-04-13\u002Ftakima.json","Inside a pipeline: demystifying Vite and its plugins",{"summary":8},"summary.en.md","2026-04-13","Follow a Vite request through resolution, loading, and transformation to understand and build plugins, virtual modules, and custom integrations.",{"name":12,"url":13,"location":14},"Takima","https:\u002F\u002Ftakima.fr\u002F",{"city":15,"country":16,"latitude":17,"longitude":18},"Paris","France",48.80486167446941,2.324595137047259,"json",{"slides":21,"thumbnail":22,"thumbnailDark":23,"source":24,"pdf":25},"https:\u002F\u002Ftalks.soubiran.dev\u002F2026-04-13\u002Ftakima","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-04-13\u002Ftakima\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-04-13\u002Ftakima\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-04-13\u002Ftakima\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-04-13\u002Ftakima\u002Fpdf","en",{},"2026-04-13\u002Ftakima","fr","talks\u002F2026-04-13\u002Ftakima","6dbe3ee7-8cf9-4aa1-8385-36842c5a4959",[33,34,35,36,37,38],"bundlers","esm","module-transforms","plugin-development","virtual-modules","vite","n5OoIIesUoTBCNILZTqUdNB9PhDL65gWsb4F-T2xuGM",{"id":41,"body":42,"extension":56,"meta":57,"rawbody":58,"stem":30,"__hash__":59},"talksSummary\u002Ftalks\u002F2026-04-13\u002Ftakima.md",{"type":43,"value":44,"toc":52},"minimark",[45,49],[46,47,48],"p",{},"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.",[46,50,51],{},"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.",{"title":53,"searchDepth":54,"depth":54,"links":55},"",2,[],"md",{},"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.\n\nIt 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.\n","ZdHMM-BFwQK1bQH0bvwkyQxfoeWWjwZPnoYxnBGwckc",null,[62,92,121],{"id":63,"title":64,"artifacts":65,"date":66,"description":67,"event":68,"extension":19,"links":74,"locale":26,"meta":80,"slug":81,"sourceLanguage":29,"stem":82,"talkId":83,"topics":84,"__hash__":91},"talks\u002Ftalks\u002F2026-06-27-1\u002Fasynconf.json","Reactivity and signals: demystifying frontend magic",{"summary":8},"2026-06-27","Unpack frontend reactivity: change propagation, dependency tracking, signals, computed values, and effects in modern frameworks.",{"name":69,"url":70,"location":71},"Asynconf","https:\u002F\u002Fapp.itsasync.fr\u002Fconference",{"city":15,"country":16,"latitude":72,"longitude":73},48.89269193190247,2.2396244361872975,{"slides":75,"thumbnail":76,"thumbnailDark":77,"source":78,"pdf":79},"https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-1\u002Fasynconf","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-1\u002Fasynconf\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-1\u002Fasynconf\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-1\u002Fasynconf\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-1\u002Fasynconf\u002Fpdf",{},"2026-06-27-1\u002Fasynconf","talks\u002F2026-06-27-1\u002Fasynconf","3a6cc04a-9744-4594-9083-ec545eaaeaaa",[85,86,87,88,89,90],"computed-values","dependency-tracking","effects","frontend-reactivity","signals","vue","aCtN3bWLcdN9qGQL5BvV09bkDgH4B2Nexmx4loZ9np4",{"id":93,"title":64,"artifacts":94,"date":96,"description":67,"event":97,"extension":19,"links":104,"locale":26,"meta":115,"slug":116,"sourceLanguage":29,"stem":117,"talkId":118,"topics":119,"__hash__":120},"talks\u002Ftalks\u002F2025-04-30\u002Fmixit.json",{"summary":8,"transcript":95},"transcript.en.md","2025-04-30",{"name":98,"url":99,"location":100},"MiXiT","https:\u002F\u002Fmixitconf.org\u002F",{"city":101,"country":16,"latitude":102,"longitude":103},"Lyon",45.78405605635917,4.869033628453851,{"slides":105,"thumbnail":106,"thumbnailDark":107,"source":108,"pdf":109,"recording":110,"youtubeEmbed":111,"audio":112,"transcript":113,"article":114},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F3PcrqsBVGgA","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2025-04-30\u002Fmixit","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-30\u002Fmixit\u002Farticle",{},"2025-04-30\u002Fmixit","talks\u002F2025-04-30\u002Fmixit","19af3c1a-3178-4692-9962-80383fcf130c",[85,86,87,88,89,90],"lJRnGPlccRx6tYMEyG8QaT-RRFxA8LlS_3LFVYxNNN0",{"id":122,"title":123,"artifacts":124,"date":125,"description":126,"event":127,"extension":19,"links":134,"locale":26,"meta":141,"slug":142,"sourceLanguage":29,"stem":143,"talkId":144,"topics":145,"__hash__":152},"talks\u002Ftalks\u002F2025-11-07-1\u002Fbdx-io.json","In JavaScript, there's a package for everything... and often for nothing.",{"summary":8},"2025-11-07","Examine the cost of unnecessary JavaScript dependencies and learn how to reduce the footprint of packages, bundles, and the delivery pipeline.",{"name":128,"url":129,"location":130},"BDX I\u002FO","https:\u002F\u002Fbdxio.fr\u002F",{"city":131,"country":16,"latitude":132,"longitude":133},"Bordeaux",44.8882638878896,-0.567226209881065,{"slides":135,"thumbnail":136,"thumbnailDark":137,"source":138,"pdf":139,"article":140},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-07-1\u002Fbdx-io","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-07-1\u002Fbdx-io\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-07-1\u002Fbdx-io\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-07-1\u002Fbdx-io\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-07-1\u002Fbdx-io\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-07-1\u002Fbdx-io\u002Farticle",{},"2025-11-07-1\u002Fbdx-io","talks\u002F2025-11-07-1\u002Fbdx-io","298dcccd-f7d1-45b0-8aa9-65cbb39b45d1",[146,147,148,149,150,151],"bundle-size","dependencies","e18e","javascript","package-management","performance","bFa5naG6vmuvzuNAfPqwnSBje7hiR2gWKv90xOc-bg8",1790086905305]