[{"data":1,"prerenderedAt":308},["ShallowReactive",2],{"page:\u002Fdocs\u002F5.x\u002Fhow-to\u002Fsubmit-to-the-registry":3},{"id":4,"title":5,"body":6,"description":291,"extension":292,"frontmatter":293,"heading":5,"meta":299,"navigation":301,"order":296,"path":302,"seo":303,"sitemap":304,"source":305,"stem":306,"__hash__":307},"docs\u002Fdocs\u002F5.x\u002Fhow-to\u002Fsubmit-to-the-registry.md","Submit to the registry",{"type":7,"value":8,"toc":279},"minimark",[9,24,29,52,57,67,150,154,162,190,211,215,237,240,263,267],[10,11,12,13,18,19,23],"p",{},"Submit an extension to the Kubb registry so it shows up on ",[14,15,17],"a",{"href":16},"\u002Fextensions","kubb.dev\u002Fextensions"," and in Kubb Studio, and users can install it with ",[20,21,22],"code",{},"kubb add",". Each record pins one npm version or one GitHub release commit, and a maintainer reviews every version before users get it.",[25,26,28],"h2",{"id":27},"before-you-submit","Before you submit",[10,30,31,32,38,39,46,47,51],{},"The package ships a ",[14,33,35],{"href":34},"\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fmanifest",[20,36,37],{},"kubb-extension.json"," and a ",[14,40,42,45],{"href":41},"\u002Fdocs\u002F5.x\u002Freference\u002Fkit\u002Fextension-docs",[20,43,44],{},"docs\u002F"," folder"," at its root. ",[14,48,50],{"href":49},"\u002Fdocs\u002F5.x\u002Fhow-to\u002Fpublish-a-plugin","Publish a plugin"," walks through building and publishing one to npm.",[53,54,56],"h3",{"id":55},"publish-from-a-github-release-instead","Publish from a GitHub release instead",[10,58,59,60,62,63,66],{},"A package that npm does not list can install from a GitHub release. ",[20,61,22],{}," then installs ",[20,64,65],{},"github:\u003Cowner>\u002F\u003Crepo>#\u003Ccommit>",", and nothing builds on the user's machine. Validation checks these rules:",[68,69,70,82,98,112,141],"ul",{},[71,72,73,74,77,78,81],"li",{},"The package sits at the repository root. A scoped name uses your GitHub owner, such as ",[20,75,76],{},"@acme\u002F"," for ",[20,79,80],{},"github.com\u002Facme",".",[71,83,84,87,88,91,92,95,96,81],{},[20,85,86],{},"dist\u002F"," is committed, and ",[20,89,90],{},"files"," in ",[20,93,94],{},"package.json"," lists it and ",[20,97,37],{},[71,99,100,103,104,107,108,111],{},[20,101,102],{},"main",", ",[20,105,106],{},"module",", and ",[20,109,110],{},"exports"," point to committed files.",[71,113,114,115,103,118,103,121,103,124,103,127,130,131,134,135,137,138,81],{},"There is no ",[20,116,117],{},"build",[20,119,120],{},"prepack",[20,122,123],{},"prepare",[20,125,126],{},"prepublish",[20,128,129],{},"publish",", or install script, and no ",[20,132,133],{},"workspaces",". Rename ",[20,136,117],{},", for example to ",[20,139,140],{},"compile",[71,142,143,144,146,147,81],{},"The release tag is the ",[20,145,94],{}," version, such as ",[20,148,149],{},"v1.0.0",[25,151,153],{"id":152},"open-a-submission-issue","Open a submission issue",[10,155,156,157,161],{},"Open a ",[14,158,160],{"href":159},"https:\u002F\u002Fgithub.com\u002Fkubb-labs\u002Fregistry\u002Fissues\u002Fnew?template=submit-extension.yml","submission issue"," on kubb-labs\u002Fregistry:",[68,163,164,184],{},[71,165,166,167,171,172,175,176,179,180,183],{},"In ",[168,169,170],"strong",{},"Source",", paste the npm package name, optionally with a version such as ",[20,173,174],{},"kubb-plugin-example@1.0.0",". Without a version, the registry pins npm ",[20,177,178],{},"latest",". For a GitHub release, paste the repository URL, optionally with the tag: ",[20,181,182],{},"https:\u002F\u002Fgithub.com\u002Facme\u002Fkubb-plugin-example\u002Ftree\u002Fv1.0.0",". Without a tag, the registry pins the latest release.",[71,185,166,186,189],{},[168,187,188],{},"Categories",", tick every category that fits. The first tick is the main one.",[10,191,192,193,197,198,201,202,205,206,210],{},"A workflow opens a review pull request with the ",[14,194,196],{"href":195},"\u002Fdocs\u002F5.x\u002Freference\u002Fregistry#records","record"," and comments the link on your issue. Your id is ",[20,199,200],{},"\u003Cowner>\u002F\u003Cslug>",", such as ",[20,203,204],{},"acme\u002Fkubb-plugin-example",". See ",[14,207,209],{"href":208},"\u002Fdocs\u002F5.x\u002Freference\u002Fregistry#registry-ids","Registry ids"," for the rules. Until the review pull request exists, editing the issue starts the submission again.",[25,212,214],{"id":213},"review","Review",[10,216,217,218,224,225,103,227,229,230,232,233,236],{},"A maintainer reviews the pull request against ",[14,219,221],{"href":220},"https:\u002F\u002Fgithub.com\u002Fkubb-labs\u002Fregistry\u002Fblob\u002Fmain\u002FREVIEW.md",[20,222,223],{},"REVIEW.md",". Validation reads ",[20,226,94],{},[20,228,37],{},", and the ",[20,231,44],{}," folder from the npm tarball or the GitHub release, and never installs or runs your extension. When the package ships no ",[20,234,235],{},"docs\u002Foverview.md",", the reviewer writes an overview in the registry.",[10,238,239],{},"After a maintainer merges the pull request, the registry lists it within minutes. Users install it with:",[241,242,247],"pre",{"language":243,"filename":244,"code":245,"class":246},"shell","Terminal","kubb add acme\u002Fkubb-plugin-example","highlights",[20,248,250],{"class":249},"language-shell",[251,252,255,259],"span",{"class":253,"style":254},"line","display: inline",[251,256,258],{"style":257},"color:#6f42c1;--hls-dark:#b392f0","kubb ",[251,260,262],{"style":261},"color:#24292e;--hls-dark:#e1e4e8","add acme\u002Fkubb-plugin-example",[25,264,266],{"id":265},"release-a-new-version","Release a new version",[10,268,269,270,272,273,81],{},"Publishing a new version does not change what ",[20,271,22],{}," installs. Every Monday, a workflow opens a pull request that moves each pin to the latest npm version or GitHub release. After a maintainer reviews and merges it, users get the new version with ",[14,274,276],{"href":275},"\u002Fdocs\u002F5.x\u002Freference\u002Fcommands\u002Fupdate",[20,277,278],{},"kubb update",{"title":280,"searchDepth":281,"depth":281,"links":282},"",5,[283,288,289,290],{"id":27,"depth":284,"text":28,"children":285},2,[286],{"id":55,"depth":287,"text":56},3,{"id":152,"depth":284,"text":153},{"id":213,"depth":284,"text":214},{"id":265,"depth":284,"text":266},"Submit a Kubb plugin, adapter, or parser to the Kubb registry from npm or a GitHub release, get it reviewed, and ship new versions.","md",{"layout":294,"title":5,"description":291,"outline":295,"order":296,"navigation":297},"doc",[284,287],8,{"title":5,"icon":298},"i-iconoir-send-diagonal",{"layout":294,"outline":300},[284,287],{"title":5,"icon":298},"\u002Fdocs\u002F5.x\u002Fhow-to\u002Fsubmit-to-the-registry",{"title":5,"description":291},{"loc":302},"kubb-labs\u002Fkubb\u002Fdocs\u002F5.x\u002Fhow-to\u002Fsubmit-to-the-registry.md","docs\u002F5.x\u002Fhow-to\u002Fsubmit-to-the-registry","XP3NuFBulM_yqxI1XcNzscDY7hBCzxyk4k0GfWLORcQ",1793639039378]