|
|
|
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[29496],{23604:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var i=s(85893),t=s(11151);const r={},o="Contributing",l={id:"contributing",title:"Contributing",description:"First of all, thank you for your interest in Puppeteer! We'd love to accept your",source:"@site/versioned_docs/version-21.6.1/contributing.md",sourceDirName:".",slug:"/contributing",permalink:"/contributing",draft:!1,unlisted:!1,tags:[],version:"21.6.1",frontMatter:{},sidebar:"docs",previous:{title:"Troubleshooting",permalink:"/troubleshooting"},next:{title:"FAQ",permalink:"/faq"}},c={},a=[{value:"Contributor License Agreement",id:"contributor-license-agreement",level:2},{value:"Getting started",id:"getting-started",level:2},{value:"Building a single package",id:"building-a-single-package",level:2},{value:"Watch mode",id:"watch-mode",level:3},{value:"Removing stale artifacts",id:"removing-stale-artifacts",level:2},{value:"Comprehensive testing",id:"comprehensive-testing",level:2},{value:"Unit tests",id:"unit-tests",level:3},{value:"Code reviews",id:"code-reviews",level:2},{value:"Code Style",id:"code-style",level:2},{value:"Project structure",id:"project-structure",level:2},{value:"API guidelines",id:"api-guidelines",level:2},{value:"Commit messages",id:"commit-messages",level:2},{value:"Writing documentation",id:"writing-documentation",level:2},{value:"Writing TSDoc comments",id:"writing-tsdoc-comments",level:2},{value:"Running the documentation site locally",id:"running-the-documentation-site-locally",level:2},{value:"Adding new dependencies",id:"adding-new-dependencies",level:2},{value:"Testing tips",id:"testing-tips",level:2},{value:"API Coverage",id:"api-coverage",level:2},{value:"Debugging Puppeteer",id:"debugging-puppeteer",level:2},{value:"Debugging Puppeteer tests via VSCode",id:"debugging-puppeteer-tests-via-vscode",level:3},{value:"Rolling new Chrome version",id:"rolling-new-chrome-version",level:2},{value:"Manual instructions",id:"manual-instructions",level:3},{value:"Bisecting upstream changes",id:"bisecting-upstream-changes",level:3},{value:"Releasing to npm",id:"releasing-to-npm",level:2},{value:"In case Release Please fails",id:"in-case-release-please-fails",level:3},{value:"Bug triage guidelines",id:"bug-triage-guidelines",level:2}];function d(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"contributing",children:"Contributing"}),"\n",(0,i.jsx)(n.p,{children:"First of all, thank you for your interest in Puppeteer! We'd love to accept your\npatches and contributions!"}),"\n",(0,i.jsx)(n.h2,{id:"contributor-license-agreement",children:"Contributor License Agreement"}),"\n",(0,i.jsxs)(n.p,{children:["Contributions to this project must be accompanied by a Contributor License\nAgreement. You (or your employer) retain the copyright to your contribution,\nthis simply gives us permission to use and redistribute your contributions as\npart of the project. Head over to <",(0,i.jsx)(n.a,{href:"https://cla.developers.google.com/",children:"https://cla.developers.google.com/"}),"> to see\nyour current agreements on file or to sign a new one."]}),"\n",(0,i.jsx)(n.p,{children:"You generally only need to submit a CLA once, so if you've already submitted one\n(even if it was for a different project), you probably don't need to do it\nagain."}),"\n",(0,i.jsx)(n.h2,{id:"getting-started",children:"Getting started"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Clone this repository"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/puppeteer/puppeteer\ncd puppeteer\n"})}),"\n",(0,i.jsx)(n.p,{children:"or"}),"\n",(0,i.jsx)(n.p,{children:(0,i.jsx)(n.a,{href:"https://github.com/codespaces/new?hide_repo_select=true&ref=main&
|