diff --git a/.commitlintrc.js b/.commitlintrc.js index 5b0b1a52..857c27e5 100644 --- a/.commitlintrc.js +++ b/.commitlintrc.js @@ -1,4 +1,4 @@ -/* This file is automatically added by @npmcli/template-oss. Do not edit. */ +/* This file is automatically updated by @npmcli/template-oss. Do not edit. */ module.exports = { extends: ['@commitlint/config-conventional'], diff --git a/.eslintrc.js b/.eslintrc.js index 092269f0..2d738c70 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,4 @@ -/* This file is automatically added by @npmcli/template-oss. Do not edit. */ +/* This file is automatically updated by @npmcli/template-oss. Do not edit. */ 'use strict' @@ -10,11 +10,6 @@ const localConfigs = readdir(__dirname) module.exports = { root: true, - ignorePatterns: [ - 'workspaces/**', - ], - extends: [ - '@npmcli', - ...localConfigs, - ], + ignorePatterns: ['workspaces/**'], + extends: ['@npmcli', ...localConfigs], } diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2c54b0d2..f37fd092 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ -# This file is automatically added by @npmcli/template-oss. Do not edit. +# This file is automatically updated by @npmcli/template-oss. Do not edit. * @npm/cli-team diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index d043192f..137e76c0 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -1,9 +1,9 @@ -# This file is automatically added by @npmcli/template-oss. Do not edit. +# This file is automatically updated by @npmcli/template-oss. Do not edit. name: Bug description: File a bug/issue title: "[BUG]
Math.pow(2,16)-1)return this.parseError=!0,D;this.url.port=p===T8(this.url.scheme)?null:p,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,D;return!0};var U8=new Set([47,92,63,35]);q.prototype["parse file"]=function(a){return this.url.scheme="file",a===47||a===92?(a===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(a)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):a===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):a===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!w8(a,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!U8.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),nd(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};q.prototype["parse file slash"]=function(a){return a===47||a===92?(a===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(E8(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};q.prototype["parse file host"]=function(a,t){if(isNaN(a)||a===47||a===92||a===63||a===35)if(--this.pointer,!this.stateOverride&&id(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let p=hp(this.buffer,H(this.url));if(p===D)return D;if(p==="localhost"&&(p=""),this.url.host=p,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=t;return!0};q.prototype["parse path start"]=function(a){return H(this.url)?(a===92&&(this.parseError=!0),this.state="path",a!==47&&a!==92&&--this.pointer):!this.stateOverride&&a===63?(this.url.query="",this.state="query"):!this.stateOverride&&a===35?(this.url.fragment="",this.state="fragment"):a!==void 0&&(this.state="path",a!==47&&--this.pointer),!0};q.prototype["parse path"]=function(a){if(isNaN(a)||a===47||H(this.url)&&a===92||!this.stateOverride&&(a===63||a===35)){if(H(this.url)&&a===92&&(this.parseError=!0),g8(this.buffer)?(nd(this.url),a!==47&&!(H(this.url)&&a===92)&&this.url.path.push("")):rd(this.buffer)&&a!==47&&!(H(this.url)&&a===92)?this.url.path.push(""):rd(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&id(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(a===void 0||a===63||a===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();a===63&&(this.url.query="",this.state="query"),a===35&&(this.url.fragment="",this.state="fragment")}else a===37&&(!De(this.input[this.pointer+1])||!De(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=l1(a,od);return!0};q.prototype["parse cannot-be-a-base-URL path"]=function(a){return a===63?(this.url.query="",this.state="query"):a===35?(this.url.fragment="",this.state="fragment"):(!isNaN(a)&&a!==37&&(this.parseError=!0),a===37&&(!De(this.input[this.pointer+1])||!De(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(a)||(this.url.path[0]=this.url.path[0]+l1(a,Wa))),!0};q.prototype["parse query"]=function(a,t){if(isNaN(a)||!this.stateOverride&&a===35){(!H(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let p=new Buffer(this.buffer);for(let r=0;r
1)t=a;else if(this.head)p=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var r=0;p!==null;r++)t=e(t,p.value,r),p=p.next;return t};P.prototype.reduceReverse=function(e,a){var t,p=this.tail;if(arguments.length>1)t=a;else if(this.tail)p=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var r=this.length-1;p!==null;r--)t=e(t,p.value,r),p=p.prev;return t};P.prototype.toArray=function(){for(var e=new Array(this.length),a=0,t=this.head;t!==null;a++)e[a]=t.value,t=t.next;return e};P.prototype.toArrayReverse=function(){for(var e=new Array(this.length),a=0,t=this.tail;t!==null;a++)e[a]=t.value,t=t.prev;return e};P.prototype.slice=function(e,a){a=a||this.length,a<0&&(a+=this.length),e=e||0,e<0&&(e+=this.length);var t=new P;if(a p?(t.splice(0,p),process.nextTick(function(){a.apply(null,r)})):delete ka[e]}})}function M7(e){for(var a=e.length,t=[],p=0;p{Y4.exports=S1;var H7=es(),J4=kt(),Gf=J4.Minimatch,W7=I4(),z7=require("events").EventEmitter,hs=require("path"),fs=require("assert"),Ga=require("path").isAbsolute,gs=z4(),A1=ls(),K7=A1.setopts,vs=A1.ownProp,ws=X4(),Ff=require("util"),X7=A1.childrenIgnored,J7=A1.isIgnored,Y7=lt();function S1(e,a,t){if(typeof a=="function"&&(t=a,a={}),a||(a={}),a.sync){if(t)throw new TypeError("callback provided to sync glob");return gs(e,a)}return new k(e,a,t)}S1.sync=gs;var Z7=S1.GlobSync=gs.GlobSync;S1.glob=S1;function Q7(e,a){if(a===null||typeof a!="object")return e;for(var t=Object.keys(a),p=t.length;p--;)e[t[p]]=a[t[p]];return e}S1.hasMagic=function(e,a){var t=Q7({},a);t.noprocess=!0;var p=new k(e,t),r=p.minimatch.set;if(!e)return!1;if(r.length>1)return!0;for(var s=0;s =this.maxSockets){a.requests.push(s);return}a.createSocket(s,function(o){o.on("free",u),o.on("close",p),o.on("agentRemove",p),t.onSocket(o);function u(){a.emit("free",o,s)}function p(f){a.removeSocket(o),o.removeListener("free",u),o.removeListener("close",p),o.removeListener("agentRemove",p)}})};go.prototype.createSocket=function(t,r){var n=this,i={};n.sockets.push(i);var a=fy({},n.proxyOptions,{method:"CONNECT",path:t.host+":"+t.port,agent:!1,headers:{host:t.host+":"+t.port}});t.localAddress&&(a.localAddress=t.localAddress),a.proxyAuth&&(a.headers=a.headers||{},a.headers["Proxy-Authorization"]="Basic "+new Buffer(a.proxyAuth).toString("base64")),Fu("making CONNECT request");var s=n.request(a);s.useChunkedEncodingByDefault=!1,s.once("response",o),s.once("upgrade",u),s.once("connect",p),s.once("error",f),s.end();function o(h){h.upgrade=!0}function u(h,g,v){process.nextTick(function(){p(h,g,v)})}function p(h,g,v){if(s.removeAllListeners(),g.removeAllListeners(),h.statusCode!==200){Fu("tunneling socket could not be established, statusCode=%d",h.statusCode),g.destroy();var D=new Error("tunneling socket could not be established, statusCode="+h.statusCode);D.code="ECONNRESET",t.request.emit("error",D),n.removeSocket(i);return}if(v.length>0){Fu("got illegal response body from proxy"),g.destroy();var D=new Error("got illegal response body from proxy");D.code="ECONNRESET",t.request.emit("error",D),n.removeSocket(i);return}return Fu("tunneling connection has established"),n.sockets[n.sockets.indexOf(i)]=g,r(g)}function f(h){s.removeAllListeners(),Fu(`tunneling socket could not be established, cause=%s
+`,h.message,h.stack);var g=new Error("tunneling socket could not be established, cause="+h.message);g.code="ECONNRESET",t.request.emit("error",g),n.removeSocket(i)}};go.prototype.removeSocket=function(t){var r=this.sockets.indexOf(t);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(i){n.request.onSocket(i)})}};function jO(e,t){var r=this;go.prototype.createSocket.call(r,e,function(n){var i=e.request.getHeader("host"),a=fy({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):e.host}),s=Hde.connect(0,a);r.sockets[r.sockets.indexOf(n)]=s,t(s)})}function $O(e,t,r){return typeof e=="string"?{host:e,port:t,localAddress:r}:e}function fy(e){for(var t=1,r=arguments.length;t=0?o:n;p.length&&(d=[s,i])}return d}});var Br=h((cf,r4)=>{var Z0=Y0();r4.exports=am;var Q0="\0SLASH"+Math.random()+"\0",e4="\0OPEN"+Math.random()+"\0",qr="\0CLOSE"+Math.random()+"\0",a4="\0COMMA"+Math.random()+"\0",t4="\0PERIOD"+Math.random()+"\0";function Ir(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function Q3(e){return e.split("\\\\").join(Q0).split("\\{").join(e4).split("\\}").join(qr).split("\\,").join(a4).split("\\.").join(t4)}function em(e){return e.split(Q0).join("\\").split(e4).join("{").split(qr).join("}").split(a4).join(",").split(t4).join(".")}function p4(e){if(!e)return[""];var a=[],t=Z0("{","}",e);if(!t)return e.split(",");var p=t.pre,r=t.body,s=t.post,i=p.split(",");i[i.length-1]+="{"+r+"}";var d=p4(s);return s.length&&(i[i.length-1]+=d.shift(),i.push.apply(i,d)),a.push.apply(a,i),a}function am(e){return e?(e.substr(0,2)==="{}"&&(e="\\{\\}"+e.substr(2)),Oa(Q3(e),!0).map(em)):[]}function tm(e){return"{"+e+"}"}function pm(e){return/^-?0\d/.test(e)}function rm(e,a){return e<=a}function sm(e,a){return e>=a}function Oa(e,a){var t=[],p=Z0("{","}",e);if(!p)return[e];var r=p.pre,s=p.post.length?Oa(p.post,!1):[""];if(/\$$/.test(p.pre))for(var i=0;i.*<\/summary>/g;
- const MONO_VERSIONS = /
(?:(.*?):\s)?(.*?)<\/summary>/;
- const ROOT_VERSION = /\n##\s\[(.*?)\]/;
- const workspaces = [...await mapWorkspaces({ pkg, cwd: ROOT })].reduce((acc, [k]) => {
- const wsComponentName = k.startsWith("@") ? k.split("/")[1] : k;
- acc[wsComponentName] = k;
- return acc;
- }, {});
- const getReleaseInfo = ({ name, version: rawVersion }) => {
- const version = semver.parse(rawVersion);
- const prerelease = !!version.prerelease.length;
- const tag = `${name ? `${name}-` : ""}v${rawVersion}`;
- const workspace = workspaces[name];
- return {
- name,
- tag,
- prerelease,
- version: rawVersion,
- major: version.major,
- url: `https://github.com/${pr.base.repo.full_name}/releases/tag/${tag}`,
- flags: `${name ? `-w ${workspace}` : ""} ${prerelease ? `--tag prerelease` : ""}`.trim()
- };
- };
- const releases = pr.body.match(RELEASE_SEPARATOR);
- if (!releases) {
- log("Found no monorepo, checking for single root version");
- const [, version] = pr.body.match(ROOT_VERSION) || [];
- if (!version) {
- throw new Error("Could not find version with:", ROOT_VERSION);
- }
- log("Found version", version);
- return [getReleaseInfo({ version })];
- }
- log(`Found ${releases.length} releases`);
- return releases.reduce((acc, r) => {
- const [, name, version] = r.match(MONO_VERSIONS);
- const release = getReleaseInfo({ name, version });
- if (!name) {
- log("Found root", release);
- acc[0] = release;
- } else {
- log("Found workspace", release);
- acc[1].push(release);
- }
- return acc;
- }, [null, []]);
-};
-var appendToComment = async ({ github, commentId, title, body }) => {
- if (!commentId) {
- log(`No comment id, skipping append to comment`);
- return;
- }
- const { data: comment } = await github.rest.issues.getComment({
- ...github.repo,
- comment_id: commentId
- });
- const hasAppended = comment.body.includes(title);
- log("Found comment with id:", commentId);
- log(hasAppended ? "Comment has aready been appended, replacing" : "Appending to comment");
- const prefix = hasAppended ? comment.body.split(title)[0] : comment.body;
- return github.rest.issues.updateComment({
- ...github.repo,
- comment_id: commentId,
- body: [prefix, title, body].join("\n\n")
- });
-};
-var main = async (env) => {
- const {
- CI,
- GITHUB_TOKEN,
- GITHUB_REPOSITORY,
- RELEASE_PR_NUMBER,
- RELEASE_COMMENT_ID
- // comment is optional for testing
- } = env;
- if (!CI || !GITHUB_TOKEN || !GITHUB_REPOSITORY || !RELEASE_PR_NUMBER) {
- throw new Error(`This script is designed to run in CI. If you want to test it, set the following env vars: \`CI, GITHUB_TOKEN, GITHUB_REPOSITORY, RELEASE_PR_NUMBER\``);
- }
- const [owner, repo] = GITHUB_REPOSITORY.split("/");
- const github = new Octokit({ auth: GITHUB_TOKEN });
- github.repo = { owner, repo };
- const { data: pr } = await github.rest.pulls.get({
- ...github.repo,
- pull_number: RELEASE_PR_NUMBER
- });
- const [release, workspaces = []] = await getPrReleases(pr);
- const RELEASE_OMIT_PRERELEASE = "> NOT FOR PRERELEASE";
- const RELEASE_OMIT_WORKSPACES = "Publish workspaces";
- const releaseItems = (await getReleaseProcess({ owner, repo })).filter((item) => {
- if (release.prerelease && item.includes(RELEASE_OMIT_PRERELEASE)) {
- return false;
- }
- if (!workspaces.length && item.includes(RELEASE_OMIT_WORKSPACES)) {
- return false;
- }
- return true;
- }).map((item, index) => item.replace("
.*<\/summary>/g,r=/
(?:(.*?):\s)?(.*?)<\/summary>/,s=/\n##\s\[(.*?)\]/,i=[...await uc({pkg:a,cwd:t})].reduce((n,[l])=>{let m=l.startsWith("@")?l.split("/")[1]:l;return n[m]=l,n},{}),d=({name:n,version:l})=>{let m=cc.parse(l),c=!!m.prerelease.length,u=`${n?`${n}-`:""}v${l}`,f=i[n];return{name:n,tag:u,prerelease:c,version:l,major:m.major,url:`https://github.com/${e.base.repo.full_name}/releases/tag/${u}`,flags:`${n?`-w ${f}`:""} ${c?"--tag prerelease":""}`.trim()}},o=e.body.match(p);if(!o){he("Found no monorepo, checking for single root version");let[,n]=e.body.match(s)||[];if(!n)throw new Error("Could not find version with:",s);return he("Found version",n),[d({version:n})]}return he(`Found ${o.length} releases`),o.reduce((n,l)=>{let[,m,c]=l.match(r),u=d({name:m,version:c});return m?(he("Found workspace",u),n[1].push(u)):(he("Found root",u),n[0]=u),n},[null,[]])},wc=async({github:e,commentId:a,title:t,body:p})=>{if(!a){he("No comment id, skipping append to comment");return}let{data:r}=await e.rest.issues.getComment({...e.repo,comment_id:a}),s=r.body.includes(t);he("Found comment with id:",a),he(s?"Comment has aready been appended, replacing":"Appending to comment");let i=s?r.body.split(t)[0]:r.body;return e.rest.issues.updateComment({...e.repo,comment_id:a,body:[i,t,p].join(`
+
+`)})},Ec=async({token:e,repository:a,prNumber:t,commentId:p,cwd:r=process.cwd()})=>{let s=require(hc(r,"package.json"));if(!e||!a||!t)throw new Error("Missing some of required parameters: token, repositoiry, prNumber");let[i,d]=a.split("/"),o=new mc({auth:e});o.repo={owner:i,repo:d};let{data:n}=await o.rest.pulls.get({...o.repo,pull_number:t}),[l,m=[]]=await gc({pr:n,cwd:r,pkg:s}),c="> NOT FOR PRERELEASE",u="Publish workspaces",f=(await vc({owner:i,repo:d})).filter(y=>!(l.prerelease&&y.includes(c)||!m.length&&y.includes(u))).map((y,L)=>y.replace("
} summary instance
- */
- write(options) {
- return __awaiter(this, void 0, void 0, function* () {
- const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);
- const filePath = yield this.filePath();
- const writeFunc = overwrite ? writeFile : appendFile;
- yield writeFunc(filePath, this._buffer, { encoding: "utf8" });
- return this.emptyBuffer();
- });
- }
- /**
- * Clears the summary buffer and wipes the summary file
- *
- * @returns {Summary} summary instance
- */
- clear() {
- return __awaiter(this, void 0, void 0, function* () {
- return this.emptyBuffer().write({ overwrite: true });
- });
- }
- /**
- * Returns the current summary buffer as a string
- *
- * @returns {string} string of summary buffer
- */
- stringify() {
- return this._buffer;
- }
- /**
- * If the summary buffer is empty
- *
- * @returns {boolen} true if the buffer is empty
- */
- isEmptyBuffer() {
- return this._buffer.length === 0;
- }
- /**
- * Resets the summary buffer without writing to summary file
- *
- * @returns {Summary} summary instance
- */
- emptyBuffer() {
- this._buffer = "";
- return this;
- }
- /**
- * Adds raw text to the summary buffer
- *
- * @param {string} text content to add
- * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)
- *
- * @returns {Summary} summary instance
- */
- addRaw(text, addEOL = false) {
- this._buffer += text;
- return addEOL ? this.addEOL() : this;
- }
- /**
- * Adds the operating system-specific end-of-line marker to the buffer
- *
- * @returns {Summary} summary instance
- */
- addEOL() {
- return this.addRaw(os_1.EOL);
- }
- /**
- * Adds an HTML codeblock to the summary buffer
- *
- * @param {string} code content to render within fenced code block
- * @param {string} lang (optional) language to syntax highlight code
- *
- * @returns {Summary} summary instance
- */
- addCodeBlock(code, lang) {
- const attrs = Object.assign({}, lang && { lang });
- const element = this.wrap("pre", this.wrap("code", code), attrs);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML list to the summary buffer
- *
- * @param {string[]} items list of items to render
- * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)
- *
- * @returns {Summary} summary instance
- */
- addList(items, ordered = false) {
- const tag = ordered ? "ol" : "ul";
- const listItems = items.map((item) => this.wrap("li", item)).join("");
- const element = this.wrap(tag, listItems);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML table to the summary buffer
- *
- * @param {SummaryTableCell[]} rows table rows
- *
- * @returns {Summary} summary instance
- */
- addTable(rows) {
- const tableBody = rows.map((row) => {
- const cells = row.map((cell) => {
- if (typeof cell === "string") {
- return this.wrap("td", cell);
- }
- const { header, data, colspan, rowspan } = cell;
- const tag = header ? "th" : "td";
- const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan });
- return this.wrap(tag, data, attrs);
- }).join("");
- return this.wrap("tr", cells);
- }).join("");
- const element = this.wrap("table", tableBody);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds a collapsable HTML details element to the summary buffer
- *
- * @param {string} label text for the closed state
- * @param {string} content collapsable content
- *
- * @returns {Summary} summary instance
- */
- addDetails(label, content) {
- const element = this.wrap("details", this.wrap("summary", label) + content);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML image tag to the summary buffer
- *
- * @param {string} src path to the image you to embed
- * @param {string} alt text description of the image
- * @param {SummaryImageOptions} options (optional) addition image attributes
- *
- * @returns {Summary} summary instance
- */
- addImage(src, alt, options) {
- const { width, height } = options || {};
- const attrs = Object.assign(Object.assign({}, width && { width }), height && { height });
- const element = this.wrap("img", null, Object.assign({ src, alt }, attrs));
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML section heading element
- *
- * @param {string} text heading text
- * @param {number | string} [level=1] (optional) the heading level, default: 1
- *
- * @returns {Summary} summary instance
- */
- addHeading(text, level) {
- const tag = `h${level}`;
- const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1";
- const element = this.wrap(allowedTag, text);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML thematic break (
) to the summary buffer
- *
- * @returns {Summary} summary instance
- */
- addSeparator() {
- const element = this.wrap("hr", null);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML line break (
) to the summary buffer
- *
- * @returns {Summary} summary instance
- */
- addBreak() {
- const element = this.wrap("br", null);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML blockquote to the summary buffer
- *
- * @param {string} text quote text
- * @param {string} cite (optional) citation url
- *
- * @returns {Summary} summary instance
- */
- addQuote(text, cite) {
- const attrs = Object.assign({}, cite && { cite });
- const element = this.wrap("blockquote", text, attrs);
- return this.addRaw(element).addEOL();
- }
- /**
- * Adds an HTML anchor tag to the summary buffer
- *
- * @param {string} text link text/content
- * @param {string} href hyperlink
- *
- * @returns {Summary} summary instance
- */
- addLink(text, href) {
- const element = this.wrap("a", text, { href });
- return this.addRaw(element).addEOL();
- }
- };
- var _summary = new Summary();
- exports2.markdownSummary = _summary;
- exports2.summary = _summary;
- }
-});
-
-// node_modules/@actions/core/lib/path-utils.js
-var require_path_utils = __commonJS({
- "node_modules/@actions/core/lib/path-utils.js"(exports2) {
- "use strict";
- var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
- if (k2 === void 0)
- k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() {
- return m[k];
- } });
- } : function(o, m, k, k2) {
- if (k2 === void 0)
- k2 = k;
- o[k2] = m[k];
- });
- var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
- } : function(o, v) {
- o["default"] = v;
- });
- var __importStar = exports2 && exports2.__importStar || function(mod) {
- if (mod && mod.__esModule)
- return mod;
- var result = {};
- if (mod != null) {
- for (var k in mod)
- if (k !== "default" && Object.hasOwnProperty.call(mod, k))
- __createBinding(result, mod, k);
- }
- __setModuleDefault(result, mod);
- return result;
- };
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0;
- var path = __importStar(require("path"));
- function toPosixPath(pth) {
- return pth.replace(/[\\]/g, "/");
- }
- exports2.toPosixPath = toPosixPath;
- function toWin32Path(pth) {
- return pth.replace(/[/]/g, "\\");
- }
- exports2.toWin32Path = toWin32Path;
- function toPlatformPath(pth) {
- return pth.replace(/[/\\]/g, path.sep);
- }
- exports2.toPlatformPath = toPlatformPath;
- }
-});
-
-// node_modules/@actions/core/lib/core.js
-var require_core = __commonJS({
- "node_modules/@actions/core/lib/core.js"(exports2) {
- "use strict";
- var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
- if (k2 === void 0)
- k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() {
- return m[k];
- } });
- } : function(o, m, k, k2) {
- if (k2 === void 0)
- k2 = k;
- o[k2] = m[k];
- });
- var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
- } : function(o, v) {
- o["default"] = v;
- });
- var __importStar = exports2 && exports2.__importStar || function(mod) {
- if (mod && mod.__esModule)
- return mod;
- var result = {};
- if (mod != null) {
- for (var k in mod)
- if (k !== "default" && Object.hasOwnProperty.call(mod, k))
- __createBinding(result, mod, k);
- }
- __setModuleDefault(result, mod);
- return result;
- };
- var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
- function adopt(value) {
- return value instanceof P ? value : new P(function(resolve) {
- resolve(value);
- });
- }
- return new (P || (P = Promise))(function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0;
- var command_1 = require_command();
- var file_command_1 = require_file_command();
- var utils_1 = require_utils();
- var os = __importStar(require("os"));
- var path = __importStar(require("path"));
- var oidc_utils_1 = require_oidc_utils();
- var ExitCode;
- (function(ExitCode2) {
- ExitCode2[ExitCode2["Success"] = 0] = "Success";
- ExitCode2[ExitCode2["Failure"] = 1] = "Failure";
- })(ExitCode = exports2.ExitCode || (exports2.ExitCode = {}));
- function exportVariable(name2, val) {
- const convertedVal = utils_1.toCommandValue(val);
- process.env[name2] = convertedVal;
- const filePath = process.env["GITHUB_ENV"] || "";
- if (filePath) {
- return file_command_1.issueFileCommand("ENV", file_command_1.prepareKeyValueMessage(name2, val));
- }
- command_1.issueCommand("set-env", { name: name2 }, convertedVal);
- }
- exports2.exportVariable = exportVariable;
- function setSecret(secret) {
- command_1.issueCommand("add-mask", {}, secret);
- }
- exports2.setSecret = setSecret;
- function addPath(inputPath) {
- const filePath = process.env["GITHUB_PATH"] || "";
- if (filePath) {
- file_command_1.issueFileCommand("PATH", inputPath);
- } else {
- command_1.issueCommand("add-path", {}, inputPath);
- }
- process.env["PATH"] = `${inputPath}${path.delimiter}${process.env["PATH"]}`;
- }
- exports2.addPath = addPath;
- function getInput(name2, options) {
- const val = process.env[`INPUT_${name2.replace(/ /g, "_").toUpperCase()}`] || "";
- if (options && options.required && !val) {
- throw new Error(`Input required and not supplied: ${name2}`);
- }
- if (options && options.trimWhitespace === false) {
- return val;
- }
- return val.trim();
- }
- exports2.getInput = getInput;
- function getMultilineInput(name2, options) {
- const inputs = getInput(name2, options).split("\n").filter((x) => x !== "");
- if (options && options.trimWhitespace === false) {
- return inputs;
- }
- return inputs.map((input) => input.trim());
- }
- exports2.getMultilineInput = getMultilineInput;
- function getBooleanInput(name2, options) {
- const trueValue = ["true", "True", "TRUE"];
- const falseValue = ["false", "False", "FALSE"];
- const val = getInput(name2, options);
- if (trueValue.includes(val))
- return true;
- if (falseValue.includes(val))
- return false;
- throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name2}
-Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
- }
- exports2.getBooleanInput = getBooleanInput;
- function setOutput(name2, value) {
- const filePath = process.env["GITHUB_OUTPUT"] || "";
- if (filePath) {
- return file_command_1.issueFileCommand("OUTPUT", file_command_1.prepareKeyValueMessage(name2, value));
- }
- process.stdout.write(os.EOL);
- command_1.issueCommand("set-output", { name: name2 }, utils_1.toCommandValue(value));
- }
- exports2.setOutput = setOutput;
- function setCommandEcho(enabled) {
- command_1.issue("echo", enabled ? "on" : "off");
- }
- exports2.setCommandEcho = setCommandEcho;
- function setFailed(message) {
- process.exitCode = ExitCode.Failure;
- error(message);
- }
- exports2.setFailed = setFailed;
- function isDebug() {
- return process.env["RUNNER_DEBUG"] === "1";
- }
- exports2.isDebug = isDebug;
- function debug(message) {
- command_1.issueCommand("debug", {}, message);
- }
- exports2.debug = debug;
- function error(message, properties = {}) {
- command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
- }
- exports2.error = error;
- function warning(message, properties = {}) {
- command_1.issueCommand("warning", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
- }
- exports2.warning = warning;
- function notice(message, properties = {}) {
- command_1.issueCommand("notice", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
- }
- exports2.notice = notice;
- function info(message) {
- process.stdout.write(message + os.EOL);
- }
- exports2.info = info;
- function startGroup(name2) {
- command_1.issue("group", name2);
- }
- exports2.startGroup = startGroup;
- function endGroup() {
- command_1.issue("endgroup");
- }
- exports2.endGroup = endGroup;
- function group(name2, fn2) {
- return __awaiter(this, void 0, void 0, function* () {
- startGroup(name2);
- let result;
- try {
- result = yield fn2();
- } finally {
- endGroup();
- }
- return result;
- });
- }
- exports2.group = group;
- function saveState(name2, value) {
- const filePath = process.env["GITHUB_STATE"] || "";
- if (filePath) {
- return file_command_1.issueFileCommand("STATE", file_command_1.prepareKeyValueMessage(name2, value));
- }
- command_1.issueCommand("save-state", { name: name2 }, utils_1.toCommandValue(value));
- }
- exports2.saveState = saveState;
- function getState(name2) {
- return process.env[`STATE_${name2}`] || "";
- }
- exports2.getState = getState;
- function getIDToken(aud) {
- return __awaiter(this, void 0, void 0, function* () {
- return yield oidc_utils_1.OidcClient.getIDToken(aud);
- });
- }
- exports2.getIDToken = getIDToken;
- var summary_1 = require_summary();
- Object.defineProperty(exports2, "summary", { enumerable: true, get: function() {
- return summary_1.summary;
- } });
- var summary_2 = require_summary();
- Object.defineProperty(exports2, "markdownSummary", { enumerable: true, get: function() {
- return summary_2.markdownSummary;
- } });
- var path_utils_1 = require_path_utils();
- Object.defineProperty(exports2, "toPosixPath", { enumerable: true, get: function() {
- return path_utils_1.toPosixPath;
- } });
- Object.defineProperty(exports2, "toWin32Path", { enumerable: true, get: function() {
- return path_utils_1.toWin32Path;
- } });
- Object.defineProperty(exports2, "toPlatformPath", { enumerable: true, get: function() {
- return path_utils_1.toPlatformPath;
- } });
- }
-});
-
-// node_modules/release-please/build/src/errors/index.js
-var require_errors = __commonJS({
- "node_modules/release-please/build/src/errors/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.FileNotFoundError = exports2.DuplicateReleaseError = exports2.AuthError = exports2.GitHubAPIError = exports2.MissingRequiredFileError = exports2.ConfigurationError = void 0;
- var ConfigurationError = class extends Error {
- constructor(message, releaserName, repository) {
- super(`${releaserName} (${repository}): ${message}`);
- this.releaserName = releaserName;
- this.repository = repository;
- this.name = ConfigurationError.name;
- }
- };
- exports2.ConfigurationError = ConfigurationError;
- var MissingRequiredFileError = class extends ConfigurationError {
- constructor(file, releaserName, repository) {
- super(`Missing required file: ${file}`, releaserName, repository);
- this.file = file;
- this.name = MissingRequiredFileError.name;
- }
- };
- exports2.MissingRequiredFileError = MissingRequiredFileError;
- var GitHubAPIError = class extends Error {
- constructor(requestError, message) {
- super(message !== null && message !== void 0 ? message : requestError.message);
- this.status = requestError.status;
- this.body = GitHubAPIError.parseErrorBody(requestError);
- this.name = GitHubAPIError.name;
- this.cause = requestError;
- this.stack = requestError.stack;
- }
- static parseErrorBody(requestError) {
- const body = requestError.response;
- return (body === null || body === void 0 ? void 0 : body.data) || void 0;
- }
- static parseErrors(requestError) {
- var _a;
- return ((_a = GitHubAPIError.parseErrorBody(requestError)) === null || _a === void 0 ? void 0 : _a.errors) || [];
- }
- };
- exports2.GitHubAPIError = GitHubAPIError;
- var AuthError = class extends GitHubAPIError {
- constructor(requestError) {
- super(requestError, "unauthorized");
- this.status = 401;
- this.name = AuthError.name;
- }
- };
- exports2.AuthError = AuthError;
- var DuplicateReleaseError = class extends GitHubAPIError {
- constructor(requestError, tag) {
- super(requestError);
- this.tag = tag;
- this.name = DuplicateReleaseError.name;
- }
- };
- exports2.DuplicateReleaseError = DuplicateReleaseError;
- var FileNotFoundError = class extends Error {
- constructor(path) {
- super(`Failed to find file: ${path}`);
- this.path = path;
- this.name = FileNotFoundError.name;
- }
- };
- exports2.FileNotFoundError = FileNotFoundError;
- }
-});
-
-// node_modules/semver/internal/constants.js
-var require_constants = __commonJS({
- "node_modules/semver/internal/constants.js"(exports2, module2) {
- var SEMVER_SPEC_VERSION = "2.0.0";
- var MAX_LENGTH = 256;
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
- 9007199254740991;
- var MAX_SAFE_COMPONENT_LENGTH = 16;
- module2.exports = {
- SEMVER_SPEC_VERSION,
- MAX_LENGTH,
- MAX_SAFE_INTEGER,
- MAX_SAFE_COMPONENT_LENGTH
- };
- }
-});
-
-// node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
- "node_modules/semver/internal/debug.js"(exports2, module2) {
- var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
- };
- module2.exports = debug;
- }
-});
-
-// node_modules/semver/internal/re.js
-var require_re = __commonJS({
- "node_modules/semver/internal/re.js"(exports2, module2) {
- var { MAX_SAFE_COMPONENT_LENGTH } = require_constants();
- var debug = require_debug();
- exports2 = module2.exports = {};
- var re = exports2.re = [];
- var src = exports2.src = [];
- var t = exports2.t = {};
- var R = 0;
- var createToken = (name2, value, isGlobal) => {
- const index = R++;
- debug(name2, index, value);
- t[name2] = index;
- src[index] = value;
- re[index] = new RegExp(value, isGlobal ? "g" : void 0);
- };
- createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
- createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+");
- createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*");
- createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
- createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
- createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
- createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
- createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+");
- createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
- createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
- createToken("FULL", `^${src[t.FULLPLAIN]}$`);
- createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
- createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
- createToken("GTLT", "((?:<|>)?=?)");
- createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
- createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
- createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
- createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
- createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
- createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
- createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`);
- createToken("COERCERTL", src[t.COERCE], true);
- createToken("LONETILDE", "(?:~>?)");
- createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
- exports2.tildeTrimReplace = "$1~";
- createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
- createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
- createToken("LONECARET", "(?:\\^)");
- createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
- exports2.caretTrimReplace = "$1^";
- createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
- createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
- createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
- createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
- createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
- exports2.comparatorTrimReplace = "$1$2$3";
- createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
- createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
- createToken("STAR", "(<|>)?=?\\s*\\*");
- createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
- createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
- }
-});
-
-// node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
- "node_modules/semver/internal/parse-options.js"(exports2, module2) {
- var opts = ["includePrerelease", "loose", "rtl"];
- var parseOptions = (options) => !options ? {} : typeof options !== "object" ? { loose: true } : opts.filter((k) => options[k]).reduce((o, k) => {
- o[k] = true;
- return o;
- }, {});
- module2.exports = parseOptions;
- }
-});
-
-// node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
- "node_modules/semver/internal/identifiers.js"(exports2, module2) {
- var numeric = /^[0-9]+$/;
- var compareIdentifiers = (a, b) => {
- const anum = numeric.test(a);
- const bnum = numeric.test(b);
- if (anum && bnum) {
- a = +a;
- b = +b;
- }
- return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
- };
- var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
- module2.exports = {
- compareIdentifiers,
- rcompareIdentifiers
- };
- }
-});
-
-// node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
- "node_modules/semver/classes/semver.js"(exports2, module2) {
- var debug = require_debug();
- var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
- var { re, t } = require_re();
- var parseOptions = require_parse_options();
- var { compareIdentifiers } = require_identifiers();
- var SemVer = class {
- constructor(version2, options) {
- options = parseOptions(options);
- if (version2 instanceof SemVer) {
- if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
- return version2;
- } else {
- version2 = version2.version;
- }
- } else if (typeof version2 !== "string") {
- throw new TypeError(`Invalid Version: ${version2}`);
- }
- if (version2.length > MAX_LENGTH) {
- throw new TypeError(
- `version is longer than ${MAX_LENGTH} characters`
- );
- }
- debug("SemVer", version2, options);
- this.options = options;
- this.loose = !!options.loose;
- this.includePrerelease = !!options.includePrerelease;
- const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
- if (!m) {
- throw new TypeError(`Invalid Version: ${version2}`);
- }
- this.raw = version2;
- this.major = +m[1];
- this.minor = +m[2];
- this.patch = +m[3];
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError("Invalid major version");
- }
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError("Invalid minor version");
- }
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError("Invalid patch version");
- }
- if (!m[4]) {
- this.prerelease = [];
- } else {
- this.prerelease = m[4].split(".").map((id) => {
- if (/^[0-9]+$/.test(id)) {
- const num = +id;
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num;
- }
- }
- return id;
- });
- }
- this.build = m[5] ? m[5].split(".") : [];
- this.format();
- }
- format() {
- this.version = `${this.major}.${this.minor}.${this.patch}`;
- if (this.prerelease.length) {
- this.version += `-${this.prerelease.join(".")}`;
- }
- return this.version;
- }
- toString() {
- return this.version;
- }
- compare(other) {
- debug("SemVer.compare", this.version, this.options, other);
- if (!(other instanceof SemVer)) {
- if (typeof other === "string" && other === this.version) {
- return 0;
- }
- other = new SemVer(other, this.options);
- }
- if (other.version === this.version) {
- return 0;
- }
- return this.compareMain(other) || this.comparePre(other);
- }
- compareMain(other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
- }
- comparePre(other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- if (this.prerelease.length && !other.prerelease.length) {
- return -1;
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1;
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0;
- }
- let i = 0;
- do {
- const a = this.prerelease[i];
- const b = other.prerelease[i];
- debug("prerelease compare", i, a, b);
- if (a === void 0 && b === void 0) {
- return 0;
- } else if (b === void 0) {
- return 1;
- } else if (a === void 0) {
- return -1;
- } else if (a === b) {
- continue;
- } else {
- return compareIdentifiers(a, b);
- }
- } while (++i);
- }
- compareBuild(other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- let i = 0;
- do {
- const a = this.build[i];
- const b = other.build[i];
- debug("prerelease compare", i, a, b);
- if (a === void 0 && b === void 0) {
- return 0;
- } else if (b === void 0) {
- return 1;
- } else if (a === void 0) {
- return -1;
- } else if (a === b) {
- continue;
- } else {
- return compareIdentifiers(a, b);
- }
- } while (++i);
- }
- // preminor will bump the version up to the next minor release, and immediately
- // down to pre-release. premajor and prepatch work the same way.
- inc(release, identifier) {
- switch (release) {
- case "premajor":
- this.prerelease.length = 0;
- this.patch = 0;
- this.minor = 0;
- this.major++;
- this.inc("pre", identifier);
- break;
- case "preminor":
- this.prerelease.length = 0;
- this.patch = 0;
- this.minor++;
- this.inc("pre", identifier);
- break;
- case "prepatch":
- this.prerelease.length = 0;
- this.inc("patch", identifier);
- this.inc("pre", identifier);
- break;
- case "prerelease":
- if (this.prerelease.length === 0) {
- this.inc("patch", identifier);
- }
- this.inc("pre", identifier);
- break;
- case "major":
- if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
- this.major++;
- }
- this.minor = 0;
- this.patch = 0;
- this.prerelease = [];
- break;
- case "minor":
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++;
- }
- this.patch = 0;
- this.prerelease = [];
- break;
- case "patch":
- if (this.prerelease.length === 0) {
- this.patch++;
- }
- this.prerelease = [];
- break;
- case "pre":
- if (this.prerelease.length === 0) {
- this.prerelease = [0];
- } else {
- let i = this.prerelease.length;
- while (--i >= 0) {
- if (typeof this.prerelease[i] === "number") {
- this.prerelease[i]++;
- i = -2;
- }
- }
- if (i === -1) {
- this.prerelease.push(0);
- }
- }
- if (identifier) {
- if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = [identifier, 0];
- }
- } else {
- this.prerelease = [identifier, 0];
- }
- }
- break;
- default:
- throw new Error(`invalid increment argument: ${release}`);
- }
- this.format();
- this.raw = this.version;
- return this;
- }
- };
- module2.exports = SemVer;
- }
-});
-
-// node_modules/semver/functions/parse.js
-var require_parse = __commonJS({
- "node_modules/semver/functions/parse.js"(exports2, module2) {
- var { MAX_LENGTH } = require_constants();
- var { re, t } = require_re();
- var SemVer = require_semver();
- var parseOptions = require_parse_options();
- var parse2 = (version2, options) => {
- options = parseOptions(options);
- if (version2 instanceof SemVer) {
- return version2;
- }
- if (typeof version2 !== "string") {
- return null;
- }
- if (version2.length > MAX_LENGTH) {
- return null;
- }
- const r = options.loose ? re[t.LOOSE] : re[t.FULL];
- if (!r.test(version2)) {
- return null;
- }
- try {
- return new SemVer(version2, options);
- } catch (er) {
- return null;
- }
- };
- module2.exports = parse2;
- }
-});
-
-// node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
- "node_modules/semver/functions/valid.js"(exports2, module2) {
- var parse2 = require_parse();
- var valid = (version2, options) => {
- const v = parse2(version2, options);
- return v ? v.version : null;
- };
- module2.exports = valid;
- }
-});
-
-// node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
- "node_modules/semver/functions/clean.js"(exports2, module2) {
- var parse2 = require_parse();
- var clean = (version2, options) => {
- const s = parse2(version2.trim().replace(/^[=v]+/, ""), options);
- return s ? s.version : null;
- };
- module2.exports = clean;
- }
-});
-
-// node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
- "node_modules/semver/functions/inc.js"(exports2, module2) {
- var SemVer = require_semver();
- var inc = (version2, release, options, identifier) => {
- if (typeof options === "string") {
- identifier = options;
- options = void 0;
- }
- try {
- return new SemVer(
- version2 instanceof SemVer ? version2.version : version2,
- options
- ).inc(release, identifier).version;
- } catch (er) {
- return null;
- }
- };
- module2.exports = inc;
- }
-});
-
-// node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
- "node_modules/semver/functions/compare.js"(exports2, module2) {
- var SemVer = require_semver();
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
- module2.exports = compare;
- }
-});
-
-// node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
- "node_modules/semver/functions/eq.js"(exports2, module2) {
- var compare = require_compare();
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
- module2.exports = eq;
- }
-});
-
-// node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
- "node_modules/semver/functions/diff.js"(exports2, module2) {
- var parse2 = require_parse();
- var eq = require_eq();
- var diff = (version1, version2) => {
- if (eq(version1, version2)) {
- return null;
- } else {
- const v12 = parse2(version1);
- const v2 = parse2(version2);
- const hasPre = v12.prerelease.length || v2.prerelease.length;
- const prefix = hasPre ? "pre" : "";
- const defaultResult = hasPre ? "prerelease" : "";
- for (const key in v12) {
- if (key === "major" || key === "minor" || key === "patch") {
- if (v12[key] !== v2[key]) {
- return prefix + key;
- }
- }
- }
- return defaultResult;
- }
- };
- module2.exports = diff;
- }
-});
-
-// node_modules/semver/functions/major.js
-var require_major = __commonJS({
- "node_modules/semver/functions/major.js"(exports2, module2) {
- var SemVer = require_semver();
- var major = (a, loose) => new SemVer(a, loose).major;
- module2.exports = major;
- }
-});
-
-// node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
- "node_modules/semver/functions/minor.js"(exports2, module2) {
- var SemVer = require_semver();
- var minor = (a, loose) => new SemVer(a, loose).minor;
- module2.exports = minor;
- }
-});
-
-// node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
- "node_modules/semver/functions/patch.js"(exports2, module2) {
- var SemVer = require_semver();
- var patch = (a, loose) => new SemVer(a, loose).patch;
- module2.exports = patch;
- }
-});
-
-// node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
- "node_modules/semver/functions/prerelease.js"(exports2, module2) {
- var parse2 = require_parse();
- var prerelease = (version2, options) => {
- const parsed = parse2(version2, options);
- return parsed && parsed.prerelease.length ? parsed.prerelease : null;
- };
- module2.exports = prerelease;
- }
-});
-
-// node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
- "node_modules/semver/functions/rcompare.js"(exports2, module2) {
- var compare = require_compare();
- var rcompare = (a, b, loose) => compare(b, a, loose);
- module2.exports = rcompare;
- }
-});
-
-// node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
- "node_modules/semver/functions/compare-loose.js"(exports2, module2) {
- var compare = require_compare();
- var compareLoose = (a, b) => compare(a, b, true);
- module2.exports = compareLoose;
- }
-});
-
-// node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
- "node_modules/semver/functions/compare-build.js"(exports2, module2) {
- var SemVer = require_semver();
- var compareBuild = (a, b, loose) => {
- const versionA = new SemVer(a, loose);
- const versionB = new SemVer(b, loose);
- return versionA.compare(versionB) || versionA.compareBuild(versionB);
- };
- module2.exports = compareBuild;
- }
-});
-
-// node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
- "node_modules/semver/functions/sort.js"(exports2, module2) {
- var compareBuild = require_compare_build();
- var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
- module2.exports = sort;
- }
-});
-
-// node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
- "node_modules/semver/functions/rsort.js"(exports2, module2) {
- var compareBuild = require_compare_build();
- var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
- module2.exports = rsort;
- }
-});
-
-// node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
- "node_modules/semver/functions/gt.js"(exports2, module2) {
- var compare = require_compare();
- var gt = (a, b, loose) => compare(a, b, loose) > 0;
- module2.exports = gt;
- }
-});
-
-// node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
- "node_modules/semver/functions/lt.js"(exports2, module2) {
- var compare = require_compare();
- var lt = (a, b, loose) => compare(a, b, loose) < 0;
- module2.exports = lt;
- }
-});
-
-// node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
- "node_modules/semver/functions/neq.js"(exports2, module2) {
- var compare = require_compare();
- var neq = (a, b, loose) => compare(a, b, loose) !== 0;
- module2.exports = neq;
- }
-});
-
-// node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
- "node_modules/semver/functions/gte.js"(exports2, module2) {
- var compare = require_compare();
- var gte = (a, b, loose) => compare(a, b, loose) >= 0;
- module2.exports = gte;
- }
-});
-
-// node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
- "node_modules/semver/functions/lte.js"(exports2, module2) {
- var compare = require_compare();
- var lte = (a, b, loose) => compare(a, b, loose) <= 0;
- module2.exports = lte;
- }
-});
-
-// node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
- "node_modules/semver/functions/cmp.js"(exports2, module2) {
- var eq = require_eq();
- var neq = require_neq();
- var gt = require_gt();
- var gte = require_gte();
- var lt = require_lt();
- var lte = require_lte();
- var cmp = (a, op, b, loose) => {
- switch (op) {
- case "===":
- if (typeof a === "object") {
- a = a.version;
- }
- if (typeof b === "object") {
- b = b.version;
- }
- return a === b;
- case "!==":
- if (typeof a === "object") {
- a = a.version;
- }
- if (typeof b === "object") {
- b = b.version;
- }
- return a !== b;
- case "":
- case "=":
- case "==":
- return eq(a, b, loose);
- case "!=":
- return neq(a, b, loose);
- case ">":
- return gt(a, b, loose);
- case ">=":
- return gte(a, b, loose);
- case "<":
- return lt(a, b, loose);
- case "<=":
- return lte(a, b, loose);
- default:
- throw new TypeError(`Invalid operator: ${op}`);
- }
- };
- module2.exports = cmp;
- }
-});
-
-// node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
- "node_modules/semver/functions/coerce.js"(exports2, module2) {
- var SemVer = require_semver();
- var parse2 = require_parse();
- var { re, t } = require_re();
- var coerce = (version2, options) => {
- if (version2 instanceof SemVer) {
- return version2;
- }
- if (typeof version2 === "number") {
- version2 = String(version2);
- }
- if (typeof version2 !== "string") {
- return null;
- }
- options = options || {};
- let match = null;
- if (!options.rtl) {
- match = version2.match(re[t.COERCE]);
- } else {
- let next;
- while ((next = re[t.COERCERTL].exec(version2)) && (!match || match.index + match[0].length !== version2.length)) {
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
- match = next;
- }
- re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
- }
- re[t.COERCERTL].lastIndex = -1;
- }
- if (match === null) {
- return null;
- }
- return parse2(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options);
- };
- module2.exports = coerce;
- }
-});
-
-// node_modules/yallist/iterator.js
-var require_iterator = __commonJS({
- "node_modules/yallist/iterator.js"(exports2, module2) {
- "use strict";
- module2.exports = function(Yallist) {
- Yallist.prototype[Symbol.iterator] = function* () {
- for (let walker = this.head; walker; walker = walker.next) {
- yield walker.value;
- }
- };
- };
- }
-});
-
-// node_modules/yallist/yallist.js
-var require_yallist = __commonJS({
- "node_modules/yallist/yallist.js"(exports2, module2) {
- "use strict";
- module2.exports = Yallist;
- Yallist.Node = Node;
- Yallist.create = Yallist;
- function Yallist(list) {
- var self2 = this;
- if (!(self2 instanceof Yallist)) {
- self2 = new Yallist();
- }
- self2.tail = null;
- self2.head = null;
- self2.length = 0;
- if (list && typeof list.forEach === "function") {
- list.forEach(function(item) {
- self2.push(item);
- });
- } else if (arguments.length > 0) {
- for (var i = 0, l = arguments.length; i < l; i++) {
- self2.push(arguments[i]);
- }
- }
- return self2;
- }
- Yallist.prototype.removeNode = function(node) {
- if (node.list !== this) {
- throw new Error("removing node which does not belong to this list");
- }
- var next = node.next;
- var prev = node.prev;
- if (next) {
- next.prev = prev;
- }
- if (prev) {
- prev.next = next;
- }
- if (node === this.head) {
- this.head = next;
- }
- if (node === this.tail) {
- this.tail = prev;
- }
- node.list.length--;
- node.next = null;
- node.prev = null;
- node.list = null;
- return next;
- };
- Yallist.prototype.unshiftNode = function(node) {
- if (node === this.head) {
- return;
- }
- if (node.list) {
- node.list.removeNode(node);
- }
- var head = this.head;
- node.list = this;
- node.next = head;
- if (head) {
- head.prev = node;
- }
- this.head = node;
- if (!this.tail) {
- this.tail = node;
- }
- this.length++;
- };
- Yallist.prototype.pushNode = function(node) {
- if (node === this.tail) {
- return;
- }
- if (node.list) {
- node.list.removeNode(node);
- }
- var tail = this.tail;
- node.list = this;
- node.prev = tail;
- if (tail) {
- tail.next = node;
- }
- this.tail = node;
- if (!this.head) {
- this.head = node;
- }
- this.length++;
- };
- Yallist.prototype.push = function() {
- for (var i = 0, l = arguments.length; i < l; i++) {
- push(this, arguments[i]);
- }
- return this.length;
- };
- Yallist.prototype.unshift = function() {
- for (var i = 0, l = arguments.length; i < l; i++) {
- unshift(this, arguments[i]);
- }
- return this.length;
- };
- Yallist.prototype.pop = function() {
- if (!this.tail) {
- return void 0;
- }
- var res = this.tail.value;
- this.tail = this.tail.prev;
- if (this.tail) {
- this.tail.next = null;
- } else {
- this.head = null;
- }
- this.length--;
- return res;
- };
- Yallist.prototype.shift = function() {
- if (!this.head) {
- return void 0;
- }
- var res = this.head.value;
- this.head = this.head.next;
- if (this.head) {
- this.head.prev = null;
- } else {
- this.tail = null;
- }
- this.length--;
- return res;
- };
- Yallist.prototype.forEach = function(fn2, thisp) {
- thisp = thisp || this;
- for (var walker = this.head, i = 0; walker !== null; i++) {
- fn2.call(thisp, walker.value, i, this);
- walker = walker.next;
- }
- };
- Yallist.prototype.forEachReverse = function(fn2, thisp) {
- thisp = thisp || this;
- for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
- fn2.call(thisp, walker.value, i, this);
- walker = walker.prev;
- }
- };
- Yallist.prototype.get = function(n) {
- for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
- walker = walker.next;
- }
- if (i === n && walker !== null) {
- return walker.value;
- }
- };
- Yallist.prototype.getReverse = function(n) {
- for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
- walker = walker.prev;
- }
- if (i === n && walker !== null) {
- return walker.value;
- }
- };
- Yallist.prototype.map = function(fn2, thisp) {
- thisp = thisp || this;
- var res = new Yallist();
- for (var walker = this.head; walker !== null; ) {
- res.push(fn2.call(thisp, walker.value, this));
- walker = walker.next;
- }
- return res;
- };
- Yallist.prototype.mapReverse = function(fn2, thisp) {
- thisp = thisp || this;
- var res = new Yallist();
- for (var walker = this.tail; walker !== null; ) {
- res.push(fn2.call(thisp, walker.value, this));
- walker = walker.prev;
- }
- return res;
- };
- Yallist.prototype.reduce = function(fn2, initial) {
- var acc;
- var walker = this.head;
- if (arguments.length > 1) {
- acc = initial;
- } else if (this.head) {
- walker = this.head.next;
- acc = this.head.value;
- } else {
- throw new TypeError("Reduce of empty list with no initial value");
- }
- for (var i = 0; walker !== null; i++) {
- acc = fn2(acc, walker.value, i);
- walker = walker.next;
- }
- return acc;
- };
- Yallist.prototype.reduceReverse = function(fn2, initial) {
- var acc;
- var walker = this.tail;
- if (arguments.length > 1) {
- acc = initial;
- } else if (this.tail) {
- walker = this.tail.prev;
- acc = this.tail.value;
- } else {
- throw new TypeError("Reduce of empty list with no initial value");
- }
- for (var i = this.length - 1; walker !== null; i--) {
- acc = fn2(acc, walker.value, i);
- walker = walker.prev;
- }
- return acc;
- };
- Yallist.prototype.toArray = function() {
- var arr = new Array(this.length);
- for (var i = 0, walker = this.head; walker !== null; i++) {
- arr[i] = walker.value;
- walker = walker.next;
- }
- return arr;
- };
- Yallist.prototype.toArrayReverse = function() {
- var arr = new Array(this.length);
- for (var i = 0, walker = this.tail; walker !== null; i++) {
- arr[i] = walker.value;
- walker = walker.prev;
- }
- return arr;
- };
- Yallist.prototype.slice = function(from, to) {
- to = to || this.length;
- if (to < 0) {
- to += this.length;
- }
- from = from || 0;
- if (from < 0) {
- from += this.length;
- }
- var ret = new Yallist();
- if (to < from || to < 0) {
- return ret;
- }
- if (from < 0) {
- from = 0;
- }
- if (to > this.length) {
- to = this.length;
- }
- for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
- walker = walker.next;
- }
- for (; walker !== null && i < to; i++, walker = walker.next) {
- ret.push(walker.value);
- }
- return ret;
- };
- Yallist.prototype.sliceReverse = function(from, to) {
- to = to || this.length;
- if (to < 0) {
- to += this.length;
- }
- from = from || 0;
- if (from < 0) {
- from += this.length;
- }
- var ret = new Yallist();
- if (to < from || to < 0) {
- return ret;
- }
- if (from < 0) {
- from = 0;
- }
- if (to > this.length) {
- to = this.length;
- }
- for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
- walker = walker.prev;
- }
- for (; walker !== null && i > from; i--, walker = walker.prev) {
- ret.push(walker.value);
- }
- return ret;
- };
- Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
- if (start > this.length) {
- start = this.length - 1;
- }
- if (start < 0) {
- start = this.length + start;
- }
- for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
- walker = walker.next;
- }
- var ret = [];
- for (var i = 0; walker && i < deleteCount; i++) {
- ret.push(walker.value);
- walker = this.removeNode(walker);
- }
- if (walker === null) {
- walker = this.tail;
- }
- if (walker !== this.head && walker !== this.tail) {
- walker = walker.prev;
- }
- for (var i = 0; i < nodes.length; i++) {
- walker = insert(this, walker, nodes[i]);
- }
- return ret;
- };
- Yallist.prototype.reverse = function() {
- var head = this.head;
- var tail = this.tail;
- for (var walker = head; walker !== null; walker = walker.prev) {
- var p = walker.prev;
- walker.prev = walker.next;
- walker.next = p;
- }
- this.head = tail;
- this.tail = head;
- return this;
- };
- function insert(self2, node, value) {
- var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2);
- if (inserted.next === null) {
- self2.tail = inserted;
- }
- if (inserted.prev === null) {
- self2.head = inserted;
- }
- self2.length++;
- return inserted;
- }
- function push(self2, item) {
- self2.tail = new Node(item, self2.tail, null, self2);
- if (!self2.head) {
- self2.head = self2.tail;
- }
- self2.length++;
- }
- function unshift(self2, item) {
- self2.head = new Node(item, null, self2.head, self2);
- if (!self2.tail) {
- self2.tail = self2.head;
- }
- self2.length++;
- }
- function Node(value, prev, next, list) {
- if (!(this instanceof Node)) {
- return new Node(value, prev, next, list);
- }
- this.list = list;
- this.value = value;
- if (prev) {
- prev.next = this;
- this.prev = prev;
- } else {
- this.prev = null;
- }
- if (next) {
- next.prev = this;
- this.next = next;
- } else {
- this.next = null;
- }
- }
- try {
- require_iterator()(Yallist);
- } catch (er) {
- }
- }
-});
-
-// node_modules/semver/node_modules/lru-cache/index.js
-var require_lru_cache = __commonJS({
- "node_modules/semver/node_modules/lru-cache/index.js"(exports2, module2) {
- "use strict";
- var Yallist = require_yallist();
- var MAX = Symbol("max");
- var LENGTH = Symbol("length");
- var LENGTH_CALCULATOR = Symbol("lengthCalculator");
- var ALLOW_STALE = Symbol("allowStale");
- var MAX_AGE = Symbol("maxAge");
- var DISPOSE = Symbol("dispose");
- var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet");
- var LRU_LIST = Symbol("lruList");
- var CACHE = Symbol("cache");
- var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet");
- var naiveLength = () => 1;
- var LRUCache = class {
- constructor(options) {
- if (typeof options === "number")
- options = { max: options };
- if (!options)
- options = {};
- if (options.max && (typeof options.max !== "number" || options.max < 0))
- throw new TypeError("max must be a non-negative number");
- const max = this[MAX] = options.max || Infinity;
- const lc = options.length || naiveLength;
- this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc;
- this[ALLOW_STALE] = options.stale || false;
- if (options.maxAge && typeof options.maxAge !== "number")
- throw new TypeError("maxAge must be a number");
- this[MAX_AGE] = options.maxAge || 0;
- this[DISPOSE] = options.dispose;
- this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
- this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
- this.reset();
- }
- // resize the cache when the max changes.
- set max(mL) {
- if (typeof mL !== "number" || mL < 0)
- throw new TypeError("max must be a non-negative number");
- this[MAX] = mL || Infinity;
- trim(this);
- }
- get max() {
- return this[MAX];
- }
- set allowStale(allowStale) {
- this[ALLOW_STALE] = !!allowStale;
- }
- get allowStale() {
- return this[ALLOW_STALE];
- }
- set maxAge(mA) {
- if (typeof mA !== "number")
- throw new TypeError("maxAge must be a non-negative number");
- this[MAX_AGE] = mA;
- trim(this);
- }
- get maxAge() {
- return this[MAX_AGE];
- }
- // resize the cache when the lengthCalculator changes.
- set lengthCalculator(lC) {
- if (typeof lC !== "function")
- lC = naiveLength;
- if (lC !== this[LENGTH_CALCULATOR]) {
- this[LENGTH_CALCULATOR] = lC;
- this[LENGTH] = 0;
- this[LRU_LIST].forEach((hit) => {
- hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
- this[LENGTH] += hit.length;
- });
- }
- trim(this);
- }
- get lengthCalculator() {
- return this[LENGTH_CALCULATOR];
- }
- get length() {
- return this[LENGTH];
- }
- get itemCount() {
- return this[LRU_LIST].length;
- }
- rforEach(fn2, thisp) {
- thisp = thisp || this;
- for (let walker = this[LRU_LIST].tail; walker !== null; ) {
- const prev = walker.prev;
- forEachStep(this, fn2, walker, thisp);
- walker = prev;
- }
- }
- forEach(fn2, thisp) {
- thisp = thisp || this;
- for (let walker = this[LRU_LIST].head; walker !== null; ) {
- const next = walker.next;
- forEachStep(this, fn2, walker, thisp);
- walker = next;
- }
- }
- keys() {
- return this[LRU_LIST].toArray().map((k) => k.key);
- }
- values() {
- return this[LRU_LIST].toArray().map((k) => k.value);
- }
- reset() {
- if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
- this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value));
- }
- this[CACHE] = /* @__PURE__ */ new Map();
- this[LRU_LIST] = new Yallist();
- this[LENGTH] = 0;
- }
- dump() {
- return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : {
- k: hit.key,
- v: hit.value,
- e: hit.now + (hit.maxAge || 0)
- }).toArray().filter((h) => h);
- }
- dumpLru() {
- return this[LRU_LIST];
- }
- set(key, value, maxAge) {
- maxAge = maxAge || this[MAX_AGE];
- if (maxAge && typeof maxAge !== "number")
- throw new TypeError("maxAge must be a number");
- const now = maxAge ? Date.now() : 0;
- const len = this[LENGTH_CALCULATOR](value, key);
- if (this[CACHE].has(key)) {
- if (len > this[MAX]) {
- del(this, this[CACHE].get(key));
- return false;
- }
- const node = this[CACHE].get(key);
- const item = node.value;
- if (this[DISPOSE]) {
- if (!this[NO_DISPOSE_ON_SET])
- this[DISPOSE](key, item.value);
- }
- item.now = now;
- item.maxAge = maxAge;
- item.value = value;
- this[LENGTH] += len - item.length;
- item.length = len;
- this.get(key);
- trim(this);
- return true;
- }
- const hit = new Entry(key, value, len, now, maxAge);
- if (hit.length > this[MAX]) {
- if (this[DISPOSE])
- this[DISPOSE](key, value);
- return false;
- }
- this[LENGTH] += hit.length;
- this[LRU_LIST].unshift(hit);
- this[CACHE].set(key, this[LRU_LIST].head);
- trim(this);
- return true;
- }
- has(key) {
- if (!this[CACHE].has(key))
- return false;
- const hit = this[CACHE].get(key).value;
- return !isStale(this, hit);
- }
- get(key) {
- return get(this, key, true);
- }
- peek(key) {
- return get(this, key, false);
- }
- pop() {
- const node = this[LRU_LIST].tail;
- if (!node)
- return null;
- del(this, node);
- return node.value;
- }
- del(key) {
- del(this, this[CACHE].get(key));
- }
- load(arr) {
- this.reset();
- const now = Date.now();
- for (let l = arr.length - 1; l >= 0; l--) {
- const hit = arr[l];
- const expiresAt = hit.e || 0;
- if (expiresAt === 0)
- this.set(hit.k, hit.v);
- else {
- const maxAge = expiresAt - now;
- if (maxAge > 0) {
- this.set(hit.k, hit.v, maxAge);
- }
- }
- }
- }
- prune() {
- this[CACHE].forEach((value, key) => get(this, key, false));
- }
- };
- var get = (self2, key, doUse) => {
- const node = self2[CACHE].get(key);
- if (node) {
- const hit = node.value;
- if (isStale(self2, hit)) {
- del(self2, node);
- if (!self2[ALLOW_STALE])
- return void 0;
- } else {
- if (doUse) {
- if (self2[UPDATE_AGE_ON_GET])
- node.value.now = Date.now();
- self2[LRU_LIST].unshiftNode(node);
- }
- }
- return hit.value;
- }
- };
- var isStale = (self2, hit) => {
- if (!hit || !hit.maxAge && !self2[MAX_AGE])
- return false;
- const diff = Date.now() - hit.now;
- return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE];
- };
- var trim = (self2) => {
- if (self2[LENGTH] > self2[MAX]) {
- for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) {
- const prev = walker.prev;
- del(self2, walker);
- walker = prev;
- }
- }
- };
- var del = (self2, node) => {
- if (node) {
- const hit = node.value;
- if (self2[DISPOSE])
- self2[DISPOSE](hit.key, hit.value);
- self2[LENGTH] -= hit.length;
- self2[CACHE].delete(hit.key);
- self2[LRU_LIST].removeNode(node);
- }
- };
- var Entry = class {
- constructor(key, value, length, now, maxAge) {
- this.key = key;
- this.value = value;
- this.length = length;
- this.now = now;
- this.maxAge = maxAge || 0;
- }
- };
- var forEachStep = (self2, fn2, node, thisp) => {
- let hit = node.value;
- if (isStale(self2, hit)) {
- del(self2, node);
- if (!self2[ALLOW_STALE])
- hit = void 0;
- }
- if (hit)
- fn2.call(thisp, hit.value, hit.key, self2);
- };
- module2.exports = LRUCache;
- }
-});
-
-// node_modules/semver/classes/range.js
-var require_range = __commonJS({
- "node_modules/semver/classes/range.js"(exports2, module2) {
- var Range = class {
- constructor(range, options) {
- options = parseOptions(options);
- if (range instanceof Range) {
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
- return range;
- } else {
- return new Range(range.raw, options);
- }
- }
- if (range instanceof Comparator) {
- this.raw = range.value;
- this.set = [[range]];
- this.format();
- return this;
- }
- this.options = options;
- this.loose = !!options.loose;
- this.includePrerelease = !!options.includePrerelease;
- this.raw = range;
- this.set = range.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
- if (!this.set.length) {
- throw new TypeError(`Invalid SemVer Range: ${range}`);
- }
- if (this.set.length > 1) {
- const first = this.set[0];
- this.set = this.set.filter((c) => !isNullSet(c[0]));
- if (this.set.length === 0) {
- this.set = [first];
- } else if (this.set.length > 1) {
- for (const c of this.set) {
- if (c.length === 1 && isAny(c[0])) {
- this.set = [c];
- break;
- }
- }
- }
- }
- this.format();
- }
- format() {
- this.range = this.set.map((comps) => {
- return comps.join(" ").trim();
- }).join("||").trim();
- return this.range;
- }
- toString() {
- return this.range;
- }
- parseRange(range) {
- range = range.trim();
- const memoOpts = Object.keys(this.options).join(",");
- const memoKey = `parseRange:${memoOpts}:${range}`;
- const cached = cache.get(memoKey);
- if (cached) {
- return cached;
- }
- const loose = this.options.loose;
- const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
- range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
- debug("hyphen replace", range);
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
- debug("comparator trim", range);
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
- range = range.replace(re[t.CARETTRIM], caretTrimReplace);
- range = range.split(/\s+/).join(" ");
- let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
- if (loose) {
- rangeList = rangeList.filter((comp) => {
- debug("loose invalid filter", comp, this.options);
- return !!comp.match(re[t.COMPARATORLOOSE]);
- });
- }
- debug("range list", rangeList);
- const rangeMap = /* @__PURE__ */ new Map();
- const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
- for (const comp of comparators) {
- if (isNullSet(comp)) {
- return [comp];
- }
- rangeMap.set(comp.value, comp);
- }
- if (rangeMap.size > 1 && rangeMap.has("")) {
- rangeMap.delete("");
- }
- const result = [...rangeMap.values()];
- cache.set(memoKey, result);
- return result;
- }
- intersects(range, options) {
- if (!(range instanceof Range)) {
- throw new TypeError("a Range is required");
- }
- return this.set.some((thisComparators) => {
- return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
- return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
- return rangeComparators.every((rangeComparator) => {
- return thisComparator.intersects(rangeComparator, options);
- });
- });
- });
- });
- }
- // if ANY of the sets match ALL of its comparators, then pass
- test(version2) {
- if (!version2) {
- return false;
- }
- if (typeof version2 === "string") {
- try {
- version2 = new SemVer(version2, this.options);
- } catch (er) {
- return false;
- }
- }
- for (let i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version2, this.options)) {
- return true;
- }
- }
- return false;
- }
- };
- module2.exports = Range;
- var LRU = require_lru_cache();
- var cache = new LRU({ max: 1e3 });
- var parseOptions = require_parse_options();
- var Comparator = require_comparator();
- var debug = require_debug();
- var SemVer = require_semver();
- var {
- re,
- t,
- comparatorTrimReplace,
- tildeTrimReplace,
- caretTrimReplace
- } = require_re();
- var isNullSet = (c) => c.value === "<0.0.0-0";
- var isAny = (c) => c.value === "";
- var isSatisfiable = (comparators, options) => {
- let result = true;
- const remainingComparators = comparators.slice();
- let testComparator = remainingComparators.pop();
- while (result && remainingComparators.length) {
- result = remainingComparators.every((otherComparator) => {
- return testComparator.intersects(otherComparator, options);
- });
- testComparator = remainingComparators.pop();
- }
- return result;
- };
- var parseComparator = (comp, options) => {
- debug("comp", comp, options);
- comp = replaceCarets(comp, options);
- debug("caret", comp);
- comp = replaceTildes(comp, options);
- debug("tildes", comp);
- comp = replaceXRanges(comp, options);
- debug("xrange", comp);
- comp = replaceStars(comp, options);
- debug("stars", comp);
- return comp;
- };
- var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
- var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => {
- return replaceTilde(c, options);
- }).join(" ");
- var replaceTilde = (comp, options) => {
- const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
- return comp.replace(r, (_, M, m, p, pr) => {
- debug("tilde", comp, _, M, m, p, pr);
- let ret;
- if (isX(M)) {
- ret = "";
- } else if (isX(m)) {
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
- } else if (isX(p)) {
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
- } else if (pr) {
- debug("replaceTilde pr", pr);
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
- } else {
- ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
- }
- debug("tilde return", ret);
- return ret;
- });
- };
- var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => {
- return replaceCaret(c, options);
- }).join(" ");
- var replaceCaret = (comp, options) => {
- debug("caret", comp, options);
- const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
- const z = options.includePrerelease ? "-0" : "";
- return comp.replace(r, (_, M, m, p, pr) => {
- debug("caret", comp, _, M, m, p, pr);
- let ret;
- if (isX(M)) {
- ret = "";
- } else if (isX(m)) {
- ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
- } else if (isX(p)) {
- if (M === "0") {
- ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
- } else {
- ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
- }
- } else if (pr) {
- debug("replaceCaret pr", pr);
- if (M === "0") {
- if (m === "0") {
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
- } else {
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
- }
- } else {
- ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
- }
- } else {
- debug("no pr");
- if (M === "0") {
- if (m === "0") {
- ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
- } else {
- ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
- }
- } else {
- ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
- }
- }
- debug("caret return", ret);
- return ret;
- });
- };
- var replaceXRanges = (comp, options) => {
- debug("replaceXRanges", comp, options);
- return comp.split(/\s+/).map((c) => {
- return replaceXRange(c, options);
- }).join(" ");
- };
- var replaceXRange = (comp, options) => {
- comp = comp.trim();
- const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
- return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
- debug("xRange", comp, ret, gtlt, M, m, p, pr);
- const xM = isX(M);
- const xm = xM || isX(m);
- const xp = xm || isX(p);
- const anyX = xp;
- if (gtlt === "=" && anyX) {
- gtlt = "";
- }
- pr = options.includePrerelease ? "-0" : "";
- if (xM) {
- if (gtlt === ">" || gtlt === "<") {
- ret = "<0.0.0-0";
- } else {
- ret = "*";
- }
- } else if (gtlt && anyX) {
- if (xm) {
- m = 0;
- }
- p = 0;
- if (gtlt === ">") {
- gtlt = ">=";
- if (xm) {
- M = +M + 1;
- m = 0;
- p = 0;
- } else {
- m = +m + 1;
- p = 0;
- }
- } else if (gtlt === "<=") {
- gtlt = "<";
- if (xm) {
- M = +M + 1;
- } else {
- m = +m + 1;
- }
- }
- if (gtlt === "<") {
- pr = "-0";
- }
- ret = `${gtlt + M}.${m}.${p}${pr}`;
- } else if (xm) {
- ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
- } else if (xp) {
- ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
- }
- debug("xRange return", ret);
- return ret;
- });
- };
- var replaceStars = (comp, options) => {
- debug("replaceStars", comp, options);
- return comp.trim().replace(re[t.STAR], "");
- };
- var replaceGTE0 = (comp, options) => {
- debug("replaceGTE0", comp, options);
- return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
- };
- var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => {
- if (isX(fM)) {
- from = "";
- } else if (isX(fm)) {
- from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
- } else if (isX(fp)) {
- from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
- } else if (fpr) {
- from = `>=${from}`;
- } else {
- from = `>=${from}${incPr ? "-0" : ""}`;
- }
- if (isX(tM)) {
- to = "";
- } else if (isX(tm)) {
- to = `<${+tM + 1}.0.0-0`;
- } else if (isX(tp)) {
- to = `<${tM}.${+tm + 1}.0-0`;
- } else if (tpr) {
- to = `<=${tM}.${tm}.${tp}-${tpr}`;
- } else if (incPr) {
- to = `<${tM}.${tm}.${+tp + 1}-0`;
- } else {
- to = `<=${to}`;
- }
- return `${from} ${to}`.trim();
- };
- var testSet = (set, version2, options) => {
- for (let i = 0; i < set.length; i++) {
- if (!set[i].test(version2)) {
- return false;
- }
- }
- if (version2.prerelease.length && !options.includePrerelease) {
- for (let i = 0; i < set.length; i++) {
- debug(set[i].semver);
- if (set[i].semver === Comparator.ANY) {
- continue;
- }
- if (set[i].semver.prerelease.length > 0) {
- const allowed = set[i].semver;
- if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
- return true;
- }
- }
- }
- return false;
- }
- return true;
- };
- }
-});
-
-// node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
- "node_modules/semver/classes/comparator.js"(exports2, module2) {
- var ANY = Symbol("SemVer ANY");
- var Comparator = class {
- static get ANY() {
- return ANY;
- }
- constructor(comp, options) {
- options = parseOptions(options);
- if (comp instanceof Comparator) {
- if (comp.loose === !!options.loose) {
- return comp;
- } else {
- comp = comp.value;
- }
- }
- debug("comparator", comp, options);
- this.options = options;
- this.loose = !!options.loose;
- this.parse(comp);
- if (this.semver === ANY) {
- this.value = "";
- } else {
- this.value = this.operator + this.semver.version;
- }
- debug("comp", this);
- }
- parse(comp) {
- const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
- const m = comp.match(r);
- if (!m) {
- throw new TypeError(`Invalid comparator: ${comp}`);
- }
- this.operator = m[1] !== void 0 ? m[1] : "";
- if (this.operator === "=") {
- this.operator = "";
- }
- if (!m[2]) {
- this.semver = ANY;
- } else {
- this.semver = new SemVer(m[2], this.options.loose);
- }
- }
- toString() {
- return this.value;
- }
- test(version2) {
- debug("Comparator.test", version2, this.options.loose);
- if (this.semver === ANY || version2 === ANY) {
- return true;
- }
- if (typeof version2 === "string") {
- try {
- version2 = new SemVer(version2, this.options);
- } catch (er) {
- return false;
- }
- }
- return cmp(version2, this.operator, this.semver, this.options);
- }
- intersects(comp, options) {
- if (!(comp instanceof Comparator)) {
- throw new TypeError("a Comparator is required");
- }
- if (!options || typeof options !== "object") {
- options = {
- loose: !!options,
- includePrerelease: false
- };
- }
- if (this.operator === "") {
- if (this.value === "") {
- return true;
- }
- return new Range(comp.value, options).test(this.value);
- } else if (comp.operator === "") {
- if (comp.value === "") {
- return true;
- }
- return new Range(this.value, options).test(comp.semver);
- }
- const sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
- const sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
- const sameSemVer = this.semver.version === comp.semver.version;
- const differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
- const oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<");
- const oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">");
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
- }
- };
- module2.exports = Comparator;
- var parseOptions = require_parse_options();
- var { re, t } = require_re();
- var cmp = require_cmp();
- var debug = require_debug();
- var SemVer = require_semver();
- var Range = require_range();
- }
-});
-
-// node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
- "node_modules/semver/functions/satisfies.js"(exports2, module2) {
- var Range = require_range();
- var satisfies = (version2, range, options) => {
- try {
- range = new Range(range, options);
- } catch (er) {
- return false;
- }
- return range.test(version2);
- };
- module2.exports = satisfies;
- }
-});
-
-// node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
- "node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
- var Range = require_range();
- var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
- module2.exports = toComparators;
- }
-});
-
-// node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
- "node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
- var SemVer = require_semver();
- var Range = require_range();
- var maxSatisfying = (versions, range, options) => {
- let max = null;
- let maxSV = null;
- let rangeObj = null;
- try {
- rangeObj = new Range(range, options);
- } catch (er) {
- return null;
- }
- versions.forEach((v) => {
- if (rangeObj.test(v)) {
- if (!max || maxSV.compare(v) === -1) {
- max = v;
- maxSV = new SemVer(max, options);
- }
- }
- });
- return max;
- };
- module2.exports = maxSatisfying;
- }
-});
-
-// node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
- "node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
- var SemVer = require_semver();
- var Range = require_range();
- var minSatisfying = (versions, range, options) => {
- let min = null;
- let minSV = null;
- let rangeObj = null;
- try {
- rangeObj = new Range(range, options);
- } catch (er) {
- return null;
- }
- versions.forEach((v) => {
- if (rangeObj.test(v)) {
- if (!min || minSV.compare(v) === 1) {
- min = v;
- minSV = new SemVer(min, options);
- }
- }
- });
- return min;
- };
- module2.exports = minSatisfying;
- }
-});
-
-// node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
- "node_modules/semver/ranges/min-version.js"(exports2, module2) {
- var SemVer = require_semver();
- var Range = require_range();
- var gt = require_gt();
- var minVersion = (range, loose) => {
- range = new Range(range, loose);
- let minver = new SemVer("0.0.0");
- if (range.test(minver)) {
- return minver;
- }
- minver = new SemVer("0.0.0-0");
- if (range.test(minver)) {
- return minver;
- }
- minver = null;
- for (let i = 0; i < range.set.length; ++i) {
- const comparators = range.set[i];
- let setMin = null;
- comparators.forEach((comparator) => {
- const compver = new SemVer(comparator.semver.version);
- switch (comparator.operator) {
- case ">":
- if (compver.prerelease.length === 0) {
- compver.patch++;
- } else {
- compver.prerelease.push(0);
- }
- compver.raw = compver.format();
- case "":
- case ">=":
- if (!setMin || gt(compver, setMin)) {
- setMin = compver;
- }
- break;
- case "<":
- case "<=":
- break;
- default:
- throw new Error(`Unexpected operation: ${comparator.operator}`);
- }
- });
- if (setMin && (!minver || gt(minver, setMin))) {
- minver = setMin;
- }
- }
- if (minver && range.test(minver)) {
- return minver;
- }
- return null;
- };
- module2.exports = minVersion;
- }
-});
-
-// node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
- "node_modules/semver/ranges/valid.js"(exports2, module2) {
- var Range = require_range();
- var validRange = (range, options) => {
- try {
- return new Range(range, options).range || "*";
- } catch (er) {
- return null;
- }
- };
- module2.exports = validRange;
- }
-});
-
-// node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
- "node_modules/semver/ranges/outside.js"(exports2, module2) {
- var SemVer = require_semver();
- var Comparator = require_comparator();
- var { ANY } = Comparator;
- var Range = require_range();
- var satisfies = require_satisfies();
- var gt = require_gt();
- var lt = require_lt();
- var lte = require_lte();
- var gte = require_gte();
- var outside = (version2, range, hilo, options) => {
- version2 = new SemVer(version2, options);
- range = new Range(range, options);
- let gtfn, ltefn, ltfn, comp, ecomp;
- switch (hilo) {
- case ">":
- gtfn = gt;
- ltefn = lte;
- ltfn = lt;
- comp = ">";
- ecomp = ">=";
- break;
- case "<":
- gtfn = lt;
- ltefn = gte;
- ltfn = gt;
- comp = "<";
- ecomp = "<=";
- break;
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"');
- }
- if (satisfies(version2, range, options)) {
- return false;
- }
- for (let i = 0; i < range.set.length; ++i) {
- const comparators = range.set[i];
- let high = null;
- let low = null;
- comparators.forEach((comparator) => {
- if (comparator.semver === ANY) {
- comparator = new Comparator(">=0.0.0");
- }
- high = high || comparator;
- low = low || comparator;
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator;
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator;
- }
- });
- if (high.operator === comp || high.operator === ecomp) {
- return false;
- }
- if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
- return false;
- } else if (low.operator === ecomp && ltfn(version2, low.semver)) {
- return false;
- }
- }
- return true;
- };
- module2.exports = outside;
- }
-});
-
-// node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
- "node_modules/semver/ranges/gtr.js"(exports2, module2) {
- var outside = require_outside();
- var gtr = (version2, range, options) => outside(version2, range, ">", options);
- module2.exports = gtr;
- }
-});
-
-// node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
- "node_modules/semver/ranges/ltr.js"(exports2, module2) {
- var outside = require_outside();
- var ltr = (version2, range, options) => outside(version2, range, "<", options);
- module2.exports = ltr;
- }
-});
-
-// node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
- "node_modules/semver/ranges/intersects.js"(exports2, module2) {
- var Range = require_range();
- var intersects = (r1, r2, options) => {
- r1 = new Range(r1, options);
- r2 = new Range(r2, options);
- return r1.intersects(r2);
- };
- module2.exports = intersects;
- }
-});
-
-// node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
- "node_modules/semver/ranges/simplify.js"(exports2, module2) {
- var satisfies = require_satisfies();
- var compare = require_compare();
- module2.exports = (versions, range, options) => {
- const set = [];
- let first = null;
- let prev = null;
- const v = versions.sort((a, b) => compare(a, b, options));
- for (const version2 of v) {
- const included = satisfies(version2, range, options);
- if (included) {
- prev = version2;
- if (!first) {
- first = version2;
- }
- } else {
- if (prev) {
- set.push([first, prev]);
- }
- prev = null;
- first = null;
- }
- }
- if (first) {
- set.push([first, null]);
- }
- const ranges = [];
- for (const [min, max] of set) {
- if (min === max) {
- ranges.push(min);
- } else if (!max && min === v[0]) {
- ranges.push("*");
- } else if (!max) {
- ranges.push(`>=${min}`);
- } else if (min === v[0]) {
- ranges.push(`<=${max}`);
- } else {
- ranges.push(`${min} - ${max}`);
- }
- }
- const simplified = ranges.join(" || ");
- const original = typeof range.raw === "string" ? range.raw : String(range);
- return simplified.length < original.length ? simplified : range;
- };
- }
-});
-
-// node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
- "node_modules/semver/ranges/subset.js"(exports2, module2) {
- var Range = require_range();
- var Comparator = require_comparator();
- var { ANY } = Comparator;
- var satisfies = require_satisfies();
- var compare = require_compare();
- var subset = (sub, dom, options = {}) => {
- if (sub === dom) {
- return true;
- }
- sub = new Range(sub, options);
- dom = new Range(dom, options);
- let sawNonNull = false;
- OUTER:
- for (const simpleSub of sub.set) {
- for (const simpleDom of dom.set) {
- const isSub = simpleSubset(simpleSub, simpleDom, options);
- sawNonNull = sawNonNull || isSub !== null;
- if (isSub) {
- continue OUTER;
- }
- }
- if (sawNonNull) {
- return false;
- }
- }
- return true;
- };
- var simpleSubset = (sub, dom, options) => {
- if (sub === dom) {
- return true;
- }
- if (sub.length === 1 && sub[0].semver === ANY) {
- if (dom.length === 1 && dom[0].semver === ANY) {
- return true;
- } else if (options.includePrerelease) {
- sub = [new Comparator(">=0.0.0-0")];
- } else {
- sub = [new Comparator(">=0.0.0")];
- }
- }
- if (dom.length === 1 && dom[0].semver === ANY) {
- if (options.includePrerelease) {
- return true;
- } else {
- dom = [new Comparator(">=0.0.0")];
- }
- }
- const eqSet = /* @__PURE__ */ new Set();
- let gt, lt;
- for (const c of sub) {
- if (c.operator === ">" || c.operator === ">=") {
- gt = higherGT(gt, c, options);
- } else if (c.operator === "<" || c.operator === "<=") {
- lt = lowerLT(lt, c, options);
- } else {
- eqSet.add(c.semver);
- }
- }
- if (eqSet.size > 1) {
- return null;
- }
- let gtltComp;
- if (gt && lt) {
- gtltComp = compare(gt.semver, lt.semver, options);
- if (gtltComp > 0) {
- return null;
- } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
- return null;
- }
- }
- for (const eq of eqSet) {
- if (gt && !satisfies(eq, String(gt), options)) {
- return null;
- }
- if (lt && !satisfies(eq, String(lt), options)) {
- return null;
- }
- for (const c of dom) {
- if (!satisfies(eq, String(c), options)) {
- return false;
- }
- }
- return true;
- }
- let higher, lower;
- let hasDomLT, hasDomGT;
- let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
- let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
- if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
- needDomLTPre = false;
- }
- for (const c of dom) {
- hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
- hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
- if (gt) {
- if (needDomGTPre) {
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
- needDomGTPre = false;
- }
- }
- if (c.operator === ">" || c.operator === ">=") {
- higher = higherGT(gt, c, options);
- if (higher === c && higher !== gt) {
- return false;
- }
- } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
- return false;
- }
- }
- if (lt) {
- if (needDomLTPre) {
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
- needDomLTPre = false;
- }
- }
- if (c.operator === "<" || c.operator === "<=") {
- lower = lowerLT(lt, c, options);
- if (lower === c && lower !== lt) {
- return false;
- }
- } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
- return false;
- }
- }
- if (!c.operator && (lt || gt) && gtltComp !== 0) {
- return false;
- }
- }
- if (gt && hasDomLT && !lt && gtltComp !== 0) {
- return false;
- }
- if (lt && hasDomGT && !gt && gtltComp !== 0) {
- return false;
- }
- if (needDomGTPre || needDomLTPre) {
- return false;
- }
- return true;
- };
- var higherGT = (a, b, options) => {
- if (!a) {
- return b;
- }
- const comp = compare(a.semver, b.semver, options);
- return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
- };
- var lowerLT = (a, b, options) => {
- if (!a) {
- return b;
- }
- const comp = compare(a.semver, b.semver, options);
- return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
- };
- module2.exports = subset;
- }
-});
-
-// node_modules/semver/index.js
-var require_semver2 = __commonJS({
- "node_modules/semver/index.js"(exports2, module2) {
- var internalRe = require_re();
- var constants = require_constants();
- var SemVer = require_semver();
- var identifiers = require_identifiers();
- var parse2 = require_parse();
- var valid = require_valid();
- var clean = require_clean();
- var inc = require_inc();
- var diff = require_diff();
- var major = require_major();
- var minor = require_minor();
- var patch = require_patch();
- var prerelease = require_prerelease();
- var compare = require_compare();
- var rcompare = require_rcompare();
- var compareLoose = require_compare_loose();
- var compareBuild = require_compare_build();
- var sort = require_sort();
- var rsort = require_rsort();
- var gt = require_gt();
- var lt = require_lt();
- var eq = require_eq();
- var neq = require_neq();
- var gte = require_gte();
- var lte = require_lte();
- var cmp = require_cmp();
- var coerce = require_coerce();
- var Comparator = require_comparator();
- var Range = require_range();
- var satisfies = require_satisfies();
- var toComparators = require_to_comparators();
- var maxSatisfying = require_max_satisfying();
- var minSatisfying = require_min_satisfying();
- var minVersion = require_min_version();
- var validRange = require_valid2();
- var outside = require_outside();
- var gtr = require_gtr();
- var ltr = require_ltr();
- var intersects = require_intersects();
- var simplifyRange = require_simplify();
- var subset = require_subset();
- module2.exports = {
- parse: parse2,
- valid,
- clean,
- inc,
- diff,
- major,
- minor,
- patch,
- prerelease,
- compare,
- rcompare,
- compareLoose,
- compareBuild,
- sort,
- rsort,
- gt,
- lt,
- eq,
- neq,
- gte,
- lte,
- cmp,
- coerce,
- Comparator,
- Range,
- satisfies,
- toComparators,
- maxSatisfying,
- minSatisfying,
- minVersion,
- validRange,
- outside,
- gtr,
- ltr,
- intersects,
- simplifyRange,
- subset,
- SemVer,
- re: internalRe.re,
- src: internalRe.src,
- tokens: internalRe.t,
- SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
- compareIdentifiers: identifiers.compareIdentifiers,
- rcompareIdentifiers: identifiers.rcompareIdentifiers
- };
- }
-});
-
-// node_modules/release-please/build/src/version.js
-var require_version = __commonJS({
- "node_modules/release-please/build/src/version.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.Version = void 0;
- var semver = require_semver2();
- var VERSION_REGEX = /(?${release.component ? `${release.component}: ` : ""}${(_a = release.version) === null || _a === void 0 ? void 0 : _a.toString()}
-
-${release.notes}
-${release.component}: ${(_a = release.version) === null || _a === void 0 ? void 0 : _a.toString()}
-
-${release.notes}
-${pkgKey}
-
-${entryUpdate}
-
-");
- }
- ret.push(escapeHTML(change.value));
- if (change.added) {
- ret.push("");
- } else if (change.removed) {
- ret.push("");
- }
- }
- return ret.join("");
- }
- function escapeHTML(s) {
- var n = s;
- n = n.replace(/&/g, "&");
- n = n.replace(//g, ">");
- n = n.replace(/"/g, """);
- return n;
- }
- }
-});
-
-// node_modules/code-suggester/node_modules/diff/lib/index.js
-var require_lib16 = __commonJS({
- "node_modules/code-suggester/node_modules/diff/lib/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- Object.defineProperty(exports2, "Diff", {
- enumerable: true,
- get: function get() {
- return _base["default"];
- }
- });
- Object.defineProperty(exports2, "diffChars", {
- enumerable: true,
- get: function get() {
- return _character.diffChars;
- }
- });
- Object.defineProperty(exports2, "diffWords", {
- enumerable: true,
- get: function get() {
- return _word.diffWords;
- }
- });
- Object.defineProperty(exports2, "diffWordsWithSpace", {
- enumerable: true,
- get: function get() {
- return _word.diffWordsWithSpace;
- }
- });
- Object.defineProperty(exports2, "diffLines", {
- enumerable: true,
- get: function get() {
- return _line.diffLines;
- }
- });
- Object.defineProperty(exports2, "diffTrimmedLines", {
- enumerable: true,
- get: function get() {
- return _line.diffTrimmedLines;
- }
- });
- Object.defineProperty(exports2, "diffSentences", {
- enumerable: true,
- get: function get() {
- return _sentence.diffSentences;
- }
- });
- Object.defineProperty(exports2, "diffCss", {
- enumerable: true,
- get: function get() {
- return _css.diffCss;
- }
- });
- Object.defineProperty(exports2, "diffJson", {
- enumerable: true,
- get: function get() {
- return _json.diffJson;
- }
- });
- Object.defineProperty(exports2, "canonicalize", {
- enumerable: true,
- get: function get() {
- return _json.canonicalize;
- }
- });
- Object.defineProperty(exports2, "diffArrays", {
- enumerable: true,
- get: function get() {
- return _array.diffArrays;
- }
- });
- Object.defineProperty(exports2, "applyPatch", {
- enumerable: true,
- get: function get() {
- return _apply.applyPatch;
- }
- });
- Object.defineProperty(exports2, "applyPatches", {
- enumerable: true,
- get: function get() {
- return _apply.applyPatches;
- }
- });
- Object.defineProperty(exports2, "parsePatch", {
- enumerable: true,
- get: function get() {
- return _parse.parsePatch;
- }
- });
- Object.defineProperty(exports2, "merge", {
- enumerable: true,
- get: function get() {
- return _merge.merge;
- }
- });
- Object.defineProperty(exports2, "structuredPatch", {
- enumerable: true,
- get: function get() {
- return _create.structuredPatch;
- }
- });
- Object.defineProperty(exports2, "createTwoFilesPatch", {
- enumerable: true,
- get: function get() {
- return _create.createTwoFilesPatch;
- }
- });
- Object.defineProperty(exports2, "createPatch", {
- enumerable: true,
- get: function get() {
- return _create.createPatch;
- }
- });
- Object.defineProperty(exports2, "convertChangesToDMP", {
- enumerable: true,
- get: function get() {
- return _dmp.convertChangesToDMP;
- }
- });
- Object.defineProperty(exports2, "convertChangesToXML", {
- enumerable: true,
- get: function get() {
- return _xml.convertChangesToXML;
- }
- });
- var _base = _interopRequireDefault(require_base4());
- var _character = require_character();
- var _word = require_word();
- var _line = require_line();
- var _sentence = require_sentence();
- var _css = require_css();
- var _json = require_json2();
- var _array = require_array();
- var _apply = require_apply();
- var _parse = require_parse6();
- var _merge = require_merge3();
- var _create = require_create();
- var _dmp = require_dmp();
- var _xml = require_xml2();
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : { "default": obj };
- }
- }
-});
-
-// node_modules/code-suggester/build/src/utils/diff-utils.js
-var require_diff_utils = __commonJS({
- "node_modules/code-suggester/build/src/utils/diff-utils.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.getSuggestedHunks = exports2.parseAllHunks = exports2.parsePatch = void 0;
- var parseDiff = require_parse_diff();
- var diff_1 = require_lib16();
- var _DIFF_HEADER = `diff --git a/file.ext b/file.ext
-index cac8fbc..87f387c 100644
---- a/file.ext
-+++ b/file.ext
-`;
- function parsePatch(patch) {
- return parseAllHunks(_DIFF_HEADER + patch).get("file.ext") || [];
- }
- exports2.parsePatch = parsePatch;
- function parseAllHunks(diff) {
- const hunksByFile = /* @__PURE__ */ new Map();
- parseDiff(diff).forEach((file) => {
- const filename = file.to ? file.to : file.from;
- const chunks = file.chunks.map((chunk) => {
- let oldStart = chunk.oldStart;
- let newStart = chunk.newStart;
- let normalLines = 0;
- let changeSeen = false;
- const newLines = [];
- let previousLine = null;
- let nextLine = null;
- chunk.changes.forEach((change) => {
- const content = change.content.substring(1).replace(/[\n\r]+$/g, "");
- if (change.type === "normal") {
- normalLines++;
- if (changeSeen) {
- if (nextLine === null) {
- nextLine = content;
- }
- } else {
- previousLine = content;
- }
- } else {
- if (change.type === "add") {
- newLines.push(content);
- }
- if (!changeSeen) {
- oldStart += normalLines;
- newStart += normalLines;
- changeSeen = true;
- }
- }
- });
- const newEnd = newStart + chunk.newLines - normalLines - 1;
- const oldEnd = oldStart + chunk.oldLines - normalLines - 1;
- let hunk = {
- oldStart,
- oldEnd,
- newStart,
- newEnd,
- newContent: newLines
- };
- if (previousLine) {
- hunk = { ...hunk, previousLine };
- }
- if (nextLine) {
- hunk = { ...hunk, nextLine };
- }
- return hunk;
- });
- hunksByFile.set(filename, chunks);
- });
- return hunksByFile;
- }
- exports2.parseAllHunks = parseAllHunks;
- function getSuggestedHunks(oldContent, newContent) {
- const diff = (0, diff_1.createPatch)("unused", oldContent, newContent);
- return parseAllHunks(diff).get("unused") || [];
- }
- exports2.getSuggestedHunks = getSuggestedHunks;
- }
-});
-
-// node_modules/code-suggester/build/src/utils/hunk-utils.js
-var require_hunk_utils = __commonJS({
- "node_modules/code-suggester/build/src/utils/hunk-utils.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.partitionSuggestedHunksByScope = exports2.getRawSuggestionHunks = exports2.adjustHunkDown = exports2.adjustHunkUp = void 0;
- var diff_utils_1 = require_diff_utils();
- var logger_1 = require_logger3();
- function adjustHunkUp(hunk) {
- if (!hunk.previousLine) {
- return null;
- }
- return {
- oldStart: hunk.oldStart - 1,
- oldEnd: hunk.oldEnd,
- newStart: hunk.newStart - 1,
- newEnd: hunk.newEnd,
- newContent: [hunk.previousLine, ...hunk.newContent]
- };
- }
- exports2.adjustHunkUp = adjustHunkUp;
- function adjustHunkDown(hunk) {
- if (!hunk.nextLine) {
- return null;
- }
- return {
- oldStart: hunk.oldStart,
- oldEnd: hunk.oldEnd + 1,
- newStart: hunk.newStart,
- newEnd: hunk.newEnd + 1,
- newContent: hunk.newContent.concat(hunk.nextLine)
- };
- }
- exports2.adjustHunkDown = adjustHunkDown;
- function getRawSuggestionHunks(diffContents) {
- const fileHunks = /* @__PURE__ */ new Map();
- diffContents.forEach((fileDiffContent, fileName) => {
- if (fileDiffContent.oldContent === fileDiffContent.newContent) {
- return;
- }
- const hunks = (0, diff_utils_1.getSuggestedHunks)(fileDiffContent.oldContent, fileDiffContent.newContent);
- fileHunks.set(fileName, hunks);
- });
- logger_1.logger.info("Parsed ranges of old and new patch");
- return fileHunks;
- }
- exports2.getRawSuggestionHunks = getRawSuggestionHunks;
- function hunkOverlaps(validHunk, suggestedHunk) {
- return suggestedHunk.oldStart >= validHunk.newStart && suggestedHunk.oldEnd <= validHunk.newEnd;
- }
- function partitionFileHunks(pullRequestHunks, suggestedHunks) {
- let i = 0;
- let candidateHunk = pullRequestHunks[i];
- const validFileHunks = [];
- const invalidFileHunks = [];
- suggestedHunks.forEach((suggestedHunk) => {
- while (candidateHunk && suggestedHunk.oldStart > candidateHunk.newEnd) {
- i++;
- candidateHunk = pullRequestHunks[i];
- }
- if (!candidateHunk) {
- invalidFileHunks.push(suggestedHunk);
- return;
- }
- if (suggestedHunk.newEnd < suggestedHunk.newStart || suggestedHunk.oldEnd < suggestedHunk.oldStart) {
- let adjustedHunk = adjustHunkUp(suggestedHunk);
- if (adjustedHunk && hunkOverlaps(candidateHunk, adjustedHunk)) {
- validFileHunks.push(adjustedHunk);
- return;
- }
- adjustedHunk = adjustHunkDown(suggestedHunk);
- if (adjustedHunk && hunkOverlaps(candidateHunk, adjustedHunk)) {
- validFileHunks.push(adjustedHunk);
- return;
- }
- } else if (hunkOverlaps(candidateHunk, suggestedHunk)) {
- validFileHunks.push(suggestedHunk);
- return;
- }
- invalidFileHunks.push(suggestedHunk);
- });
- return { validFileHunks, invalidFileHunks };
- }
- function partitionSuggestedHunksByScope(pullRequestHunks, allSuggestedHunks) {
- const validHunks = /* @__PURE__ */ new Map();
- const invalidHunks = /* @__PURE__ */ new Map();
- allSuggestedHunks.forEach((suggestedHunks, filename) => {
- const pullRequestFileHunks = pullRequestHunks.get(filename);
- if (!pullRequestFileHunks) {
- invalidHunks.set(filename, suggestedHunks);
- return;
- }
- const { validFileHunks, invalidFileHunks } = partitionFileHunks(pullRequestFileHunks, suggestedHunks);
- if (validFileHunks.length > 0) {
- validHunks.set(filename, validFileHunks);
- }
- if (invalidFileHunks.length > 0) {
- invalidHunks.set(filename, invalidFileHunks);
- }
- });
- return { validHunks, invalidHunks };
- }
- exports2.partitionSuggestedHunksByScope = partitionSuggestedHunksByScope;
- }
-});
-
-// node_modules/code-suggester/build/src/github/review-pull-request.js
-var require_review_pull_request = __commonJS({
- "node_modules/code-suggester/build/src/github/review-pull-request.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.getPullRequestHunks = exports2.getCurrentPullRequestPatches = exports2.createPullRequestReview = exports2.makeInlineSuggestions = exports2.buildReviewComments = exports2.buildSummaryComment = void 0;
- var logger_1 = require_logger3();
- var diff_utils_1 = require_diff_utils();
- var hunk_utils_1 = require_hunk_utils();
- function hunkErrorMessage(hunk) {
- return ` * lines ${hunk.oldStart}-${hunk.oldEnd}`;
- }
- function fileErrorMessage(filename, hunks) {
- return `* ${filename}
-` + hunks.map(hunkErrorMessage).join("\n");
- }
- function buildSummaryComment(invalidHunks) {
- if (invalidHunks.size === 0) {
- return "";
- }
- return "Some suggestions could not be made:\n" + Array.from(invalidHunks, ([filename, hunks]) => fileErrorMessage(filename, hunks)).join("\n");
- }
- exports2.buildSummaryComment = buildSummaryComment;
- var COMFORT_PREVIEW_HEADER = "application/vnd.github.comfort-fade-preview+json";
- function buildReviewComments(suggestions) {
- const fileComments = [];
- suggestions.forEach((hunks, fileName) => {
- hunks.forEach((hunk) => {
- const newContent = hunk.newContent.join("\n");
- if (hunk.oldStart === hunk.oldEnd) {
- const singleComment = {
- path: fileName,
- body: `\`\`\`suggestion
-${newContent}
-\`\`\``,
- line: hunk.oldEnd,
- side: "RIGHT"
- };
- fileComments.push(singleComment);
- } else {
- const comment = {
- path: fileName,
- body: `\`\`\`suggestion
-${newContent}
-\`\`\``,
- start_line: hunk.oldStart,
- line: hunk.oldEnd,
- side: "RIGHT",
- start_side: "RIGHT"
- };
- fileComments.push(comment);
- }
- });
- });
- return fileComments;
- }
- exports2.buildReviewComments = buildReviewComments;
- async function makeInlineSuggestions(octokit, suggestions, outOfScopeSuggestions, remote, pullNumber) {
- const comments = buildReviewComments(suggestions);
- if (!comments.length) {
- logger_1.logger.info("No valid suggestions to make");
- }
- if (!comments.length && !outOfScopeSuggestions.size) {
- logger_1.logger.info("No suggestions were generated. Exiting...");
- return null;
- }
- const summaryComment = buildSummaryComment(outOfScopeSuggestions);
- if (summaryComment) {
- logger_1.logger.warn("Some suggestions could not be made");
- }
- const headSha = (await octokit.pulls.get({
- owner: remote.owner,
- repo: remote.repo,
- pull_number: pullNumber
- })).data.head.sha;
- const reviewNumber = (await octokit.pulls.createReview({
- owner: remote.owner,
- repo: remote.repo,
- pull_number: pullNumber,
- commit_id: headSha,
- event: "COMMENT",
- body: summaryComment,
- headers: { accept: COMFORT_PREVIEW_HEADER },
- // Octokit type definitions doesn't support mulitiline comments, but the GitHub API does
- comments
- })).data.id;
- logger_1.logger.info(`Successfully created a review on pull request: ${pullNumber}.`);
- return reviewNumber;
- }
- exports2.makeInlineSuggestions = makeInlineSuggestions;
- async function createPullRequestReview(octokit, remote, pullNumber, pageSize, diffContents) {
- try {
- const pullRequestHunks = await exports2.getPullRequestHunks(octokit, remote, pullNumber, pageSize);
- const allSuggestedHunks = typeof diffContents === "string" ? (0, diff_utils_1.parseAllHunks)(diffContents) : (0, hunk_utils_1.getRawSuggestionHunks)(diffContents);
- const { validHunks, invalidHunks } = (0, hunk_utils_1.partitionSuggestedHunksByScope)(pullRequestHunks, allSuggestedHunks);
- const reviewNumber = await exports2.makeInlineSuggestions(octokit, validHunks, invalidHunks, remote, pullNumber);
- return reviewNumber;
- } catch (err) {
- logger_1.logger.error("Failed to suggest");
- throw err;
- }
- }
- exports2.createPullRequestReview = createPullRequestReview;
- async function getCurrentPullRequestPatches(octokit, remote, pullNumber, pageSize) {
- const filesMissingPatch = [];
- const files = (await octokit.pulls.listFiles({
- owner: remote.owner,
- repo: remote.repo,
- pull_number: pullNumber,
- per_page: pageSize
- })).data;
- const patches = /* @__PURE__ */ new Map();
- if (files.length === 0) {
- logger_1.logger.error(`0 file results have returned from list files query for Pull Request #${pullNumber}. Cannot make suggestions on an empty Pull Request`);
- throw Error("Empty Pull Request");
- }
- files.forEach((file) => {
- if (file.patch === void 0) {
- logger_1.logger.warn(`File ${file.filename} may have a patch that is too large to display patch object.`);
- filesMissingPatch.push(file.filename);
- } else {
- patches.set(file.filename, file.patch);
- }
- });
- if (patches.size === 0) {
- logger_1.logger.warn("0 patches have been returned. This could be because the patch results were too large to return.");
- }
- return { patches, filesMissingPatch };
- }
- exports2.getCurrentPullRequestPatches = getCurrentPullRequestPatches;
- async function getPullRequestHunks(octokit, remote, pullNumber, pageSize) {
- const files = (await octokit.pulls.listFiles({
- owner: remote.owner,
- repo: remote.repo,
- pull_number: pullNumber,
- per_page: pageSize
- })).data;
- const pullRequestHunks = /* @__PURE__ */ new Map();
- if (files.length === 0) {
- logger_1.logger.error(`0 file results have returned from list files query for Pull Request #${pullNumber}. Cannot make suggestions on an empty Pull Request`);
- throw Error("Empty Pull Request");
- }
- files.forEach((file) => {
- if (file.patch === void 0) {
- logger_1.logger.warn(`File ${file.filename} may have a patch that is too large to display patch object.`);
- } else {
- const hunks = (0, diff_utils_1.parsePatch)(file.patch);
- pullRequestHunks.set(file.filename, hunks);
- }
- });
- if (pullRequestHunks.size === 0) {
- logger_1.logger.warn("0 patches have been returned. This could be because the patch results were too large to return.");
- }
- return pullRequestHunks;
- }
- exports2.getPullRequestHunks = getPullRequestHunks;
- }
-});
-
-// node_modules/code-suggester/build/src/github/branch.js
-var require_branch = __commonJS({
- "node_modules/code-suggester/build/src/github/branch.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.branch = exports2.createBranch = exports2.existsBranchWithName = exports2.getBranchHead = exports2.createRef = void 0;
- var logger_1 = require_logger3();
- var REF_PREFIX = "refs/heads/";
- var DEFAULT_PRIMARY_BRANCH = "main";
- function createRef(branchName) {
- return REF_PREFIX + branchName;
- }
- exports2.createRef = createRef;
- async function getBranchHead(octokit, origin, branch3) {
- const branchData = (await octokit.repos.getBranch({
- owner: origin.owner,
- repo: origin.repo,
- branch: branch3
- })).data;
- logger_1.logger.info(`Successfully found branch HEAD sha "${branchData.commit.sha}".`);
- return branchData.commit.sha;
- }
- exports2.getBranchHead = getBranchHead;
- async function existsBranchWithName(octokit, remote, name2) {
- try {
- const data = (await octokit.git.getRef({
- owner: remote.owner,
- repo: remote.repo,
- ref: `heads/${name2}`
- })).data;
- return data.ref ? true : false;
- } catch (err) {
- if (err.status === 404)
- return false;
- else
- throw err;
- }
- }
- exports2.existsBranchWithName = existsBranchWithName;
- async function createBranch(octokit, remote, name2, baseSha, duplicate) {
- if (!duplicate) {
- const refData = (await octokit.git.createRef({
- owner: remote.owner,
- repo: remote.repo,
- ref: createRef(name2),
- sha: baseSha
- })).data;
- logger_1.logger.info(`Successfully created branch at ${refData.url}`);
- } else {
- logger_1.logger.info("Skipping branch creation step...");
- }
- }
- exports2.createBranch = createBranch;
- async function branch2(octokit, origin, upstream, name2, baseBranch = DEFAULT_PRIMARY_BRANCH) {
- try {
- const baseSha = await getBranchHead(octokit, upstream, baseBranch);
- const duplicate = await existsBranchWithName(octokit, origin, name2);
- await createBranch(octokit, origin, name2, baseSha, duplicate);
- return baseSha;
- } catch (err) {
- logger_1.logger.error("Error when creating branch");
- throw err;
- }
- }
- exports2.branch = branch2;
- }
-});
-
-// node_modules/code-suggester/build/src/github/fork.js
-var require_fork = __commonJS({
- "node_modules/code-suggester/build/src/github/fork.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.fork = void 0;
- var logger_1 = require_logger3();
- async function fork(octokit, upstream) {
- try {
- const forkedRepo = (await octokit.repos.createFork({
- owner: upstream.owner,
- repo: upstream.repo
- })).data;
- const origin = {
- repo: forkedRepo.name,
- owner: forkedRepo.owner.login
- };
- logger_1.logger.info(`Create fork request was successful for ${origin.owner}/${origin.repo}`);
- return origin;
- } catch (err) {
- logger_1.logger.error("Error when forking");
- throw err;
- }
- }
- exports2.fork = fork;
- }
-});
-
-// node_modules/code-suggester/build/src/errors.js
-var require_errors3 = __commonJS({
- "node_modules/code-suggester/build/src/errors.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.CommitError = void 0;
- var CommitError = class extends Error {
- constructor(message, cause) {
- super(message);
- this.cause = cause;
- }
- };
- exports2.CommitError = CommitError;
- }
-});
-
-// node_modules/code-suggester/build/src/github/create-commit.js
-var require_create_commit = __commonJS({
- "node_modules/code-suggester/build/src/github/create-commit.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.createCommit = void 0;
- var logger_1 = require_logger3();
- var errors_1 = require_errors3();
- async function createCommit(octokit, origin, refHead, treeSha, message, options = {}) {
- try {
- const signature = options.signer ? await options.signer.generateSignature({
- message,
- tree: treeSha,
- parents: [refHead],
- author: options.author,
- committer: options.committer
- }) : void 0;
- const { data: { sha, url } } = await octokit.git.createCommit({
- owner: origin.owner,
- repo: origin.repo,
- message,
- tree: treeSha,
- parents: [refHead],
- signature,
- author: options.author,
- committer: options.committer
- });
- logger_1.logger.info(`Successfully created commit. See commit at ${url}`);
- return sha;
- } catch (e) {
- throw new errors_1.CommitError(`Error creating commit for: ${treeSha}`, e);
- }
- }
- exports2.createCommit = createCommit;
- }
-});
-
-// node_modules/code-suggester/build/src/github/commit-and-push.js
-var require_commit_and_push = __commonJS({
- "node_modules/code-suggester/build/src/github/commit-and-push.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.commitAndPush = exports2.updateRef = exports2.createTree = exports2.generateTreeObjects = void 0;
- var logger_1 = require_logger3();
- var create_commit_1 = require_create_commit();
- var errors_1 = require_errors3();
- var DEFAULT_FILES_PER_COMMIT = 100;
- function generateTreeObjects(changes) {
- const tree = [];
- changes.forEach((fileData, path) => {
- if (fileData.content === null) {
- tree.push({
- path,
- mode: fileData.mode,
- type: "blob",
- sha: null
- });
- } else {
- tree.push({
- path,
- mode: fileData.mode,
- type: "blob",
- content: fileData.content
- });
- }
- });
- return tree;
- }
- exports2.generateTreeObjects = generateTreeObjects;
- function* inGroupsOf(all, groupSize) {
- for (let i = 0; i < all.length; i += groupSize) {
- yield all.slice(i, i + groupSize);
- }
- }
- async function createTree(octokit, origin, refHead, tree) {
- const oldTreeSha = (await octokit.git.getCommit({
- owner: origin.owner,
- repo: origin.repo,
- commit_sha: refHead
- })).data.tree.sha;
- logger_1.logger.info("Got the latest commit tree");
- try {
- const treeSha = (await octokit.git.createTree({
- owner: origin.owner,
- repo: origin.repo,
- tree,
- base_tree: oldTreeSha
- })).data.sha;
- logger_1.logger.info(`Successfully created a tree with the desired changes with SHA ${treeSha}`);
- return treeSha;
- } catch (e) {
- throw new errors_1.CommitError(`Error adding to tree: ${refHead}`, e);
- }
- }
- exports2.createTree = createTree;
- async function updateRef(octokit, origin, newSha, force) {
- logger_1.logger.info(`Updating reference heads/${origin.branch} to ${newSha}`);
- try {
- await octokit.git.updateRef({
- owner: origin.owner,
- repo: origin.repo,
- ref: `heads/${origin.branch}`,
- sha: newSha,
- force
- });
- logger_1.logger.info(`Successfully updated reference ${origin.branch} to ${newSha}`);
- } catch (e) {
- throw new errors_1.CommitError(`Error updating ref heads/${origin.branch} to ${newSha}`, e);
- }
- }
- exports2.updateRef = updateRef;
- async function commitAndPush(octokit, refHead, changes, originBranch, commitMessage, force, options) {
- var _a;
- const filesPerCommit = (_a = options === null || options === void 0 ? void 0 : options.filesPerCommit) !== null && _a !== void 0 ? _a : DEFAULT_FILES_PER_COMMIT;
- const tree = generateTreeObjects(changes);
- for (const treeGroup of inGroupsOf(tree, filesPerCommit)) {
- const treeSha = await createTree(octokit, originBranch, refHead, treeGroup);
- refHead = await (0, create_commit_1.createCommit)(octokit, originBranch, refHead, treeSha, commitMessage, options);
- }
- await updateRef(octokit, originBranch, refHead, force);
- }
- exports2.commitAndPush = commitAndPush;
- }
-});
-
-// node_modules/code-suggester/build/src/github/open-pull-request.js
-var require_open_pull_request = __commonJS({
- "node_modules/code-suggester/build/src/github/open-pull-request.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.openPullRequest = void 0;
- var logger_1 = require_logger3();
- var DEFAULT_PRIMARY = "main";
- async function openPullRequest(octokit, upstream, origin, description, maintainersCanModify = true, upstreamPrimary = DEFAULT_PRIMARY, draft = false) {
- const head = `${origin.owner}:${origin.branch}`;
- const existingPullRequest = (await octokit.pulls.list({
- owner: upstream.owner,
- repo: origin.repo,
- head
- })).data.find((pr) => pr.head.label === head);
- if (existingPullRequest) {
- logger_1.logger.info(`Found existing pull request for reference ${origin.owner}:${origin.branch}. Skipping creating a new pull request.`);
- return existingPullRequest.number;
- }
- const pullResponseData = (await octokit.pulls.create({
- owner: upstream.owner,
- repo: origin.repo,
- title: description.title,
- head: `${origin.owner}:${origin.branch}`,
- base: upstreamPrimary,
- body: description.body,
- maintainer_can_modify: maintainersCanModify,
- draft
- })).data;
- logger_1.logger.info(`Successfully opened pull request available at url: ${pullResponseData.url}.`);
- return pullResponseData.number;
- }
- exports2.openPullRequest = openPullRequest;
- }
-});
-
-// node_modules/code-suggester/build/src/github/labels.js
-var require_labels = __commonJS({
- "node_modules/code-suggester/build/src/github/labels.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.addLabels = void 0;
- var logger_1 = require_logger3();
- async function addLabels(octokit, upstream, origin, issue_number, labels) {
- if (!labels || labels.length === 0) {
- return [];
- }
- const labelsResponseData = (await octokit.issues.addLabels({
- owner: upstream.owner,
- repo: origin.repo,
- issue_number,
- labels
- })).data;
- logger_1.logger.info(`Successfully added labels ${labels} to issue: ${issue_number}`);
- return labelsResponseData.map((l) => l.name);
- }
- exports2.addLabels = addLabels;
- }
-});
-
-// node_modules/code-suggester/build/src/bin/handle-git-dir-change.js
-var require_handle_git_dir_change = __commonJS({
- "node_modules/code-suggester/build/src/bin/handle-git-dir-change.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.getDiffString = exports2.getChanges = exports2.parseChanges = exports2.getAllDiffs = exports2.getGitFileData = exports2.findRepoRoot = exports2.resolvePath = void 0;
- var child_process_1 = require("child_process");
- var types_1 = require_types2();
- var logger_1 = require_logger3();
- var fs_1 = require("fs");
- var path = require("path");
- var InstallationError = class extends Error {
- constructor(message) {
- super(message);
- this.name = "InstallationError";
- }
- };
- function resolvePath(dir) {
- const absoluteDir = path.resolve(process.cwd(), dir);
- return absoluteDir;
- }
- exports2.resolvePath = resolvePath;
- function findRepoRoot(dir) {
- try {
- return (0, child_process_1.execSync)("git rev-parse --show-toplevel", { cwd: dir }).toString().trimRight();
- } catch (err) {
- logger_1.logger.error(`The directory provided is not a git directory: ${dir}`);
- throw err;
- }
- }
- exports2.findRepoRoot = findRepoRoot;
- function parseGitDiff(gitDiffPattern) {
- try {
- const fields = gitDiffPattern.split(" ");
- const newMode = fields[1];
- const oldMode = fields[0].substring(1);
- const statusAndPath = fields[4].split(" ");
- const status = statusAndPath[0];
- const relativePath = statusAndPath[1];
- return { oldMode, newMode, status, relativePath };
- } catch (err) {
- logger_1.logger.warn(`\`git diff --raw\` may have changed formats:
- ${gitDiffPattern}`);
- throw err;
- }
- }
- function getGitFileData(gitRootDir, gitDiffPattern) {
- return new Promise((resolve, reject) => {
- try {
- const { oldMode, newMode, status, relativePath } = parseGitDiff(gitDiffPattern);
- if (status === "D") {
- resolve({ path: relativePath, fileData: new types_1.FileData(null, oldMode) });
- } else {
- (0, fs_1.readFile)(gitRootDir + "/" + relativePath, {
- encoding: "utf-8"
- }, (err, content) => {
- if (err) {
- logger_1.logger.error(`Error loading file ${relativePath} in git directory ${gitRootDir}`);
- reject(err);
- }
- resolve({
- path: relativePath,
- fileData: new types_1.FileData(content, newMode)
- });
- });
- }
- } catch (err) {
- reject(err);
- }
- });
- }
- exports2.getGitFileData = getGitFileData;
- function getAllDiffs(gitRootDir) {
- (0, child_process_1.execSync)("git add -A", { cwd: gitRootDir });
- const diffs = (0, child_process_1.execSync)("git diff --raw --staged --no-renames", {
- cwd: gitRootDir
- }).toString().trimRight().split("\n").filter((line) => !!line.trim());
- (0, child_process_1.execSync)("git reset .", { cwd: gitRootDir });
- return diffs;
- }
- exports2.getAllDiffs = getAllDiffs;
- async function parseChanges(diffs, gitDir) {
- try {
- const changes = /* @__PURE__ */ new Map();
- const changePromises = [];
- for (let i = 0; i < diffs.length; i++) {
- changePromises.push(getGitFileData(gitDir, diffs[i]));
- }
- const gitFileDatas = await Promise.all(changePromises);
- for (let i = 0; i < gitFileDatas.length; i++) {
- changes.set(gitFileDatas[i].path, gitFileDatas[i].fileData);
- }
- return changes;
- } catch (err) {
- logger_1.logger.error("Error parsing git changes");
- throw err;
- }
- }
- exports2.parseChanges = parseChanges;
- function validateGitInstalled() {
- try {
- (0, child_process_1.execSync)("git --version");
- } catch (err) {
- logger_1.logger.error("git not installed");
- throw new InstallationError("git command is not recognized. Make sure git is installed.");
- }
- }
- function getChanges(dir) {
- try {
- validateGitInstalled();
- const absoluteDir = resolvePath(dir);
- const gitRootDir = findRepoRoot(absoluteDir);
- const diffs = getAllDiffs(gitRootDir);
- return parseChanges(diffs, gitRootDir);
- } catch (err) {
- if (!(err instanceof InstallationError)) {
- logger_1.logger.error("Error loadng git changes.");
- }
- throw err;
- }
- }
- exports2.getChanges = getChanges;
- function getDiffString(dir) {
- try {
- validateGitInstalled();
- const absoluteDir = resolvePath(dir);
- const gitRootDir = findRepoRoot(absoluteDir);
- (0, child_process_1.execSync)("git add -A", { cwd: gitRootDir });
- const diff = (0, child_process_1.execSync)("git diff --staged --no-renames", {
- cwd: gitRootDir
- }).toString().trimRight();
- (0, child_process_1.execSync)("git reset .", { cwd: gitRootDir });
- return diff;
- } catch (err) {
- if (!(err instanceof InstallationError)) {
- logger_1.logger.error("Error loadng git changes.");
- }
- throw err;
- }
- }
- exports2.getDiffString = getDiffString;
- }
-});
-
-// node_modules/code-suggester/build/src/index.js
-var require_src = __commonJS({
- "node_modules/code-suggester/build/src/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- exports2.parseTextFiles = exports2.createPullRequest = exports2.reviewPullRequest = exports2.CommitError = exports2.getDiffString = exports2.getChanges = void 0;
- var types_1 = require_types2();
- var logger_1 = require_logger3();
- var default_options_handler_1 = require_default_options_handler();
- var retry = require_lib15();
- var review_pull_request_1 = require_review_pull_request();
- var branch_1 = require_branch();
- var fork_1 = require_fork();
- var commit_and_push_1 = require_commit_and_push();
- var open_pull_request_1 = require_open_pull_request();
- var labels_1 = require_labels();
- var handle_git_dir_change_1 = require_handle_git_dir_change();
- Object.defineProperty(exports2, "getChanges", { enumerable: true, get: function() {
- return handle_git_dir_change_1.getChanges;
- } });
- Object.defineProperty(exports2, "getDiffString", { enumerable: true, get: function() {
- return handle_git_dir_change_1.getDiffString;
- } });
- var errors_1 = require_errors3();
- Object.defineProperty(exports2, "CommitError", { enumerable: true, get: function() {
- return errors_1.CommitError;
- } });
- async function reviewPullRequest(octokit, diffContents, options) {
- (0, logger_1.setupLogger)(options.logger);
- if (diffContents === null || diffContents === void 0 || typeof diffContents !== "string" && diffContents.size === 0) {
- logger_1.logger.info("Empty changes provided. No suggestions to be made. Cancelling workflow.");
- return null;
- }
- const gitHubConfigs = (0, default_options_handler_1.addReviewCommentsDefaults)(options);
- const remote = {
- owner: gitHubConfigs.owner,
- repo: gitHubConfigs.repo
- };
- const reviewNumber = await (0, review_pull_request_1.createPullRequestReview)(octokit, remote, gitHubConfigs.pullNumber, gitHubConfigs.pageSize, diffContents);
- return reviewNumber;
- }
- exports2.reviewPullRequest = reviewPullRequest;
- async function createPullRequest(octokit, changes, options) {
- (0, logger_1.setupLogger)(options.logger);
- if (changes === null || changes === void 0 || changes.size === 0) {
- logger_1.logger.info("Empty change set provided. No changes need to be made. Cancelling workflow.");
- return 0;
- }
- const gitHubConfigs = (0, default_options_handler_1.addPullRequestDefaults)(options);
- logger_1.logger.info("Starting GitHub PR workflow...");
- const upstream = {
- owner: gitHubConfigs.upstreamOwner,
- repo: gitHubConfigs.upstreamRepo
- };
- const origin = options.fork === false ? upstream : await (0, fork_1.fork)(octokit, upstream);
- if (options.fork) {
- await retry(async () => await octokit.repos.mergeUpstream({
- owner: origin.owner,
- repo: origin.repo,
- branch: gitHubConfigs.primary
- }), {
- retries: options.retry,
- factor: 2.8411,
- minTimeout: 3e3,
- randomize: false,
- onRetry: (e, attempt) => {
- e.message = `Error creating syncing upstream: ${e.message}`;
- logger_1.logger.error(e);
- logger_1.logger.info(`Retry attempt #${attempt}...`);
- }
- });
- }
- const originBranch = {
- ...origin,
- branch: gitHubConfigs.branch
- };
- options.retry = options.retry === void 0 ? 5 : options.retry;
- const refHeadSha = await retry(async () => await (0, branch_1.branch)(octokit, origin, upstream, originBranch.branch, gitHubConfigs.primary), {
- retries: options.retry,
- factor: 2.8411,
- minTimeout: 3e3,
- randomize: false,
- onRetry: (e, attempt) => {
- e.message = `Error creating Pull Request: ${e.message}`;
- logger_1.logger.error(e);
- logger_1.logger.info(`Retry attempt #${attempt}...`);
- }
- });
- await (0, commit_and_push_1.commitAndPush)(octokit, refHeadSha, changes, originBranch, gitHubConfigs.message, gitHubConfigs.force, options);
- const description = {
- body: gitHubConfigs.description,
- title: gitHubConfigs.title
- };
- const prNumber = await (0, open_pull_request_1.openPullRequest)(octokit, upstream, originBranch, description, gitHubConfigs.maintainersCanModify, gitHubConfigs.primary, options.draft);
- logger_1.logger.info(`Successfully opened pull request: ${prNumber}.`);
- await (0, labels_1.addLabels)(octokit, upstream, originBranch, prNumber, options.labels);
- return prNumber;
- }
- exports2.createPullRequest = createPullRequest;
- function parseTextFiles(textFiles) {
- const changes = /* @__PURE__ */ new Map();
- if (textFiles instanceof Map) {
- textFiles.forEach((content, path) => {
- if (typeof path !== "string" || content !== null && typeof content !== "string") {
- throw TypeError("The file changeset provided must have a string key and a string/null value");
- }
- changes.set(path, new types_1.FileData(content));
- });
- } else {
- for (const [path, content] of Object.entries(textFiles)) {
- if (typeof path !== "string" || content !== null && typeof content !== "string") {
- throw TypeError("The file changeset provided must have a string key and a string/null value");
- }
- changes.set(path, new types_1.FileData(content));
- }
- }
- return changes;
- }
- exports2.parseTextFiles = parseTextFiles;
- }
-});
-
-// node_modules/universal-user-agent/dist-node/index.js
-var require_dist_node = __commonJS({
- "node_modules/universal-user-agent/dist-node/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- function getUserAgent() {
- if (typeof navigator === "object" && "userAgent" in navigator) {
- return navigator.userAgent;
- }
- if (typeof process === "object" && "version" in process) {
- return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
- }
- return "