[{"data":1,"prerenderedAt":302},["ShallowReactive",2],{"page:\u002Fdocs\u002F5.x\u002Fintegrations\u002Foverview":3},{"id":4,"title":5,"body":6,"description":284,"extension":285,"frontmatter":286,"heading":5,"meta":293,"navigation":295,"order":289,"path":296,"seo":297,"sitemap":298,"source":299,"stem":300,"__hash__":301},"docs\u002Fdocs\u002F5.x\u002Fintegrations\u002Foverview.md","Integrate Kubb with Studio, CI, and build tools",{"type":7,"value":8,"toc":272},"minimark",[9,18,23,33,37,57,61,85,160,167,181,186,201,247,260,264],[10,11,12,13,17],"p",{},"Run Kubb from Studio, from CI, or during your build. Each integration uses your shared ",[14,15,16],"code",{},"kubb.config.ts",".",[19,20,22],"h2",{"id":21},"studio","Studio",[24,25,26],"card-group",{},[27,28,32],"card",{"title":29,"icon":30,"to":31},"Kubb Studio","i-iconoir-cube","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fstudio","Connect a local project to Studio and review generated files in the browser.",[19,34,36],{"id":35},"ci","CI",[24,38,39,45,51],{},[27,40,44],{"title":41,"icon":42,"to":43},"CI snapshots","i-iconoir-git-merge","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fci","Publish installable Studio snapshots from any CI provider.",[27,46,50],{"title":47,"icon":48,"to":49},"GitHub Actions","i-simple-icons-githubactions","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fgithub-actions","Publish snapshots from GitHub Actions and review generated-file changes.",[27,52,56],{"title":53,"icon":54,"to":55},"GitLab CI","i-simple-icons-gitlab","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fgitlab","Publish snapshots from GitLab CI and review generated-file changes.",[19,58,60],{"id":59},"build-tools","Build tools",[10,62,63,64,67,68,71,72,74,75,78,79,81,82,84],{},"Kubb runs generation during your build through ",[14,65,66],{},"unplugin-kubb",", included with ",[14,69,70],{},"kubb",". Each integration takes your ",[14,73,16],{}," as a single ",[14,76,77],{},"config"," object and generates when the tool builds. Without ",[14,80,77],{},", it loads ",[14,83,16],{}," like the CLI does.",[24,86,87,96,104,112,120,128,136,144,152],{},[27,88,92,93,17],{"title":89,"icon":90,"to":91},"Vite","i-simple-icons-vite","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fvite","Import from ",[14,94,95],{},"kubb\u002Fvite",[27,97,92,101,17],{"title":98,"icon":99,"to":100},"webpack","i-simple-icons-webpack","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fwebpack",[14,102,103],{},"kubb\u002Fwebpack",[27,105,92,109,17],{"title":106,"icon":107,"to":108},"Rollup","i-simple-icons-rollupdotjs","\u002Fdocs\u002F5.x\u002Fintegrations\u002Frollup",[14,110,111],{},"kubb\u002Frollup",[27,113,92,117,17],{"title":114,"icon":115,"to":116},"Rolldown","i-simple-icons-rolldown","\u002Fdocs\u002F5.x\u002Fintegrations\u002Frolldown",[14,118,119],{},"kubb\u002Frolldown",[27,121,92,125,17],{"title":122,"icon":123,"to":124},"Rspack","i-iconoir-journal","\u002Fdocs\u002F5.x\u002Fintegrations\u002Frspack",[14,126,127],{},"kubb\u002Frspack",[27,129,92,133,17],{"title":130,"icon":131,"to":132},"esbuild","i-simple-icons-esbuild","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fesbuild",[14,134,135],{},"kubb\u002Fesbuild",[27,137,92,141,17],{"title":138,"icon":139,"to":140},"Farm","i-iconoir-light-bulb","\u002Fdocs\u002F5.x\u002Fintegrations\u002Ffarm",[14,142,143],{},"kubb\u002Ffarm",[27,145,92,149,17],{"title":146,"icon":147,"to":148},"Nuxt","i-simple-icons-nuxt","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fnuxt",[14,150,151],{},"kubb\u002Fnuxt",[27,153,92,157,17],{"title":154,"icon":155,"to":156},"Astro","i-simple-icons-astro","\u002Fdocs\u002F5.x\u002Fintegrations\u002Fastro",[14,158,159],{},"kubb\u002Fastro",[10,161,162,163,166],{},"Vite, Nuxt, and Astro generate during builds only. Run ",[14,164,165],{},"kubb generate"," before starting their development servers.",[168,169,171,172,175,176,17],"blockquote",{"as":170},"note","Bundler integrations apply fewer defaults than the CLI: no Markdown parser, no reporters, and no ",[14,173,174],{},"output.postGenerate"," commands. See ",[177,178,180],"a",{"href":179},"\u002Fdocs\u002F5.x\u002Freference\u002Fconfiguration#defaults","Defaults",[182,183,185],"h3",{"id":184},"import-a-spec","Import a spec",[10,187,188,189,192,193,196,197,200],{},"Import a ",[14,190,191],{},"*.openapi.yaml"," or ",[14,194,195],{},"*.openapi.yml"," file to get the output of every plugin in your config as one module, without generated files. A config without ",[14,198,199],{},"input"," only serves these imports.",[202,203,207],"pre",{"language":204,"code":205,"class":206},"ts","import { type Pet, petStatusEnum } from '.\u002FpetStore.openapi.yaml'","highlights",[14,208,210],{"class":209},"language-ts",[211,212,215,219,223,226,230,233,237,240,243],"span",{"class":213,"style":214},"line","display: inline",[211,216,218],{"style":217},"color:#d73a49;--hls-dark:#f97583","import ",[211,220,222],{"style":221},"color:#005cc5;--hls-dark:#79b8ff","{ ",[211,224,225],{"style":217},"type ",[211,227,229],{"style":228},"color:#6f42c1;--hls-dark:#b392f0","Pet",[211,231,232],{"style":217},", ",[211,234,236],{"style":235},"color:#24292e;--hls-dark:#e1e4e8","petStatusEnum ",[211,238,239],{"style":221},"} ",[211,241,242],{"style":217},"from ",[211,244,246],{"style":245},"color:#032f62;--hls-dark:#9ecbff","'.\u002FpetStore.openapi.yaml'",[10,248,249,250,253,254,17],{},"Code a plugin writes to a separate file, such as a bundled client runtime, is not included. For types in ",[14,251,252],{},"tsc"," and your editor, add ",[177,255,257],{"href":256},"\u002Fdocs\u002F5.x\u002Fintegrations\u002Fopenapi-import",[14,258,259],{},"openapi-import",[19,261,263],{"id":262},"typescript","TypeScript",[24,265,266],{},[27,267,188,269,271],{"title":259,"icon":268,"to":256},"i-simple-icons-typescript",[14,270,191],{}," spec in TypeScript and type-check the output of your plugins.",{"title":273,"searchDepth":274,"depth":274,"links":275},"",5,[276,278,279,283],{"id":21,"depth":277,"text":22},2,{"id":35,"depth":277,"text":36},{"id":59,"depth":277,"text":60,"children":280},[281],{"id":184,"depth":282,"text":185},3,{"id":262,"depth":277,"text":263},"Connect Kubb to Studio, publish snapshots from CI, or run generation during a Vite, webpack, Rollup, Rolldown, Rspack, esbuild, Farm, Nuxt, or Astro build.","md",{"layout":287,"title":5,"description":284,"outline":288,"order":289,"navigation":290},"doc",[277,282],0,{"title":291,"icon":292},"Overview","i-iconoir-view-grid",{"layout":287,"outline":294},[277,282],{"title":291,"icon":292},"\u002Fdocs\u002F5.x\u002Fintegrations\u002Foverview",{"title":5,"description":284},{"loc":296},"kubb-labs\u002Fkubb\u002Fdocs\u002F5.x\u002Fintegrations\u002Foverview.md","docs\u002F5.x\u002Fintegrations\u002Foverview","nbqlGfp0NSCpi_BHyJPZrIm3Kd7ktJ2YCoSlOfRNWkM",1792931641443]