@preventive/triage 1.0.0-alpha.52 → 1.0.0-alpha.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/bundle-compare-diff.js +28 -9
- package/common/bundle-compare-inputs.d.ts +1 -0
- package/common/bundle-compare-inputs.js +91 -15
- package/common/bundle-comparison.js +14 -7
- package/common/default-scan-models.ts +3 -0
- package/common/dependency-reviews.d.ts +1 -1
- package/common/dependency-reviews.js +1 -1
- package/common/managed/finding-detail.d.ts +4 -2
- package/common/managed/finding-detail.js +27 -15
- package/common/managed/team-app.d.ts +9 -0
- package/common/managed/team-app.js +59 -6
- package/common/workspace-app.js +38 -6
- package/out/activity.js +4 -4
- package/out/chunk-4EMM6UCD.js +1 -0
- package/out/chunk-4ISO5F7Y.js +7 -0
- package/out/chunk-4XIH7YTX.js +1 -0
- package/out/chunk-6W5BMATD.js +1 -0
- package/out/{chunk-WFYLMF6Z.js → chunk-74AEKRES.js} +1 -1
- package/out/chunk-DEVAORP2.js +1 -0
- package/out/{chunk-KOGNQDSJ.js → chunk-DTM47KGS.js} +1 -1
- package/out/chunk-E3LFSUDJ.js +9 -0
- package/out/chunk-FHIVVVUA.js +6 -0
- package/out/chunk-G3LY2FV4.js +1 -0
- package/out/chunk-HAZKDK4M.js +4 -0
- package/out/chunk-HOB3YPS5.js +1 -0
- package/out/chunk-I47TYPXO.js +52 -0
- package/out/chunk-J7A5OSZE.js +244 -0
- package/out/chunk-JFL7WLRV.js +1 -0
- package/out/chunk-JMG5DXII.js +2 -0
- package/out/chunk-JOXLZXMI.js +1 -0
- package/out/chunk-L4CTEMRG.js +2 -0
- package/out/chunk-M37X4LCF.js +14 -0
- package/out/chunk-M3Y6SLC4.js +1 -0
- package/out/chunk-NXATZJQ2.js +1 -0
- package/out/{chunk-MYGJBYYJ.js → chunk-ORIP5INC.js} +1 -1
- package/out/chunk-PAD2JHZT.js +1 -0
- package/out/chunk-QMVOEBWC.js +13 -0
- package/out/{chunk-SXV2T5C4.js → chunk-QRKFPLA4.js} +1 -1
- package/out/chunk-RRBIJL2B.js +1 -0
- package/out/{chunk-GDPCLSOS.js → chunk-SYXT3SFP.js} +1 -1
- package/out/chunk-TOXMUOIW.js +5 -0
- package/out/chunk-UBOCLLF2.js +1 -0
- package/out/chunk-UCP3JRE2.js +1 -0
- package/out/{chunk-NCN3M5EP.js → chunk-VC72ZO3P.js} +2 -2
- package/out/chunk-VRX2APNA.js +9 -0
- package/out/{chunk-IMM274IW.js → chunk-VZMELPVL.js} +4 -3
- package/out/{chunk-CHRBUGVN.js → chunk-WHVXTJHK.js} +1 -1
- package/out/chunk-WMFDQS2L.js +11 -0
- package/out/chunk-WNSVBOSO.js +41 -0
- package/out/chunk-WREU7JAG.js +1 -0
- package/out/chunk-Y5ZHFNBD.js +2 -0
- package/out/chunk-YF4M5OCI.js +1 -0
- package/out/chunk-Z667U2UJ.js +1 -0
- package/out/chunk-ZQHLECTI.js +1 -0
- package/out/client-managed-import.js +1 -1
- package/out/client-managed.js +27 -26
- package/out/compare.js +14 -14
- package/out/dialogs.js +36 -51
- package/out/graph.js +17 -15
- package/out/index.html +26 -10
- package/out/prism.js +1 -1
- package/out/scan.js +2 -2
- package/out/terminal.js +232 -232
- package/out/view.css +1 -1
- package/out/view.js +15 -15
- package/package.json +12 -7
- package/risk/actions/resolve.js +36 -5
- package/risk/index.d.ts +20 -2
- package/risk/npm/malware.js +6 -4
- package/risk/npm/registry.js +8 -6
- package/server-managed/bundle-advisories.ts +56 -74
- package/server-managed/bundle-build-worker.js +61 -4
- package/server-managed/bundle-build.ts +13 -4
- package/server-managed/bundle-dependency-reviews.ts +74 -0
- package/server-managed/bundle-validation.ts +32 -0
- package/server-managed/db-methods.ts +51 -16
- package/server-managed/db-neon.ts +18 -2
- package/server-managed/db.ts +11 -2
- package/server-managed/github-issue-links.ts +151 -47
- package/server-managed/github-pulls.ts +34 -15
- package/server-managed/history-windows.ts +172 -0
- package/server-managed/http.ts +227 -12
- package/server-managed/index.ts +13 -1
- package/server-managed/managed-issues.ts +29 -15
- package/server-managed/npm-insights.ts +4 -3
- package/server-managed/npm-kept.ts +4 -0
- package/server-managed/package-entry-points.ts +37 -9
- package/server-managed/pretty-print.ts +7 -5
- package/server-managed/public-workspace.ts +2 -2
- package/server-managed/repository-actions.ts +7 -4
- package/server-managed/repository-browser.ts +11 -4
- package/server-managed/repository-history.ts +2 -2
- package/server-managed/repository-pulse.ts +11 -2
- package/server-managed/repository-risk-audit.ts +4 -5
- package/server-managed/repository-risk.ts +4 -4
- package/server-managed/sql.ts +2 -1
- package/server-managed/stasis-config.ts +46 -0
- package/server-managed/team-app-summaries.ts +54 -0
- package/server-managed/team-app.ts +52 -31
- package/server-managed/team-reports.ts +34 -13
- package/server-managed/upstream-cache.ts +41 -32
- package/server-managed/workspace-shares.ts +3 -1
- package/out/chunk-2ZDZWLFY.js +0 -1
- package/out/chunk-7VAWINQF.js +0 -6
- package/out/chunk-FMXWXDR4.js +0 -36
- package/out/chunk-IZ7POWI3.js +0 -18
- package/out/chunk-LJ7XRXFU.js +0 -52
- package/out/chunk-OGAYMEER.js +0 -232
- package/out/chunk-QB4CBOX2.js +0 -1
- package/out/chunk-TQJDYHVE.js +0 -2
- package/out/chunk-VH4XMZIW.js +0 -2
- package/out/chunk-WYLQWYLA.js +0 -1
package/out/chunk-FMXWXDR4.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import{b as e,h as t}from"./chunk-2K6UN3PC.js";import{a as n}from"./chunk-WCPJDAYA.js";import{a as r,b as i,e as a}from"./chunk-IYPY47MC.js";import{A as o,B as s,E as c,b as l,c as u,d,j as f,m as p,p as m,s as h,t as g,w as _,z as v}from"./chunk-SXV2T5C4.js";import{A as ee,b as y,c as b,i as te,w as x,y as S}from"./chunk-WFYLMF6Z.js";import{a as C,b as w,c as T}from"./chunk-C4Z6ZBXV.js";import{c as E,f as D,g as O,i as ne}from"./chunk-2XUEZHIP.js";var re=w(class extends T{constructor(e){if(super(e),e.type!==C.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(e,[t]){if(this.st===void 0){this.st=new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter(e=>e!==``)));for(let e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return D}}),ie=e=>e.replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`),ae=e=>y(e)?e:ie(b(String(e))),k=globalThis.trustedTypes?.createPolicy(`deepview`,{createHTML:ae,createScriptURL:e=>{let t=new URL(e,globalThis.location.href);if(t.origin!==globalThis.location.origin)throw TypeError(`Not a same-origin script: ${t.href}`);return t.href}}),A=e=>k?k.createHTML(e):ae(e),oe=e=>k?k.createScriptURL(String(e)):e,j={showAll:!1,packagesView:!1,dependencyPackagesView:!1,flowPackagesView:!1,bundleIssues:!1,bundleLayout:`graph`,lockfileLayout:`dependencies`,bundleReason:null,bundleReasonFor:null,selected:null,focusedPkg:null,topPkgsTab:`issues`,edgeOpacity:.22,nodeSize:1,showLabels:!1,selectedSeverities:new Set,selectedColors:new Set,pathFilter:``,hidden:new Set,solo:null,graphState:null,layoutCache:null,keptViewport:null};function se({keepViewport:e=!1}={}){j.graphState?._cleanup?j.graphState._cleanup({keepViewport:e}):e||(j.keptViewport=null),j.graphState=null}function M(e){return e.id??String(e._id)}function ce(e){let t=m(e);return t!==``&&t!==`revalidation`}var N=[{value:`confirmed`,label:`Confirmed`,kinds:[`confirmed`,`partial`,`revalidation`]},{value:`unreachable`,label:`Unreachable`,kinds:[`unreachable`]},{value:`refuted`,label:`Refuted`,kinds:[`refuted`]}];function le(e){return N.find(t=>t.value===e)?.kinds??null}var ue=[``,`exclude`,`only`];function de(e,t){let n=le(e);return n?.includes(`partial`)?t===`only`?[`partial`]:t===`exclude`?[`confirmed`]:n:n}function P(e){if(e.confidence!==void 0)return e.confidence;if(e.critical===!0||e._source)return 10}var fe=e=>e.confidence!==void 0||e.critical===!0;function pe(e){return e.every(e=>e.every(e=>P(e)!==void 0))&&e.some(e=>e.some(fe))}function me(e,t,n){return e.some(e=>{let r=[`refuted`,`unreachable`].includes(n(e))?0:P(e);return r===void 0?t===0:r>=t})}function he(e,t){let n=e.map(t).filter(e=>e.length>0);if(!n.some(e=>e.some(e=>P(e)!==void 0)))return 0;let r=e=>n.reduce((t,n)=>t+ +!!n.some(t=>(P(t)??-1)>=e),0),i;for(i=r(6)<=25?6:r(7)<=25?7:8;i>0&&r(i-1)===r(i);)i--;return i}function ge(e,t){return pe(e)?t:0}function _e(e,t,n){let r=new Set(e.ruledOutIds??[]);for(let t of e)for(let e of t)[`refuted`,`unreachable`].includes(n(e))&&r.add(M(e));for(let i of e){let e=t(i);if(e.length!==0&&e.some(e=>de(`confirmed`,``).includes(n(e)||(e._source&&!e._sourcePass?`revalidation`:``)))){for(let e of i)if(r.add(M(e)),e.isApp&&Array.isArray(e.revalidateInputs))for(let t of e.revalidateInputs)t&&r.add(t)}}return r}function ve(e,t,n,r){let i=ge(e,t),a=e.filter(e=>me(e,i,r));if(a.length===0)return!1;let o=new Set(de(`confirmed`,``));return e.some(e=>e.some(e=>o.has(r(e))))?a.every(e=>e.every(e=>n.has(M(e)))):!1}function ye(e,{tabs:t,kindOf:n,severityMode:r}){let i=e.map(t).filter(e=>e.length>0),a=_e(e,t,n);if(!ve(i,he(e,t),a,n))return!1;let o=ge(i,6);return i.every(e=>!me(e,o,n)||!e.some(e=>p(e,r)!==`low`)||e.every(e=>a.has(M(e))))}var F=!0;function be(e,t=!1){F=e!==!1&&!t}function xe(){return F}function I(e){return F?m(e):``}function Se(e){return m(e)!==``}function Ce(e){return e.some(e=>(e.groups??[]).some(e=>e.some(ce)))}function we(e){let t=I(e);return t&&t!==`revalidation`?t:null}function Te(e){return I(e)===`revalidation`}var Ee=new Set([`refuted`,`unreachable`]);function De(e){return Ee.has(I(e))}function Oe(e){return Ee.has(I(e))}function ke(e){let t=new Set(e);return N.filter(e=>e.kinds.some(e=>t.has(e)))}function L(e){return RegExp(`(^|/)${e}/`,`u`)}function Ae(e){return RegExp(`^(?:.*/)?${e}/(?:@[^/]+/[^/]+|[^/]+)/(.*)$`,`u`)}var je=L(`node_modules`),Me=L(`vendor`),R=`node_modules`,Ne=L(R),Pe=Ae(R);function Fe(e){e!==R&&(R=e,Ne=L(e),Pe=Ae(e))}var Ie=null;function Le(t){Ie?.length===t.length&&Ie.every((e,n)=>e===t[n])||(Ie=[...t],Fe(e(t)))}function Re(){return R}function z(e){return Ne.test(e)}var B=new WeakSet;function ze(e){let t=!1;for(let n of e??[])for(let e of n.groups??[])for(let n of e){if(n.isApp!==!1)continue;let e=B.has(n);`isUpstream`in n&&!e||(z(n.file)?(n.isUpstream!==!0&&(t=!0),n.isUpstream=!0,B.add(n)):e&&(t=!0,delete n.isUpstream,B.delete(n)))}return t}function Be(e){let t=typeof e==`string`?e:``;return je.test(t)||Me.test(t)||Ne.test(t)}var Ve=/^(.*(?:^|\/)node_modules\/(?:@[^/]+\/[^/]+|[^/]+))(?:\/|$)/u;function He(e){return Ve.exec(typeof e==`string`?e:``)?.[1]??null}function Ue(e){return typeof e!=`number`||!Number.isFinite(e)?null:n(e)}function We(e){if(e.length<=1)return{prefix:``,stripped:[...e]};let t=e.map(e=>e.split(`/`)),n=Math.min(...t.map(e=>e.length)),r=0;for(let e=0;e<n-1&&t.every(n=>n[e]===t[0][e]);e++)r=e+1;return r>0&&t[0][r-1].startsWith(`@`)&&r--,r>0&&t[0][r-1]===`node_modules`&&r--,r===0?{prefix:``,stripped:[...e]}:{prefix:`${t[0].slice(0,r).join(`/`)}/`,stripped:t.map(e=>e.slice(r).join(`/`))}}function Ge(e){return e.match(Pe)?.[1]??e}var V={on:new WeakMap,off:new WeakMap};function Ke(e){let t=F?V.on:V.off,n=t.get(e);if(n===void 0){let r=F?[we(e),e.revalidateVerdict,e.revalidateRecommendation]:[];n=[e.file,e.title,e.description,e.impact,e.reproduction,Ot(e),e.recommendation,e.confidenceReason,...r,e.discoveredIn,e.repo?.github].filter(Boolean).join(`
|
|
2
|
-
`).toLowerCase(),t.set(e,n)}return n}function qe(e){V.on.delete(e),V.off.delete(e)}function Je(e){return[typeof e?.category==`string`?e.category.trim():``,h(e,F)].filter(Boolean).join(` · `)}function Ye(e){if(e.length===0)return``;let t=e[0];for(let n=1;n<e.length;n++){for(;t&&!e[n].startsWith(t);)t=t.slice(0,-1);if(!t)return``}return t}function Xe(e){if(!e)return``;let t=e.match(/github\.com\/([^/?#]+\/[^/?#]+?)(?:\.git)?(?:[/?#]|$)/iu);return t?t[1]:e}function Ze(e){if(!e)return null;let t=e.trim().replace(/\/$/u,``);return t?/^https?:\/\//iu.test(t)?t:/^github\.com\//iu.test(t)?`https://${t}`:`https://github.com/${t}`:null}var Qe=/^(?:@[\w.-]+\/)?[\w.-]+@[^/\s@]+$/u;function $e(e){return Qe.test(e||``)}function et(e){if(e==null||typeof e==`string`)return{id:e??``,prefix:``};let t=c(e);return{id:typeof e.github==`string`?e.github:``,prefix:t?`${t}/`:``}}function tt(e,t,n){if($e(e))return null;let r=et(t);if(r.id)return`https://github.com/${r.id}/blob/HEAD/${r.prefix}${Ge(e)}`;if(z(e))return null;let i=et(n),a=Ze(i.id);return a?`${a}/blob/HEAD/${i.prefix}${e}`:null}function nt(e,t){let n=e?.file??``,r=H(e,t);return r?E`<a href="${rt(r)}" target="_blank" rel="noopener">${n}</a>`:n}function rt(e){return e.replace(/#L\d+(?:-L?\d+)?$/u,``)}function H(e,t){if(!e)return null;if(s(e.location))return e.location;let n=tt(e.file,e.repo,t);if(!n)return null;let r=parseInt(e.line,10);return Number.isFinite(r)?`${n}#L${r}`:n}var it=/^https?:\/\/(?:www\.)?github\.com\/([^/\s]+\/[^/\s]+)\/(?:blob|tree|blame)\/[^/\s]+\/(\S+)$/u,at=/#L(\d+)(?:-L?(\d+))?$/u;function ot(e){let t=typeof e==`string`?it.exec(e):null;if(!t)return``;let n=t[2],r=at.exec(n);if(!r)return`${t[1]}/${n}`;n=n.slice(0,r.index);let i=r[2]?`${r[1]}-${r[2]}`:r[1];return`${t[1]}/${n}:${i}`}var st=/^(?:\s+\S|[-*+] |\d+[.)] |>|#{1,6}(?:[ \t]|$)|\||`{3}|~{3})/u;function ct(e){return e.split(/(\n{2,})/u).map(e=>{if(/^\n+$/u.test(e))return e;let t=e.split(`
|
|
3
|
-
`);return t.some(e=>st.test(e)||W.test(e))?e:t.map(e=>e.trim()).filter(Boolean).join(` `)}).join(``)}function lt(e,t,n){let r=t?/^\n*/u.exec(e)[0]:``,i=e.slice(r.length),a=n?/\n*$/u.exec(i)[0]:``;return r+ct(i.slice(0,i.length-a.length))+a}function ut(e){if(!e)return e;let t=e.replaceAll(`\r
|
|
4
|
-
`,`
|
|
5
|
-
`),n=l(t);if(n.length===0)return ct(t);let r=[],i=0;for(let[e,a]of n)e>i&&r.push(lt(t.slice(i,e),i>0,!0)),r.push(t.slice(e,a)),i=a;return i<t.length&&r.push(lt(t.slice(i),!0,!1)),r.join(``)}var dt=/^( *)(`{3,}|~{3,})(.*)$/u,ft=/^[a-z0-9+#._-]{1,20}$/u;function pt(e,t){let n=0;for(;n<t&&e[n]===` `;)n++;return e.slice(n)}function mt(e){let t=e.split(`
|
|
6
|
-
`),n=dt.exec(t[0]),r=(n?.[2]??"```").slice(0,3),i=(n?.[3]??``).trim().split(/\s+/u)[0].toLowerCase(),a=!!(t.length>1?dt.exec(t.at(-1)):null)?.[2].startsWith(r),o=n?.[1].length??0,s=t.slice(1,a?-1:void 0);return{lang:ft.test(i)?i:``,code:(o>0?s.map(e=>pt(e,o)):s).join(`
|
|
7
|
-
`)}}function ht(e){let t=l(e||``);if(t.length===0)return[e];let n=[],r=0,i=(e,t)=>{let r=(t?e.replace(/^\n+/u,``):e).replace(/\n+$/u,``);r&&n.push(r)};for(let[a,o]of t)a>r&&i(e.slice(r,a),r>0),n.push(mt(e.slice(a,o))),r=o;return r<e.length&&i(e.slice(r),!0),n}var U=/^( *)(?:[-*+]|(\d{1,9})[.)]) +(?=\S)/u,W=/^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/u;function gt(e){return/^ */u.exec(e)[0].length}function _t(e){let t=e.length;for(;t>0&&!e[t-1].trim();)t--;return e.slice(0,t).join(`
|
|
8
|
-
`)}function vt(e){let t=typeof e==`string`?e:``;if(!t)return[e];let n=l(t),r=t.split(`
|
|
9
|
-
`),i=[],a=0;for(let e of r)i.push(a),a+=e.length+1;let o=e=>!u(n,i[e])&&!W.test(r[e])&&U.test(r[e]),s=[],c=0,d=0,f=e=>{let t=r.slice(c,e).join(`
|
|
10
|
-
`).replace(/^\n+/u,``).replace(/\n+$/u,``);t.trim()&&s.push(t)};for(;d<r.length;){if(!o(d)){d++;continue}f(d);let e=U.exec(r[d]),t=!!e[2],a=[],l=null,p=!1;for(;d<r.length;){let e=r[d];if(!u(n,i[d])){if(!e.trim()){l.lines.push(``),p=!0,d++;continue}let n=gt(e),r=W.test(e)?null:U.exec(e);if(r&&(!l||n<l.column)){if(!!r[2]!==t)break;l&&a.push(_t(l.lines)),l={column:r[0].length,lines:[e.slice(r[0].length)]},p=!1,d++;continue}if(n<l.column&&(p||yt.test(e)||W.test(e)))break}l.lines.push(pt(e,l.column)),p=!1,d++}l&&a.push(_t(l.lines)),s.push({ordered:t,start:t?Number(e[2]):null,items:a}),c=d}return s.length===0?[e]:(f(r.length),s)}var yt=/^ {0,3}(#{1,6})[ \t]+(\S.*?)(?:[ \t]+#+)?[ \t]*$/u,bt=/^ {0,3}-+[ \t]*$/u;function xt(e){let t=e.split(`
|
|
11
|
-
`),n=[],r=0,i=e=>{let i=t.slice(r,e).join(`
|
|
12
|
-
`).replaceAll(/^(?:[ \t]*\n)+|(?:\n[ \t]*)+$/gu,``);i.trim()&&n.push(i)};return t.forEach((e,a)=>{let o=yt.exec(e),s=W.test(e)&&(a===r||!t[a-1].trim()||!bt.test(e));!o&&!s||(i(a),n.push(o?{level:o[1].length,text:o[2]}:{rule:!0}),r=a+1)}),n.length===0?[e]:(i(t.length),n)}var St=/^(\d+)(?:\s*-\s*(\d+))?$/u;function G(e){if(typeof e==`number`)return Number.isFinite(e)&&e>=1?{start:Math.floor(e),end:Math.floor(e)}:null;let t=St.exec(String(e??``).trim());if(!t)return null;let n=parseInt(t[1],10),r=t[2]===void 0?n:parseInt(t[2],10);return!Number.isFinite(n)||n<1||!Number.isFinite(r)||r<1?null:{start:Math.min(n,r),end:Math.max(n,r)}}function Ct(e){return e?e.start===e.end?String(e.start):`${e.start}-${e.end}`:``}function wt(e){if(e&&typeof e==`object`){let t=G(e.start);if(!t)return null;let n=G(e.end)??t;return{start:t.start,end:Math.max(t.start,n.end)}}return G(e)}function Tt(e,t,n=4){let r=typeof e==`string`&&e!==``?e.split(`
|
|
13
|
-
`):[];if(r.length===0)return{text:``,startLine:1,lines:[]};let i=wt(t),a=i&&{start:Math.min(i.start,r.length),end:Math.min(i.end,r.length)},o=a?Math.max(1,a.start-n):1,s=a?Math.min(r.length,a.end+n):Math.min(r.length,n*2+1),c=r.slice(o-1,s);return{text:c.join(`
|
|
14
|
-
`),startLine:o,lines:c}}function Et(e,t,n,r){if(s(e?.url))return e.url;let i=e?.file;if(typeof i!=`string`||i===``)return null;let a=t?.file??``,o=t?.repo?.github,c=()=>o?H({file:i,line:e?.line,repo:t.repo},null):null;if(r===0&&i===a)return c();let l=He(i);return l!==null&&l===He(a)?c():Be(i)?null:o&&!Be(a)?c():H({file:i,line:e?.line},n)}function Dt(e,{spaced:t=!1}={}){let n=Array.isArray(e?.evidence)?e.evidence:[];return n.length===0?``:n.map((e,t)=>{let n=v(e),r=[`${t+1}. ${e.url?`[${n}](${e.url})`:n}`],i=o(e);if(i)for(let e of i.split(`
|
|
15
|
-
`))r.push(` ${e}`);return r.join(`
|
|
16
|
-
`)}).join(t?`
|
|
17
|
-
|
|
18
|
-
`:`
|
|
19
|
-
`)}function Ot(e){let t=Dt(e);return t?`**Evidence:**
|
|
20
|
-
${t}`:``}function kt(e){let t=/^\[([^\]]+)\]\(([^)\s]+)\)$/u.exec(e);return!t||!s(t[2])?null:{label:d(t[1].trim())||t[2],url:t[2]}}function At(e,t){let n=parseInt(e?.line,10);if(!Number.isFinite(n))return O;let r=H(e,t),i=`line ${n}`;return r?E`<a href="${r}" target="_blank" rel="noopener">${i}</a>`:i}function jt(e,t){return!e||!t?null:`${/^https?:/iu.test(e)?e.replace(/\/$/u,``):`https://github.com/${e}`}/commit/${t}`}var Mt=[[`Impact`,`impact`],[`Reproduction`,`reproduction`],[`Recommendation`,`recommendation`],[`Confidence reason`,`confidenceReason`],[`Revalidation verdict`,`revalidateVerdict`],[`Revalidation recommendation`,`revalidateRecommendation`]];function Nt(e,t){let n=[];t&&n.push(`Repo: ${t}`);let r=v(e);r&&n.push(`Location: ${r}`),e?.confidence!=null&&n.push(`Confidence: ${e.confidence}/10`);let i=I(e);i&&n.push(`Revalidation: ${i}`);let a=[];n.length>0&&a.push(n.join(`
|
|
21
|
-
`));let{title:o,body:s}=_(e);o&&a.push(`# ${o}`),s&&a.push(s.trim());let c=Dt(e,{spaced:!0});c&&a.push(`# Evidence
|
|
22
|
-
|
|
23
|
-
${c}`);for(let[t,n]of Mt){if(!F&&n.startsWith(`revalidate`))continue;let r=g(e?.[n],e)?.trim();r&&a.push(`# ${t}
|
|
24
|
-
|
|
25
|
-
${r}`)}return a.join(`
|
|
26
|
-
|
|
27
|
-
`)}function Pt(e,{title:t,body:n,labels:r=[]}={}){let i=Ze(e);if(!i)return null;let a;try{a=new URL(i).host.toLowerCase()}catch{return null}if(a!==`github.com`)return null;let o=new URLSearchParams;t&&o.set(`title`,t),n&&o.set(`body`,n),r.length>0&&o.set(`labels`,r.join(`,`));let s=o.toString();return s?`${i}/issues/new?${s}`:`${i}/issues/new`}var Ft=/^[a-zA-Z\d](?:-?[a-zA-Z\d])*$/u,It=/^[a-zA-Z\d._-]+$/u,Lt=/^[1-9]\d{0,9}$/u,Rt=/^[a-fA-F\d]{7,40}$/u,zt=/^#[\w-]+$/u,Bt=/^GHSA(?:-[0-9a-z]{4}){3}$/u;function Vt(e){return e.length<=39&&Ft.test(e)}function Ht(e){return e.length<=100&&e!==`.`&&e!==`..`&&It.test(e)}function Ut(e){let t;try{t=new URL(e)}catch{return null}if(t.href!==e||t.protocol!==`https:`||t.hostname.toLowerCase()!==`github.com`||t.port||t.username||t.password)return null;let n=t.pathname.split(`/`);if(n.at(-1)===``&&n.pop(),n.length===3&&n[1]===`advisories`){let e=n[2];return Bt.test(e)?{url:`https://github.com/advisories/${e}`,label:e}:null}if(n.length===6&&n[3]===`security`&&n[4]===`advisories`){let[,e,t,,,r]=n;return!Vt(e)||!Ht(t)||!Bt.test(r)?null:{url:`https://github.com/${e}/${t}/security/advisories/${r}`,label:r}}if(n.length!==5)return null;let[,r,i,a,o]=n;if(!Vt(r)||!Ht(i))return null;let s;if(a===`issues`||a===`pull`){if(!Lt.test(o))return null;s=`${r}/${i}#${o}`}else if(a===`commit`){if(!Rt.test(o))return null;s=`${r}/${i}@${o.slice(0,7)}`}else return null;return{url:`https://github.com/${r}/${i}/${a}/${o}${zt.test(t.hash)?t.hash:``}`,label:s}}var Wt=/^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/u;function Gt(e){if(typeof e!=`string`)return null;let t=Kt(e);return t!==e||Wt.test(e)?t.slice(0,8):null}function Kt(e){let t=String(e);return t.startsWith(`https://chatgpt.com/codex/cloud/security/findings/`)?t.slice(50):t}function qt(e,n){let r=t(e,{managed:n});if(!r)return null;let i=Gt(r.id);return{url:n?r.path:`#${r.fragment}`,label:i?`finding ${i}`:`finding`,self:!0}}var Jt=/https?:\/\/[^\s<>"'`(){}[\]|\\^]+/giu,Yt=new Set([`)`,`.`,`,`,`!`,`?`,`;`,`:`,`'`,`"`,`*`,`]`,`}`,`>`]);function Xt(e){let t=e.length;for(;t>0&&Yt.has(e[t-1]);)t--;return t===e.length?e:e.slice(0,t)}function Zt(e,{managed:t=!1}={}){if(typeof e!=`string`||e.length===0)return[];let n=[],r=0;Jt.lastIndex=0;let i;for(;(i=Jt.exec(e))!==null;){let a=Xt(i[0]),o=a?Ut(a)??qt(a,t):null;o&&(i.index>r&&n.push(e.slice(r,i.index)),n.push(o),r=i.index+a.length,Jt.lastIndex=r)}return r<e.length&&n.push(e.slice(r)),n}var Qt={commit:S},$t=8;function en(e){let t;try{t=e?JSON.parse(e):null}catch{return null}let n=e=>typeof e==`string`&&e?e:null;return t&&{tags:Array.isArray(t.tags)?t.tags.filter(n):[],details:typeof t.title==`string`?{title:t.title,authorName:n(t.authorName),authorLogin:n(t.authorLogin),date:Number.isSafeInteger(t.date)?t.date:null}:null}}function tn({title:e,authorName:t,authorLogin:n,date:r}){let i=document.createElement(`div`);i.className=`tooltip-commit-details`;let a=document.createElement(`span`);a.className=`tooltip-commit-message`,a.textContent=e;let o=document.createElement(`span`);return o.className=`tooltip-commit-meta`,o.textContent=[t&&n&&t!==n?`${t} (@${n})`:t??(n&&`@${n}`),r===null?``:new Date(r).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})].filter(Boolean).join(` · `),i.append(...e?[a]:[],o),i}var K;function nn(){return K||(K=document.createElement(`div`),K.id=`styled-tooltip`,K.setAttribute(`popover`,`manual`),document.body.append(K),K)}function rn(e){typeof e.showPopover==`function`&&(e.matches(`:popover-open`)&&e.hidePopover(),e.showPopover())}var q=null,an=``,J=null,Y=null,on=0,sn=0,cn=!1;function X(){if(!cn){cn=!0,document.addEventListener(`mousemove`,e=>{on=e.clientX,sn=e.clientY},{passive:!0});for(let e of[`pointerdown`,`wheel`,`scroll`])document.addEventListener(e,()=>Q(),{capture:!0,passive:!0});document.addEventListener(`keydown`,e=>{e.key===`Escape`&&Q()}),window.addEventListener(`blur`,()=>Q())}}var ln=100,un=14,dn=8,Z=8;function fn(e,{placement:t=`cursor`}={}){X(),clearTimeout(J),J=null,Y=null,e.prepareTooltip?.(e),t=e.dataset.tooltipPlacement??t;let n=nn(),i=e.dataset.tooltip??``,a=Object.hasOwn(Qt,e.dataset.tooltipIcon??``)?e.dataset.tooltipIcon:``,o=e.dataset.tooltipRepo??``,s=r(e.dataset.tooltipCommit),c=en(e.dataset.tooltipCommitInfo),l=[`stasis`,`sourcemap`].includes(e.dataset.tooltipBundle)?e.dataset.tooltipBundle:``,u=e.dataset.tooltipStats??``,d=e.dataset.tooltipBuilt===`true`,f=e.dataset.tooltipPackage??``,p=e.dataset.tooltipEcosystem??``,m=e.dataset.tooltipVersion??``,h=e.dataset.tooltipFiles??``,g=e.dataset.tooltipLoc??``,_=e.dataset.tooltipSize??``,v=e.tooltipContent??null,y=v??JSON.stringify([i,a,o,s,c,l,u,d,f,p,m,h,g,_]);if(!i){Q();return}if(q===e&&an===y)return;if(n.textContent=a||v?``:i,v){let e=document.createElement(`div`);e.className=`tooltip-rich`,ne(v,e),n.append(e)}if(a){let e=document.createElement(`span`);e.className=`tooltip-text`,e.innerHTML=A(Qt[a]);let t=document.createElement(`span`);t.textContent=i,e.append(t),n.append(e)}if(f){let t=document.createElement(`div`);t.className=`tooltip-package`;let r=(e.querySelector(`[data-tooltip-package-icon] svg`)??e.querySelector(`svg`))?.cloneNode(!0);r&&t.append(r);let i=document.createElement(`span`);i.className=`tooltip-package-details`;let a=(e,t)=>/^\d+$/u.test(e)?`${Number(e).toLocaleString()} ${t}`:``;for(let e of[f,m,a(h,h===`1`?`file`:`files`),a(g,`LoC`),_].filter(Boolean)){let t=document.createElement(`span`);t.textContent=e,i.append(t)}t.append(i),n.append(t)}if(o||s){let e=document.createElement(`div`);if(e.className=`tooltip-repo`,o){e.innerHTML=A(x);let t=document.createElement(`span`);t.textContent=o,e.append(t)}if(s){let t=document.createElement(`span`);t.className=`tooltip-commit`,t.innerHTML=A(S);let n=document.createElement(`span`);n.textContent=s.slice(0,7),t.append(n),e.append(t)}if(n.append(e),s&&c?.tags.length){let e=document.createElement(`div`);e.className=`tooltip-tags`;for(let t of c.tags.slice(0,$t)){let n=document.createElement(`span`);n.className=`tooltip-tag`,n.innerHTML=A(ee);let r=document.createElement(`span`);r.textContent=t,n.append(r),e.append(n)}if(c.tags.length>$t){let t=document.createElement(`span`);t.className=`tooltip-tag-more`,t.textContent=`+${(c.tags.length-$t).toLocaleString()} more`,e.append(t)}n.append(e)}}if(c?.details&&n.append(tn(c.details)),l||u||d){let e=document.createElement(`div`);if(e.className=`tooltip-bundle`,l===`stasis`){let t=document.createElement(`img`);t.src=`./stasis.svg`,t.alt=``,e.append(t)}else e.innerHTML=A(te);let t=document.createElement(`span`);t.textContent=[l===`stasis`?`Stasis`:l===`sourcemap`?`Sourcemap`:``,d?`Built on server`:``,u].filter(Boolean).join(` · `),e.append(t),n.append(e)}rn(n),n.style.left=`0px`,n.style.top=`0px`,n.style.transform=`none`,n.classList.add(`visible`);let b=on,C=sn+un;if(t===`right`||t===`right-start`){let n=e.getBoundingClientRect();b=n.right+dn,C=n.top+(t===`right`?n.height/2:0)}let w=window.innerWidth-n.offsetWidth-Z,T=Math.max(Z,Math.min(b,w));n.style.left=`${Math.round(T)}px`;let E=n.offsetHeight,D=t===`right`?C-E/2:C,O=window.innerHeight-E-Z,re=Math.max(Z,Math.min(D,O));n.style.top=`${Math.round(re)}px`,q=e,an=y}function Q(e){e&&!e.contains(q)&&!e.contains(Y)||(clearTimeout(J),J=null,Y=null,K&&(K.classList.remove(`visible`),typeof K.hidePopover==`function`&&K.matches(`:popover-open`)&&K.hidePopover()),q=null)}function pn(e,{gate:t,placement:n}={}){X();let r=()=>e.isConnected!==!1&&(!Object.hasOwn(e.dataset,`tooltipTruncated`)||e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)&&(!t||t(e));if(!r()){Q();return}e===q||e===Y||(Q(),Y=e,J=setTimeout(()=>{J=null,Y=null,r()&&fn(e,{placement:n})},ln))}var mn=new WeakSet;function hn(e,t){for(let n of e.composedPath()){if(n===t)break;if(n.nodeType===1&&Object.hasOwn(n.dataset,`tooltip`))return n}return null}function gn(e,t){!e||mn.has(e)||(mn.add(e),e.ownerDocument&&X(),e.addEventListener(`mouseover`,n=>{if(n.buttons){Q();return}let r=hn(n,e);if(!r){Q();return}r!==q&&pn(r,t)}),e.addEventListener(`mouseout`,t=>{let n=hn(t,e),r=t.relatedTarget?.closest?.(`[data-tooltip]`)??null;n&&n===r||Q()}),e.addEventListener(`scroll`,()=>Q(e),{capture:!0,passive:!0}))}var _n=!1;function vn(){_n||(_n=!0,X(),document.addEventListener(`tooltip-root-connected`,e=>{gn(e.composedPath()[0]?.shadowRoot)}),document.body.addEventListener(`mouseover`,e=>{if(e.target.closest(`[data-tooltip-managed]`))return;if(e.buttons){Q();return}let t=e.target.closest(`[data-tooltip]`);!t||t===q||pn(t)}),document.body.addEventListener(`mouseout`,e=>{e.target.closest(`[data-tooltip-managed]`)||e.relatedTarget?.closest?.(`[data-tooltip-managed]`)||!q&&!J||(q??Y)?.contains(e.relatedTarget)||Q()}))}function yn(e){return`tree-`+e.replaceAll(/[^\w-]+/gu,`_`)}var bn=()=>Object.fromEntries(f.map(e=>[e,0]));function xn(e,t){let n=new Map;for(let r of e)for(let e of r){n.has(e.file)||n.set(e.file,bn());let r=n.get(e.file),i=p(e,t);r[i]!==void 0&&r[i]++}return n}var $={trees:[],merged:null};function Sn(e){let t=e.map(e=>e?.tree??null);return t.length===$.trees.length&&t.every((e,t)=>e===$.trees[t])||($={trees:t,merged:Cn(e)}),$.merged}function Cn(e){let t=null;for(let n of e)if(n?.tree){t||={};for(let e of Object.keys(n.tree)){let r=n.tree[e];if(!t[e]){t[e]={...r,imports:[...r.imports??[]]};continue}let i=new Set(t[e].imports);for(let n of r.imports??[])i.has(n)||(i.add(n),t[e].imports.push(n));t[e].size==null&&r.size!=null&&(t[e].size=r.size)}}return t}function wn(e,t){let n=Object.keys(e),r=new Map(n.map((e,t)=>[e,t])),i=n.map(()=>bn()),a=n.map(()=>[]);for(let[t,i]of n.entries())for(let n of e[i].imports??[]){let e=r.get(n);e!==void 0&&a[e].push(t)}let o=new Uint32Array(n.length),s=0;for(let[e,n]of t){let t=r.get(e);if(t===void 0||!n)continue;let c=f.map(e=>[e,n[e]??0]).filter(([,e])=>e!==0);if(c.length===0)continue;let l=++s,u=[],d=e=>{o[e]!==l&&(o[e]=l,u.push(e))};for(let e of a[t])d(e);for(;u.length>0;){let e=u.pop();for(let[t,n]of c)i[e][t]+=n;for(let t of a[e])d(t)}}return new Map(n.map((e,t)=>[e,i[t]]))}function Tn(e,t,n){let r=t.get(e),i=n.get(e);return En(r)>0||En(i)>0}function En(e){if(!e)return 0;let t=0;for(let n of f)t+=e[n]??0;return t}function Dn(e){if(!e)return null;let t=Re(),n=RegExp(`^(?:.*/)?${t}/(@[^/]+/[^/]+|[^/]+)`,`u`),r=e.match(n);return r?r[1]:`__own__`}function On(e){return new Set(e.filter(e=>!z(e)))}var kn=[`#4e9af1`,`#f28e2b`,`#59a14f`,`#e15759`,`#76b7b2`,`#edc948`,`#b07aa1`,`#ff9da7`,`#9c755f`,`#5cd1e5`,`#f1ce63`,`#d37295`,`#a0cbe8`,`#86bcb6`,`#8cd17d`,`#b6992d`,`#499894`,`#e15759`,`#e879c7`,`#d4a6c8`],An=[`#2f8aef`,`#d2691e`,`#2ea043`,`#e63946`,`#2e9a92`,`#b88817`,`#9560e8`,`#d24a9c`,`#8a5d40`,`#0891b2`,`#a07a14`,`#c14e8e`,`#1f7ad0`,`#549b94`,`#3fb95f`,`#a07a14`,`#2a8278`,`#cb2c40`,`#c026d3`,`#965f93`];function jn(){if(typeof document>`u`)return!1;let e=document.body?.classList;return!!e&&(e.contains(`theme-light`)||e.contains(`theme-pink`)||e.contains(`theme-w95`)||e.contains(`theme-paper`))}var Mn=new Map;function Nn(e){let t=jn()?An:kn;return t[e%t.length]}var Pn=()=>jn()?`#8c959f`:`#6e7681`;function Fn(e){let t=jn(),n=t?An:kn,r=e??`__own__`,i=`${t?`l`:`d`}:${r}`;if(Mn.has(i))return Mn.get(i);let a=0;for(let e of r)a=a*37+e.codePointAt(0)|0;let o=n[((a%n.length+n.length)%n.length*7+3)%n.length];return Mn.set(i,o),o}var In={package:`@babel/core`,path:/^lib\/config\//u},Ln={package:`@babel/core`,path:/^lib\/config\/files\/(?:module-types|plugins)\.js$/u},Rn=Object.freeze([{id:`react-native-codegen-discovery`,reason:`Codegen discovers package metadata and React Native configuration.`,from:{package:`react-native`,path:/^scripts\/codegen\/generate-artifacts-executor\.js$/u},to:{path:/(?:^|\/)(?:package\.json|react-native\.config\.js)$/u}},{id:`react-native-release-version`,reason:`The CLI release checker reads the installed React Native version.`,from:{package:`@react-native-community/cli-tools`,path:/^build\/releaseChecker\/index\.js$/u},to:{package:`react-native`,path:/^package\.json$/u}},{id:`react-native-platform-config`,reason:`React Native configuration loads platform CLIs supplied by the host project.`,from:{package:`react-native`,path:/^react-native\.config\.js$/u},to:{package:/^@react-native-community\/cli-platform-(?:android|ios)$/u,path:/^build\/index\.js$/u}},{id:`babel-project-config`,reason:`Babel discovers project configuration.`,from:In,to:{path:/(?:^|\/)babel\.config\.js$/u}},{id:`babel-typescript-preset`,reason:`Babel configuration loads the TypeScript preset.`,from:In,to:{package:`@babel/preset-typescript`,path:/./u}},{id:`babel-react-native-preset`,reason:`Babel config loaders load the configured React Native preset.`,from:Ln,to:{package:`@react-native/babel-preset`,path:/^(?:src\/)?index\.js$/u}},{id:`babel-reanimated-plugin`,reason:`Babel config loaders load the configured Reanimated plugin, including scoped copies.`,from:Ln,to:{package:/^(?:@[^/]+\/)?react-native-reanimated$/u,path:/^plugin\/index\.js$/u}},{id:`babel-transform-plugin`,reason:`Babel config loaders load configured transform plugins.`,from:Ln,to:{package:/^@babel\/plugin-transform-[^/]+$/u,path:/^lib\/index\.js$/u}},{id:`cosmiconfig-config`,reason:`Cosmiconfig loads discovered configuration, including dependency configuration.`,from:{package:`cosmiconfig`,path:/^dist\/loaders\.js$/u},to:{path:/\.config\.js$/u}},{id:`import-fresh-own-config`,reason:`import-fresh loads host-project configuration.`,from:{package:`import-fresh`,path:/./u},to:{path:/\.config\.js$/u},ownSourceOnly:!0}].map(e=>Object.freeze({...e,from:Object.freeze(e.from),to:Object.freeze(e.to)})));function zn(e){return typeof e==`string`&&!e.includes(`\\`)&&!e.includes(`:`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`node_modules`)}function Bn(e,t){let n=e.package;return n!==void 0&&t.ownSource===!0?!1:(n===void 0||(typeof n==`string`?n===t.package:n.test(t.package??``)))&&e.path.test(t.path)}function Vn(e,t){if(e?.ownSource!==!0&&zn(e?.path)&&zn(t?.path))return Rn.find(n=>(!n.ownSourceOnly||t.ownSource===!0)&&Bn(n.from,e)&&Bn(n.to,t))}function Hn(e,t){let n=e.split(/(?:^|\/)node_modules\//u).slice(1).at(-1)?.match(/^(@[^/]+\/[^/]+|[^/]+)\/(.+)$/u);return{package:n?.[1],path:n?.[2]??e.replace(/^\/+/u,``),ownSource:t??i(e)===`__own__`}}function Un(e,t,n,r){return!Vn(Hn(e,r),Hn(t,n))}function Wn(e,t=e=>e.file){let n=new Map(e.nodes.map(e=>[e.file,e])),r=new Map(e.nodes.map(e=>[t(e),new Set]));for(let[i,a]of e.importsOf){let o=n.get(i);if(o)for(let s of a){let a=n.get(s);a&&Un(o.origFile??i,a.origFile??s,e.ownSourceFiles?.has(s),e.ownSourceFiles?.has(i))&&r.get(t(o)).add(t(a))}}return r}var Gn=class{constructor(e){this.nodes=[...e];for(let[e,t]of this.nodes.entries())t.position=e;for(let e=(this.nodes.length>>1)-1;e>=0;e--)this.down(e)}before(e,t){return Math.abs(e.balance)>Math.abs(t.balance)||Math.abs(e.balance)===Math.abs(t.balance)&&(e.balance>t.balance||e.balance===t.balance&&e.tie<t.tie)}swap(e,t){let n=this.nodes,r=n[e];n[e]=n[t],n[t]=r,n[e].position=e,n[t].position=t}down(e){let t=this.nodes;for(;2*e+1<t.length;){let n=2*e+1;if(n+1<t.length&&this.before(t[n+1],t[n])&&n++,!this.before(t[n],t[e]))break;this.swap(e,n),e=n}}update(e){if(e.position<0)return;let t=e.position;for(;t>0;){let n=t-1>>1;if(!this.before(e,this.nodes[n]))break;this.swap(t,n),t=n}this.down(t)}take(){let e=this.nodes[0],t=this.nodes.pop();return e.position=-1,this.nodes.length>0&&(this.nodes[0]=t,t.position=0,this.down(0)),e}};function Kn(e,t){for(let n=0;n<8;n++){let r=!1;for(let i=0;i<e.length-1;i++){let a=n%2?e.length-2-i:i,o=e[a],s=e[a+1];(t.get(s)?.get(o)?.cycleCount??0)<=(t.get(o)?.get(s)?.cycleCount??0)||(e[a]=s,e[a+1]=o,r=!0)}if(!r)break}return e}function qn(e){let t=[],n=new Set;for(let t of e.values())t.outgoing.sort((e,t)=>t[1]-e[1]||e[0].tie-t[0].tie);for(let r of e.values()){if(n.has(r))continue;let e=[{node:r,next:0}];for(n.add(r);e.length>0;){let r=e.at(-1);if(r.next===r.node.outgoing.length){t.push(r.node.id),e.pop();continue}let i=r.node.outgoing[r.next++][0];n.has(i)||(n.add(i),e.push({node:i,next:0}))}}return t.toReversed()}function Jn(e,t){let n=new Map(e.map((e,t)=>[e,t])),r=0;for(let e of t.values())for(let[t,i]of e.outgoing)n.get(e.id)<n.get(t.id)&&(r+=i);return r}function Yn(e,t){let n=Jn(e,t),r=n,i=0;for(let a=0;a<e.length-1;a++)n-=t.get(e[a]).originalBalance,n>r&&(r=n,i=a+1);return[...e.slice(i),...e.slice(0,i)]}function Xn(e,t){if(e.length<2)return e;let n=new Map(e.map((e,t)=>[e,{id:e,tie:t,balance:0,incoming:[],outgoing:[]}]));for(let e of n.values())for(let r of t.get(e.id)?.values()??[]){let t=n.get(r.to);!t||t===e||!r.cycleCount||(e.outgoing.push([t,r.cycleCount]),t.incoming.push([e,r.cycleCount]),e.balance+=r.cycleCount,t.balance-=r.cycleCount)}for(let e of n.values())e.originalBalance=e.balance;let r=[],i=new Gn(n.values()),a=[];for(;i.nodes.length>0;){let e=i.take();e.balance>=0?r.push(e.id):a.push(e.id);for(let[t,n]of e.outgoing)t.position<0||(t.balance+=n,i.update(t));for(let[t,n]of e.incoming)t.position<0||(t.balance-=n,i.update(t))}let o=e,s=Jn(e,n);for(let i of[[...r,...a.toReversed()],qn(n),e,e.toReversed()]){let e=Kn(Yn(i,n),t),r=Jn(e,n);r>s&&(o=e,s=r)}return o}function Zn(e,t){let n=new Set(e),r=new Map(e.map(e=>[e,[]]));for(let[e,i]of t)for(let t of i)n.has(e)&&n.has(t)&&r.get(t).push(e);let i=[],a=new Set;for(let r of e){if(a.has(r))continue;a.add(r);let e=[[r,(t.get(r)??[])[Symbol.iterator]()]];for(;e.length>0;){let[r,o]=e.at(-1),s=o.next();if(s.done){i.push(r),e.pop();continue}n.has(s.value)&&!a.has(s.value)&&(a.add(s.value),e.push([s.value,(t.get(s.value)??[])[Symbol.iterator]()]))}}let o=new Map,s=[];for(let e of i.toReversed()){if(o.has(e))continue;let t=[],n=s.length,i=[e];for(o.set(e,n);i.length>0;){let e=i.pop();t.push(e);for(let t of r.get(e))o.has(t)||(o.set(t,n),i.push(t))}s.push(t.toSorted())}return{groups:s,componentOf:o}}function Qn(e,{expanded:t=new Set,order:n=`structure`,query:r=``,neighborhood:i=null,cyclesOnly:o=!1}={}){let s=new Map,c=new Map,l=new Map;for(let n of e.nodes){let e=t.has(n.pkg),r=`${e?`f`:`p`}:${e?n.file:n.pkg}`;s.has(r)||s.set(r,{id:r,pkg:n.pkg,file:e?n.file:null,label:e?n.file:a(n.pkg),files:[],size:0,issues:0,incoming:0,outgoing:0,importers:0,dependencies:0});let i=s.get(r);i.files.push(n.file),i.size+=n.size??0,i.issues+=n.totalIssues??0,c.set(n.file,r),l.set(n.file,n.origFile??n.file)}let u=new Map,d=new Set,f=new Set,p=new Map([...s.keys()].map(e=>[e,new Set])),m=0;for(let[t,n]of e.importsOf){let r=c.get(t);if(r)for(let i of new Set(n)){let n=c.get(i);if(!n)continue;u.has(r)||u.set(r,new Map),u.get(r).has(n)||u.get(r).set(n,{from:r,to:n,count:0,cycleCount:0,examples:[]});let a=u.get(r).get(n);a.count++;let h=Un(l.get(t),l.get(i),e.ownSourceFiles?.has(i),e.ownSourceFiles?.has(t));a.examples.length<80&&(!o||h)&&a.examples.push([t,i]),m++,s.get(r).outgoing++,s.get(n).incoming++,r!==n&&(f.add(r),d.add(n)),h&&(a.cycleCount++,(r!==n||s.get(r).file)&&p.get(r).add(n))}}let h=[...s.keys()].toSorted(),{groups:g,componentOf:_}=Zn(h,p),v=new Set(g.flatMap(e=>e.length>1||p.get(e[0]).has(e[0])?e:[]));for(let e of s.values())e.cyclic=v.has(e.id),e.component=_.get(e.id);let ee=e.ownSourcePackages??new Set(e.layerRoots?.roots??[]),y=e=>e.pkg===`__own__`?0:ee.has(e.pkg)?1:2,b=e=>d.has(e.id)&&f.has(e.id)?0:1,te=new Map(g.map((e,t)=>[t,e.reduce((e,t)=>Math.min(e,y(s.get(t))),2)])),x=(e,t)=>e.pkg.localeCompare(t.pkg)||e.label.localeCompare(t.label),S=new Map;if(n===`structure`){for(let e of g)if(!(e.length<2))for(let t of Map.groupBy(e,e=>y(s.get(e))).values())Xn(t.toSorted((e,t)=>x(s.get(e),s.get(t))),u).forEach((e,t)=>S.set(e,t))}if(o){m=0,d.clear(),f.clear();for(let e of s.values())e.incoming=0,e.outgoing=0}for(let[e,t]of u){for(let n of t.values())if(n.cyclic=n.cycleCount>0&&v.has(e)&&_.get(e)===_.get(n.to)&&(e!==n.to||s.get(e).file!==null),o){if(!n.cyclic){t.delete(n.to);continue}n.count=n.cycleCount,m+=n.count,s.get(e).outgoing+=n.count,s.get(n.to).incoming+=n.count,e!==n.to&&(f.add(e),d.add(n.to))}t.size===0&&u.delete(e)}for(let[e,t]of u)for(let n of t.keys())e!==n&&(s.get(e).dependencies++,s.get(n).importers++);let C=r.trim().toLowerCase(),w=new Set(h.filter(e=>!C||s.get(e).files.some(e=>e.toLowerCase().includes(C))||s.get(e).label.toLowerCase().includes(C))),T=new Set(i?[i]:w);if(C||i)for(let[e,t]of u)for(let n of t.keys())(i?e===i:w.has(e))&&T.add(n),(i?n===i:w.has(n))&&T.add(e);let E=(e,t)=>{if(n===`structure`){let n=te.get(e.component)-te.get(t.component);if(n)return n;let r=b(e)-b(t);if(r)return r;let i=e.component-t.component;if(i)return i}let r=y(e)-y(t);if(r)return r;if(n===`importers`)return t.importers-e.importers||x(e,t);if(n===`imports`)return t.dependencies-e.dependencies||x(e,t);let i=b(e)-b(t);if(i)return i;if(n===`structure`&&e.component===t.component){let n=(S.get(e.id)??0)-(S.get(t.id)??0);if(n)return n}return x(e,t)},D=[...s.values()].filter(e=>T.has(e.id)&&(!o||e.cyclic)).toSorted(E),O=new Map(D.map((e,t)=>[e.id,t])),ne=[];for(let[e,t]of u)if(O.has(e))for(let n of t.values())O.has(n.to)&&ne.push({...n,row:O.get(e),col:O.get(n.to)});return{rows:D,byId:s,cells:u,visibleCells:ne,index:O,matches:w,importCount:m,totalRows:s.size,cycleCount:g.filter(e=>v.has(e[0])).length}}export{re as a,A as b,oe as c,j as d,se as e,M as f,ce as g,N as h,le as i,ue as j,de as k,P as l,pe as m,he as n,_e as o,ve as p,ye as q,be as r,xe as s,I as t,Se as u,Ce as v,we as w,Te as x,De as y,Oe as z,ke as A,Le as B,Re as C,z as D,ze as E,Ue as F,We as G,Ke as H,qe as I,Je as J,Ye as K,Xe as L,nt as M,H as N,ot as O,ut as P,ht as Q,vt as R,xt as S,G as T,Ct as U,Tt as V,Et as W,Ot as X,kt as Y,At as Z,jt as _,Nt as $,Pt as aa,Gt as ba,Kt as ca,Zt as da,fn as ea,Q as fa,pn as ga,gn as ha,vn as ia,yn as ja,xn as ka,Sn as la,wn as ma,Tn as na,En as oa,Dn as pa,On as qa,Nn as ra,Pn as sa,Fn as ta,Xn as ua,Un as va,Wn as wa,Zn as xa,Qn as ya};
|
|
28
|
-
/*! Bundled license information:
|
|
29
|
-
|
|
30
|
-
lit-html/directives/class-map.js:
|
|
31
|
-
(**
|
|
32
|
-
* @license
|
|
33
|
-
* Copyright 2018 Google LLC
|
|
34
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
35
|
-
*)
|
|
36
|
-
*/
|
package/out/chunk-IZ7POWI3.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import{a as e,b as t,d as n,e as r}from"./chunk-2ZDZWLFY.js";import"./chunk-PXK7EU4V.js";import{a as i,b as a,c as o,d as s,e as c,f as l,g as u,h as d,i as f,j as p,k as m,l as h,m as g,n as _,o as v,p as y,q as b,r as x,s as ee}from"./chunk-VH4XMZIW.js";import"./chunk-OOJM4CTU.js";var te=Object.freeze(Object.create(null));function S(e){return e===void 0?`nothing`:e===null?`null`:Array.isArray(e)?`a sequence`:typeof e==`object`?`a mapping`:typeof e==`string`?`the string ${u(e)}`:`the ${typeof e} ${String(e)}`}function ne(e,t,n,r,i){let a=(t,n,r)=>new s(`expected ${t}, found ${e(n)}`,r),o=(e,t)=>(n,r)=>{if(!e(n))throw a(t,n,r);return n},c=(e,i,o,c={})=>{if(!t(e))throw a(n,e,i);for(let t of o===void 0?[]:Object.keys(e)){if(Object.hasOwn(c,t))throw new s(c[t],d(i??``,t));if(!o.includes(t))throw new s(`unsupported ${r} ${u(t)}`,i)}return e};return{refuse:a,record:c,entries:(e,t)=>Object.entries(c(e,t)).map(([e,n])=>[e,n,d(t,e)]),sequence:o(Array.isArray,i),string:o(e=>typeof e==`string`,`a string`),boolean:o(e=>typeof e==`boolean`,`true or false`),count:o(e=>Number.isSafeInteger(e)&&e>=0,`a non-negative integer`)}}var C=e=>typeof e==`object`&&!!e&&!Array.isArray(e),{refuse:w,record:T,entries:E,sequence:re,string:D,boolean:O,count:ie}=ne(S,C,`a mapping`,`field`,`a sequence`),k=e=>e===void 0?te:e,A=(e,t,n,r)=>e[t]===void 0?void 0:r(e[t],d(n,t));function j(e,t){if(D(e,t)===``)throw new s(`expected a non-empty string`,t);return e}function M(e,t,n=e=>e){return re(e,t).map((e,r)=>n(j(e,`${t}[${r}]`),`${t}[${r}]`))}function N(e,t,n,r=E){let i=Object.create(null);for(let[a,o,s]of r(e,t))i[a]=n(o,s,a);return i}var P=(e,t,n=()=>{})=>N(e,t,(e,t,r)=>(n(r,t),D(e,t)));function F(e,t){if(e!==void 0&&e!==!0)throw w(`true`,e,t);return e===!0}var ae=e=>(t,n)=>(r,i)=>{let a=e(r,i);if(!t(a))throw new s(`${u(a)} is not ${n}`,i);return a};function oe(e,t){if(!C(e))throw TypeError(`expected an options object`);let n=Object.keys(e).find(e=>!t.includes(e));if(n!==void 0)throw TypeError(`unknown option ${u(n)}, of ${t.join(`, `)}`);return e}function se({checkVersions:e=!0,semver:t},n){if(typeof e!=`boolean`)throw TypeError(`checkVersions: expected a boolean`);if(t!==void 0&&!n.every(e=>typeof t?.[e]==`function`))throw TypeError(`semver: expected the semver package, with ${n.join(`, `)}`);if(e&&t===void 0)throw TypeError(`checkVersions needs semver: pass it as semver, or set checkVersions to false`);return e}function ce(e,t=new Set){if(t.has(e))return;t.add(e);let{parent:n}=e;if(n===void 0)return;let r=ce(n,t);return r===void 0?n.bundleDependencies?.includes(e.folder)||e.edgesIn.some(e=>ce(e.from,t)===n)?n:void 0:r}var le=({parent:e})=>e!==void 0&&(e.bundleDependencies!==void 0||le(e)),ue=e=>le(e)?ce(e):void 0;function de(e,t){let n=ue(e);return n!==void 0&&n!==t}function fe(e,t){let n=ue(e);if(e.inBundle!==(n!==void 0))throw new s(n===void 0?`set, where nothing bundles it`:`expected true, as ${u(n.location)} bundles it`,d(e.where,`inBundle`));let{resolution:r}=e;if(n===void 0||n===t){if(r===void 0)throw new s(`expected where it comes from, resolved or an integrity`,e.where)}else if(r!==void 0){let t=r.type===`git`||r.tarball!==void 0?`resolved`:`integrity`;throw new s(`npm takes it from the tarball of ${u(n.location)}, and from nothing else`,d(e.where,t))}}function pe(e){let t=e.get(``);for(let n of e.values())n.kind===`package`&&fe(n,t)}var me=ae(j),he=/^(?:@[\dA-Za-z~-][\w.~-]*\/)?[\dA-Za-z~-][\w.~-]*$/u,ge=e=>e.length<=214&&he.test(e);function I(e,t){if(!ge(e))throw new s(`${u(e)} is not a package name`,t);return e}var _e=`(0|[1-9]\\d*)`,ve=`(?:0|[1-9]\\d*|\\d*[A-Za-z-][\\dA-Za-z-]*)`,ye=RegExp(`^${_e}\\.${_e}\\.${_e}(?:-${ve}(?:\\.${ve})*)?(?:\\+[\\dA-Za-z-]+(?:\\.[\\dA-Za-z-]+)*)?$`,`u`);function be(e){if(e.length>256)return!1;let t=ye.exec(e);return t!==null&&t.slice(1,4).every(e=>Number(e)<=2**53-1)}var xe=me(be,`a version`),Se=/[\p{Cc}\p{Zl}\p{Zp}\p{Bidi_Control}\\]/u,Ce=e=>e!==``&&e!==`.`&&e!==`..`&&!Se.test(e),we=e=>!/^[A-Za-z]:/u.test(e)&&e.split(`/`).every(Ce);function L(e,t){let n=j(e,t);if(n===`.`)return n;let r=!0;for(let e of n.split(`/`))if(!(e===`..`&&r)&&(r=!1,!Ce(e)))throw new s(`${u(n)} is not a relative path in normal form`,t);if(/^[A-Za-z]:/u.test(n))throw new s(`${u(n)} starts with a drive letter`,t);return n}function Te(e,t){let n=L(e,t);if(n===`..`||n.startsWith(`../`))throw new s(`${u(n)} climbs out of the directory it is in`,t);return n}function Ee(e,t){let n=e===`.`?[]:e.split(`/`);for(let e of t===`.`?[]:t.split(`/`))e===`..`&&n.length>0&&n.at(-1)!==`..`?n.pop():n.push(e);return n.length===0?`.`:n.join(`/`)}var De=(e,t)=>Ee(e,t.split(`/`).filter(e=>e!==``&&e!==`.`).join(`/`)||`.`);function Oe(e,t){let n=e===`.`?[]:e.split(`/`),r=t===`.`?[]:t.split(`/`),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;return[...n.slice(i).map(()=>`..`),...r.slice(i)].join(`/`)||`.`}var ke=e=>/^(?:[\da-f]{40}|[\da-f]{64})$/u.test(e),Ae=e=>/^[\da-f]{40}$/u.test(e),je=/^$|^@$|^-|[\p{Cc}\p{Zl}\p{Zp}\p{Bidi_Control} ~^:?*[\\]|\.\.|@\{|^\/|\/$|\/\/|(?:^|\/)\.|\.lock(?:\/|$)|\.$/u;me(e=>!je.test(e),`a branch or tag name git takes`);var Me=/^(?:[^/:]*:\/\/)?(?:[^/@]*@)?-/u,Ne=/^[\dA-Za-z][\d+.A-Za-z-]*::/u,Pe=e=>e.replace(/%([\dA-Fa-f]{2})/gu,(e,t)=>String.fromCodePoint(Number.parseInt(t,16)));function Fe(e,t){let n=j(e,t);if(Me.test(n)||Me.test(Pe(n)))throw new s(`${u(n)} has a "-" where git or ssh would read an option`,t);if(Ne.test(n))throw new s(`${u(n)} names a remote helper of git's, which is not supported`,t);return n}function Ie(e,t){if(/[\s\p{Cc}]/u.test(j(e,t)))throw new s(`${u(e)} is not a repository URL`,t);return Fe(e,t)}var Le={__proto__:null,sha1:20,sha256:32,sha384:48,sha512:64},Re=e=>l(()=>t(e,{padding:!0}).length,()=>{});function ze(e,t){let n=j(e,t),r=n.indexOf(`-`),i=r===-1?void 0:Le[n.slice(0,r)];if(i===void 0||Re(n.slice(r+1))!==i)throw new s(`${u(e)} is not a sha1, sha256, sha384 or sha512 integrity`,t);return e}function Be(e,t){let n=new Map;for(let r of j(e,t).split(` `)){let e=ze(r,t).slice(0,r.indexOf(`-`));if(n.has(e))throw new s(`two ${e} integrities`,t);n.set(e,r)}return n}var Ve=e=>/^https?:\/\//u.test(e)&&!/[\s\p{Cc}]/u.test(e)&&URL.canParse(e),He=new Set([`registry.npmjs.org`,`registry.npmjs.com`,`registry.yarnpkg.com`]);function Ue(e,t,n,r){let i=new URL(e),a=i.hostname.replace(/(?<!\.)\.+$/u,``);if(He.has(a)&&i.pathname.replace(/^(\/@[^/]+)%2f/iu,`$1/`)!==`/${t}/-/${t.slice(t.indexOf(`/`)+1)}-${n}.tgz`)throw new s(`${u(e)} is not the registry's tarball of ${t}@${n}`,r)}var We=e=>e?.endsWith(`.git`)?e.slice(0,-4):e;function Ge(e,t,n){let r=We(t);return e&&r?{user:e,project:r,committish:n}:void 0}var Ke=e=>t=>{let[,n,r,i]=t.pathname.split(`/`,4);return i===e?void 0:Ge(n,r,t.hash.slice(1))},R={__proto__:null,github:{protocols:[`git:`,`http:`,`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`github.com`,extract:e=>{let[,t,n,r,i]=e.pathname.split(`/`,5);if(!(r&&r!==`tree`))return Ge(t,n,r?i:e.hash.slice(1))}},bitbucket:{protocols:[`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`bitbucket.org`,extract:Ke(`get`)},gitlab:{protocols:[`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`gitlab.com`,extract:e=>{let t=e.pathname.slice(1);if(t.includes(`/-/`)||t.includes(`/archive.tar.gz`))return;let n=t.split(`/`),r=n.pop();return Ge(n.join(`/`),r,e.hash.slice(1))}},gist:{protocols:[`git:`,`git+ssh:`,`git+https:`,`ssh:`,`https:`],domain:`gist.github.com`,extract:e=>{let[,t,n,r]=e.pathname.split(`/`,4);if(r!==`raw`&&(t||n))return{user:n?t:null,project:We(n||t),committish:e.hash.slice(1)}}},sourcehut:{protocols:[`git+ssh:`,`https:`],domain:`git.sr.ht`,extract:Ke(`archive`)}},qe=new Map(Object.entries(R).map(([e,t])=>[t.domain,e])),Je=new Map(Object.keys(R).map(e=>[`${e}:`,e])),Ye=new Set([`git+ssh:`,`ssh:`,`git+https:`,`git:`,`http:`,`https:`,`git+http:`,...Je.keys()]);function Xe(e){let t=e.indexOf(`#`),n=e=>e===-1||t>-1&&e>t,r=e.indexOf(`/`);return n(e.search(/\s/u))&&r>0&&(t>-1?e[t-1]!==`/`:!e.endsWith(`/`))&&!e.startsWith(`.`)&&n(e.indexOf(`@`))&&n(e.indexOf(`:`))&&n(e.indexOf(`/`,r+1))}var Ze=(e,t,n)=>{let r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)};function Qe(e){let t=e.indexOf(`:`);if(Ye.has(e.slice(0,t+1))||e.slice(t,t+3)===`://`)return e;let n=e.indexOf(`@`);return n>-1?n>t?`git+ssh://${e}`:e:`${e.slice(0,t+1)}//${e.slice(t+1)}`}function $e(e){let t=e,n=Ze(t,`:`,`#`);return n>Ze(t,`@`,`#`)&&(t=`${t.slice(0,n)}/${t.slice(n+1)}`),Ze(t,`:`,`#`)===-1&&!t.includes(`//`)&&(t=`git+ssh://${t}`),t}var z=e=>e&&decodeURIComponent(e);function et(e){let t=e.pathname.startsWith(`/`)?e.pathname.slice(1):e.pathname,n=t.indexOf(`@`);n>-1&&(t=t.slice(n+1));let r=t.lastIndexOf(`/`),i=We(z(t.slice(r+1)));return{user:r>-1&&z(t.slice(0,r))||null,project:i,committish:z(e.hash.slice(1))||null}}function tt(e){if(!e)return;let t=Qe(Xe(e)?`github:${e}`:e),n=URL.parse(t)??URL.parse($e(t));if(n===null)return;let r=Je.get(n.protocol),i=r??qe.get(n.hostname.replace(/^www\./u,``));if(i!==void 0)try{if(r!==void 0)return{type:i,...et(n)};if(!R[i].protocols.includes(n.protocol))return;let e=R[i].extract(n);return e===void 0?void 0:{type:i,user:z(e.user),project:z(e.project),committish:z(e.committish)||null}}catch(e){if(e instanceof URIError)return;throw e}}function nt({type:e,user:t,project:n,committish:r},i){let a=i&&r?`#${r}`:``;return e===`gist`?`git@${R[e].domain}:${n}.git${a}`:`git@${R[e].domain}:${t}/${n}.git${a}`}var rt=/^(?:[Gg][Ii][Tt]\+)?[A-Za-z]+:/u,it=/^[^@]+@[^.:]+\.[^:]+:.+$/iu,at=/\.(?:tgz|tar\.gz|tar)$/iu,ot=e=>at.test(e),st=/^git(?:\+(?:https?|rsync|ftp|ssh))?:/u,B=(e,t)=>new s(`${u(e)} is ${t}`);function ct(e,t){let n=at.test(e)?`file`:`directory`;if(/^file:/iu.test(e)&&!e.startsWith(`file:`))throw B(e,`a path whose "file:" npm reads in another case otherwise`);let r=e.startsWith(`file:`)?e.slice(5):e;if(/^(?:[/~]|[A-Za-z]:)/u.test(r))throw B(e,`a path from the root, a drive or the home directory, which a lockfile does not hold`);return{type:n,path:De(t,r)}}function lt(e,t){let n={committish:null,range:null};for(let r of t?t.split(`::`):[]){let[t,i]=r.includes(`:`)?r.split(`:`):[void 0,r];if(t===`path`)throw B(e,`a subdirectory of a repository, which is not supported`);if(t!==void 0&&t!==`semver`)throw B(e,`a git spec with ${u(t)}, which npm passes over`);if(n.committish!==null||n.range!==null)throw B(e,`a git spec with two refs or ranges, which npm refuses`);t===void 0?n.committish=i:n.range=ut(e,i)}return n}var ut=(e,t)=>l(()=>decodeURIComponent(t),()=>{throw B(e,`a git spec npm cannot decode`)});function dt(e){let t=e.startsWith(`git+ssh:`)?/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/iu.exec(e):null;if(t!==null&&!/:\d+(?:\/|$)/u.test(t[1]))return{type:`git`,hosted:void 0,fetchSpec:t[1],...lt(e,t[2])};let n=URL.parse(e);if(n===null)throw B(e,`not a URL npm reads`);if(n.protocol===`http:`||n.protocol===`https:`)return{type:`remote`,url:e};if(!st.test(n.protocol))throw B(e,`of a protocol npm does not read, ${u(n.protocol)}`);let r=lt(e,n.hash.slice(1));return n.hash=``,{type:`git`,hosted:void 0,fetchSpec:n.href.replace(/^git\+/u,``),...r}}function ft(e,t,n){let r=t.trim();if(n===void 0)return{type:`registry`,name:e,fetchSpec:r,kind:void 0};let i=`tag`;if(n.valid(r,!0)===null?n.validRange(r,!0)!==null&&(i=`range`):i=`version`,i===`tag`&&encodeURIComponent(r)!==r)throw B(t,`a tag npm refuses, of a character a URL escapes`);return{type:`registry`,name:e,fetchSpec:r,kind:i}}function V(e,t,n,r){if(/^(?:file:|[.]|~\/|\/|[A-Za-z]:)/iu.test(t))return ct(t,n);if(/^npm:/iu.test(t))return mt(t,n,r);let i=tt(t);return i===void 0?rt.test(t)?dt(t):t.includes(`/`)||at.test(t)?ct(t,n):ft(e,t,r):{type:`git`,hosted:i,fetchSpec:void 0,...lt(t,i.committish)}}function pt(e,t,n){let r=e.indexOf(`@`,1),i=r>0?e.slice(0,r):e;return rt.test(e)?V(void 0,e,t,n):it.test(e)?V(void 0,`git+ssh://${e}`,t,n):!i.startsWith(`@`)&&(i.includes(`/`)||at.test(i))?V(void 0,e,t,n):V(I(i,void 0),r>0&&e.slice(r+1)||`*`,t,n)}function mt(e,t,n){let r=pt(e.slice(4),t,n);if(r.type===`alias`)throw B(e,`an alias of an alias, which npm refuses`);if(r.type!==`registry`||r.name===void 0)throw B(e,`an alias of no package of the registry, which npm refuses`);return{type:`alias`,sub:r}}var ht=(e,t,n,r)=>V(e,t||`*`,n,r),gt=e=>V(void 0,e,`.`,void 0),H=[`dev`,`optional`,`devOptional`,`peer`],_t=[`name`,`version`,`dependencies`,`optionalDependencies`,`peerDependencies`,`peerDependenciesMeta`,`bundleDependencies`,`acceptDependencies`,`funding`,`engines`,`os`,`cpu`,`libc`,`license`,`hasInstallScript`,`bin`,`deprecated`,`workspaces`,...H],vt={link:[`link`,`resolved`],importer:[..._t,`devDependencies`],package:[..._t,`resolved`,`integrity`,`inBundle`]},yt={hasShrinkwrap:`a shrinkwrap of its own, which is not supported`,extraneous:`nothing leads to it, and npm prunes it rather than install it`};function U(e,t){if(typeof e==`object`&&e&&Object.keys(e).length===0)throw new s(`expected what npm writes, which leaves an empty ${Array.isArray(e)?`sequence`:`mapping`} out`,t);return e}var bt=e=>(t,n)=>N(U(t,n),n,e),xt=(e,t)=>P(U(e,t),t,I),St=(e,t)=>I(j(e,t),t),Ct=(e,t)=>M(U(e,t),t,I),W=(e,t)=>M(U(e,t),t),wt=e=>(t,n)=>Array.isArray(t)?W(t,n):e(t,n),Tt=bt((e,t,n)=>(I(n,t),{optional:A(T(e,t),`optional`,t,O)??!1}));function Et(e,t){return typeof e==`string`?j(e,t):(T(U(e,t),t),{type:A(e,`type`,t,j),url:A(e,`url`,t,j)})}var Dt=(e,t)=>Array.isArray(e)?U(e,t).map((e,n)=>Et(e,`${t}[${n}]`)):Et(e,t);function Ot(e,t,n){if(!Ce(n)||/[/:]/u.test(n))throw new s(`${u(n)} is not the name of a bin, as npm writes one`,t);if(!we(j(e,t).replace(/\/$/u,``)))throw new s(`${u(e)} is not a path within the package, as npm writes a bin's`,t);return e}var kt=wt((e,t)=>(T(U(e,t),t,[`packages`,`nohoist`]),A(e,`nohoist`,t,W),W(e.packages,d(t,`packages`)))),At={__proto__:null,dependencies:xt,optionalDependencies:xt,peerDependencies:xt,devDependencies:(e,t)=>P(e,t,I),peerDependenciesMeta:Tt,acceptDependencies:xt,bundleDependencies:Ct,funding:Dt,engines:wt((e,t)=>P(U(e,t),t)),os:W,cpu:W,libc:W,license:wt(j),bin:bt(Ot),deprecated:j,workspaces:kt};function jt(e,t){let n=Object.fromEntries(H.map(n=>[n,F(e[n],d(t,n))]));if(n.devOptional&&(n.dev||n.optional))throw new s(`set beside dev or optional, where npm leaves it out`,d(t,`devOptional`));return n}var Mt=(e,t)=>Be(e,t)&&e;function Nt(e,t,n,r){if(e.startsWith(`file:`)){if(!ot(e))throw new s(`${u(e)} is a directory, which npm packs again at every install: not supported`,r);L(e.slice(5),r);return}if(!Ve(e))throw new s(`${u(e)} is not an http(s) URL, a file: tarball or a git URL`,r);if(tt(e)!==void 0)throw new s(`${u(e)} is a repository to npm, which it reads as one on a git host`,r);Ue(e,t,n,r)}function Pt(e,t,n,r){let i=d(t,`resolved`),a=A(e,`resolved`,t,j),o=A(e,`integrity`,t,Mt);if(a===void 0)return o===void 0?void 0:{type:`tarball`,tarball:void 0,integrity:o};if(st.test(a)){if(o!==void 0)throw new s(`an integrity, which npm does not check for a git repository`,d(t,`integrity`));let e=a.lastIndexOf(`#`);if(e===-1||!ke(a.slice(e+1)))throw new s(`expected a full commit hash after the "#" of ${u(a)}`,i);return{type:`git`,repo:Ie(a.slice(0,e),i),commit:a.slice(e+1)}}if(Nt(a,n,r,i),o===void 0)throw new s(`expected an integrity, which npm checks the tarball with`,t);return{type:`tarball`,tarball:a,integrity:o}}function Ft(e){let t=e.split(`/`),n=t.at(-1);return t.at(-2)?.startsWith(`@`)?`${t.at(-2)}/${n}`:n}function It(e,t){if(T(e,t,vt.link,yt),e.link!==!0)throw w(`true`,e.link,d(t,`link`));return e.resolved===``?``:L(e.resolved,d(t,`resolved`))}function Lt(e,t,n,r){T(e,t,vt[n],yt);let i=Object.create(null);for(let n of Object.keys(At))i[n]=A(e,n,t,At[n]);if(n===`importer`&&r!==void 0&&i.bundleDependencies!==void 0)throw new s(`a bundle of a directory, which is not supported`,d(t,`bundleDependencies`));let a=A(e,`name`,t,St);if(a!==void 0&&a===r)throw new s(`the name of its folder, which npm leaves out`,d(t,`name`));let o=A(e,`version`,t,n===`package`?xe:j);if(n===`package`&&o===void 0&&!st.test(e.resolved??``))throw new s(`expected a version, which only a package from a git repository is read without`,d(t,`version`));let c={name:a??r,version:o,...i,hasInstallScript:F(e.hasInstallScript,d(t,`hasInstallScript`)),flags:jt(e,t)};return n===`package`&&(c.resolution=Pt(e,t,c.name,o),c.inBundle=F(e.inBundle,d(t,`inBundle`))),c}function Rt(e,t){let[n,r,i,a]=[0,0,-1,0];for(;r<t.length;)if(e[n]===`*`)i=n++,a=r;else if(e[n]===`?`||e[n]===t[r])n++,r++;else{if(i===-1)return!1;n=i+1,r=++a}for(;e[n]===`*`;)n++;return n===e.length}function zt(e,t){let n=e.split(`/`);if(n.length>30||n.some(e=>e===``||/[[\]{}()!+#\\]/u.test(e)))throw new s(`${u(e)} is a glob not read here`,t);return n.map(e=>{if(e===`**`)return null;let t=!e.startsWith(`.`)&&/[*?]/u.test(e),n=[...e];return e=>!(t&&e.startsWith(`.`))&&Rt(n,[...e])})}function Bt(e,t){let n=t;for(let t=0;t<e.length;t++)n&1<<t&&e[t]===null&&(n|=1<<t+1);return n}function Vt(e,t,n){let r=0;for(let i=0;i<e.length;i++)t&1<<i&&(e[i]===null?r|=n.startsWith(`.`)?0:1<<i:e[i](n)&&(r|=1<<i+1));return Bt(e,r)}var Ht=(e,t)=>!!(t&1<<e.length),Ut=(e,t)=>Ht(e,t.split(`/`).reduce((t,n)=>Vt(e,t,n),Bt(e,1))),Wt=`packages`,Gt=/^(?:(.+)\/)?node_modules\/((?:@[^/]+\/)?[^/]+)$/u;function Kt(e,t){if(e===``)return{kind:`root`,parent:void 0,folder:void 0};L(e,t);let n=Gt.exec(e);if(n!==null){if(n[2]===`node_modules`)throw new s(`a folder named "node_modules", which no package is`,t);return{kind:`package`,parent:n[1]??``,folder:I(n[2],t)}}let r=e.split(`/`);if(r.includes(`node_modules`))throw new s(`in a node_modules, but none of its packages`,t);if(r.every(e=>e===`..`))throw new s(`a directory the project is in, which is not supported`,t);return{kind:`importer`,parent:void 0,folder:Ft(e)}}function qt(e,t,n){let{kind:r,parent:i,folder:a}=Kt(e,n),o={location:e,where:n,kind:r,parentLocation:i,folder:a,parent:void 0,fsParent:void 0,children:new Map,links:[],edges:new Map,edgesIn:[]};if(t?.link===void 0)return Object.assign(o,Lt(t,n,r===`package`?`package`:`importer`,a));if(r!==`package`)throw new s(`a link outside a node_modules, where npm writes none`,n);return Object.assign(o,{kind:`link`,targetLocation:It(t,n),target:void 0})}function Jt(e,t){let n=t.get(e.parentLocation);if(n===void 0)throw new s(`in the node_modules of ${u(e.parentLocation)}, which the lockfile does not have`,e.where);if(n.kind===`link`)throw new s(`in the node_modules of ${u(e.parentLocation)}, a link, in which npm installs nothing`,e.where);let r=e.folder.toLowerCase(),i=n.children.get(r);if(i!==void 0)throw new s(`in the folder of ${u(i.location)} to npm, which takes names in one case`,e.where);n.children.set(r,e),e.parent=n}function Yt(e,t){let n=t.get(e.targetLocation),r=d(e.where,`resolved`);if(n===void 0)throw new s(`${u(e.targetLocation)} is not in the lockfile, where npm looks for what a link leads to`,r);if(n.kind===`link`)throw new s(`${u(e.targetLocation)} is a link, where npm links the project, a directory or a package`,r);e.target=n,n.links.push(e)}function Xt(e,t){let n=e.location.split(`/`);for(;n.pop()!==void 0&&n.at(-1)!==`..`;){let e=t.get(n.join(`/`));if(e!==void 0)return e}}var Zt=e=>e.parent??e.fsParent,G=e=>e.kind===`link`?e.target:e,K=e=>e.location||`.`;function Qt(e,t){let n=t.toLowerCase();for(let t=e;t!==void 0;t=Zt(t)){let e=t.children.get(n);if(e!==void 0)return e}}function $t(e){let t=new Map;for(let[n,r,i]of E(e,Wt))t.set(n,qt(n,r,i));t.has(``)||t.set(``,qt(``,Object.create(null),d(Wt,``)));for(let e of t.values())e.parentLocation!==void 0&&Jt(e,t),e.kind===`link`&&Yt(e,t);for(let e of t.values())if(e.kind===`importer`){if(e.links.length===0)throw new s(`a directory no link leads to, of which npm installs nothing`,e.where);e.fsParent=Xt(e,t)}return t}function en(e){let t=e.get(``),n=d(t.where,`workspaces`),r=new Map;for(let[i,a]of(t.workspaces??[]).entries()){let t=zt(a.replace(/^\.?\/+/u,``),`${n}[${i}]`);for(let n of e.values()){if(n.kind!==`importer`||r.get(n.name)===n||!Ut(t,n.location))continue;let e=I(n.name,d(n.where,`name`));if(r.has(e))throw new s(`the name of the workspace ${u(r.get(e).location)} too, of which npm keeps one`,n.where);r.set(e,n)}}return r}var tn={__proto__:null,workspace:`workspaces`,peer:`peerDependencies`,peerOptional:`peerDependencies`,prod:`dependencies`,optional:`optionalDependencies`,dev:`devDependencies`},nn=e=>e.type===`workspace`?d(e.from.where,`workspaces`):d(d(e.from.where,tn[e.type]),e.name);function rn(e,t,n){let r=(t,n,r)=>{let i=t.toLowerCase(),a=e.edges.get(i);if(a?.type===`workspace`)return;let o={name:t,type:n,spec:r,accept:e.acceptDependencies?.[t],from:e,to:void 0};if(a!==void 0&&a.name!==t)throw new s(`${u(a.name)} too, to npm, which takes names in one case`,nn(o));e.edges.delete(i),e.edges.set(i,o)};if(e.kind===`root`)for(let[e,{location:n}]of t)r(e,`workspace`,`file:${n}`);let i=e.peerDependenciesMeta??Object.create(null),a=n?[]:Object.entries(e.peerDependencies??{});for(let[e,t]of a)i[e]?.optional||r(e,`peer`,t);for(let[e,t]of a)i[e]?.optional&&r(e,`peerOptional`,t);for(let t of e.parent===void 0?[`prod`,`optional`,`dev`]:[`prod`,`optional`])for(let[n,i]of Object.entries(e[tn[t]]??{}))r(n,t,i)}function an(e,t,n){for(let r of e.values())r.kind!==`link`&&rn(r,t,n);for(let t of e.values())for(let e of t.edges.values())e.to=Qt(t,e.name),e.to?.edgesIn.push(e)}var on=[...H,`extraneous`],sn=e=>new Map([...e.values()].map(e=>[e,Object.fromEntries(on.map(t=>[t,e.kind!==`root`]))]));function cn(e,t,n){if(!e.get(t)[n])for(let r=Zt(t);r!==void 0&&e.get(r)[n];r=Zt(r))e.get(r)[n]=!1}function ln(e,t){let[n,r,i]=[t===`dev`,t===`optional`||t===`peerOptional`,t.startsWith(`peer`)];return{extraneous:!e.extraneous&&!(i&&r),dev:!e.dev&&!n,optional:!e.optional&&!r,devOptional:!e.devOptional&&!e.dev&&!e.optional&&!n&&!r,peer:!e.peer&&!i}}function un(e,t){let n=sn(e),r=new Set,i=[e.get(``)];for(;i.length>0;){let e=i.pop();r.add(e);let a=n.get(e);if(cn(n,e,`extraneous`),e.kind===`link`){let o=n.get(e.target),s=on.filter(e=>o[e]&&!a[e]);if(t)Object.assign(o,a);else for(let e of s)o[e]=!1;(t||s.length>0||!r.has(e.target))&&i.push(e.target);continue}for(let{type:t,to:r}of e.edges.values()){if(r===void 0)continue;let e=ln(a,t),o=n.get(r),s=on.filter(t=>o[t]&&e[t]);for(let e of s)o[e]=!1;s.length>0&&i.push(r)}}return n}function dn(e,t,n){let r=[e],i=new Set;for(;r.length>0;){let e=r.pop();i.has(e)||(i.add(e),r.push(...n(e,t(e))))}}function fn(e){let t=sn(e),n=(e,n)=>{if(!t.get(e)[n])return;let r=e=>Object.assign(t.get(e),{extraneous:!1,[n]:!1});dn(e,e=>{r(e),e.kind===`link`&&r(e.target)},e=>[...G(e).edges.values()].filter(({type:e,to:r})=>r!==void 0&&t.get(r)[n]&&(n!==`peer`&&e===`peer`||e===`prod`)).map(({to:e})=>e))},r=e=>{let i=t.get(e);i.extraneous=!1;for(let n of on)cn(t,e,n);if(e.kind===`link`){for(let n of H)t.get(e.target)[n]=i[n];return r(e.target)}for(let{type:r,to:a}of e.edges.values()){if(a===void 0)continue;t.get(a).extraneous=!1;let e=ln(i,r);for(let t of[`peer`,`devOptional`,`dev`,`optional`])e[t]&&n(a,t)}return e};return dn(e.get(``),r,(e,t)=>[...t.edges.values()].map(({to:e})=>e).filter(e=>e!==void 0)),t}function pn(e,t,n){for(let r of e.values()){let e=t.get(r);if(e.extraneous)return new s(`nothing installed leads to it, so ${n} takes it as extraneous, and prunes it`,r.where);if(r.kind===`link`)continue;let i={...e,devOptional:e.devOptional&&!e.dev&&!e.optional},a=H.find(e=>r.flags[e]!==i[e]);if(a!==void 0)return new s(`expected ${i[a]?`true`:`none`}, as ${n} sets it from what depends on it`,d(r.where,a))}}var mn=[e=>un(e,!1),e=>un(e,!0),fn];function hn(e){let[t,n,r]=e.split(`.`).map(Number);return t>11||t===11&&n>=18?mn[0]:mn[t===11&&(n>6||n===6&&r>=3)?1:2]}function gn(e,t,n=t===void 0?`npm`:`npm ${t}`){let r=pn(e,(t===void 0?mn[0]:hn(t))(e),n);if(r!==void 0&&(t!==void 0||mn.slice(1).every(t=>pn(e,t(e),`npm`)!==void 0)))throw r}var _n=64;function vn(e,t){if(typeof e!=`object`||!e)return e;if(t>_n)throw new s(`nested more than ${_n} deep, as npm writes nothing`);if(Array.isArray(e))return e.map(e=>vn(e,t+1));let n=Object.create(null);for(let[r,i]of Object.entries(e))n[r]=vn(i,t+1);return n}function yn(e,t){let n=e.split(`
|
|
2
|
-
`),r=t.split(`
|
|
3
|
-
`),i=0;for(;n[i]===r[i];)i++;if(i===r.length-1&&i===n.length)return f(`expected a line end after the last "}"`,i-1);let a=i<n.length?u(n[i]):`the end of the file`;return f(`expected ${i<r.length?u(r[i]):`the end of the file`}, as npm writes it, found ${a}`,i)}function bn(e){m(e,`npm`);let[t,n]=h(e,`npm`),r=l(()=>JSON.parse(e),e=>c(`not JSON: ${e.message}`)),i=vn(r,0),a=`${JSON.stringify(r,null,n)}
|
|
4
|
-
`.replaceAll(`
|
|
5
|
-
`,t);if(a!==e)throw yn(e,a);return i}var xn=/^[\dA-Fa-f]{40,64}$/u;function Sn(e){let t=e.resolution?.tarball;return t?.startsWith(`file:`)?Ee(t.slice(5),`..`):K(e)}var q=e=>u(e.location);function Cn(e,{fetchSpec:t,kind:n},r){let i=G(e);if(!(n===void 0||n===`range`&&t===`*`))return n===`tag`?e.kind===`link`||!/^https?:/u.test(e.resolution?.tarball??``)?`is a tag, which npm holds met by a tarball from a URL alone, and ${q(e)} is none`:void 0:r.satisfies(i.version??``,t,!0)?void 0:`is not satisfied by ${q(e)}, ${i.version??`of no version`}`}function wn(e,t,n){let{resolution:r,version:i}=e;if(e.kind===`link`||r?.type!==`git`)return`asks for a git repository, and ${q(e)} is from none`;let a=gt(`${r.repo}#${r.commit}`),o=xn.test(t.committish??``);if(!(t.hosted===void 0?a.hosted===void 0&&a.fetchSpec===t.fetchSpec:a.hosted!==void 0&&nt(t.hosted,o)===nt(a.hosted,o)))return`asks for another repository than ${q(e)} is from${o?`, or another commit`:``}`;if(!(t.range===null||n===void 0||n.satisfies(i??``,t.range,!0)))return`asks for a version of the repository ${q(e)} is not, ${i??`of no version`}`}function Tn(e,t,n){switch(t.type){case`registry`:return Cn(e,t,n);case`alias`:return Cn(e,t.sub,n);case`directory`:return e.kind===`link`&&K(e.target)===t.path?void 0:`asks for a link to ${u(t.path)}, and ${q(e)} is ${e.kind===`link`?`one to ${u(K(e.target))}`:`no link`}`;case`file`:case`remote`:{let n=t.type===`file`?`file:${t.path}`:t.url;return e.kind!==`link`&&e.resolution?.tarball===n?void 0:`asks for the tarball ${u(n)}, and ${q(e)} is from another`}default:return wn(e,t,n)}}function En(e,t){let{name:n}=G(e);if(t.type===`alias`&&n!==t.sub.name)return`asks for ${u(t.sub.name)}, and ${q(e)} is ${u(n)}, which npm does not check`;let{committish:r}=t;if(t.type===`git`&&xn.test(r??``)&&r.toLowerCase()!==e.resolution.commit)return`asks for another commit than ${q(e)} is of, which npm does not check of a repository on no host it knows`}function Dn(e,t,n){let{from:r,to:i,spec:a}=e;if(e.type.startsWith(`peer`)&&i.parent===r&&r.parent!==void 0)return`${u(a)} is met in the node_modules of the package that asks for it, which npm holds a peer not to be`;if(i.folder!==e.name)return`is met by ${q(i)}, which npm takes for it, though the names are in other cases`;let o=a=>{let o=ht(e.name,a,Sn(r),t);return Tn(i,o,t)??(n?En(i,o):void 0)},s=o(a);if(!(s===void 0||e.accept!==void 0&&o(e.accept)===void 0))return`${u(a)} ${s}, so npm would install another`}function On(e,t){return l(()=>Dn(e,t,!1)===void 0,e=>{if(e instanceof s)return!1;throw e})}function kn(e,t){let n=nn(e);if(e.type===`peerOptional`)return;if(e.to===void 0)throw new s(`${u(e.spec)} is met by nothing where npm looks for ${u(e.name)}, so npm would install it`,n);let r=l(()=>Dn(e,t,!0),e=>{throw e instanceof s&&e.where===void 0?new s(e.message,n):e});if(r!==void 0)throw new s(r,n)}function An(e,t){let n=new Set([e.get(``)]);for(let e of n){let r=new Set(e.kind===`package`?e.bundleDependencies:[]);for(let i of e.edges.values()){r.has(i.name)||kn(i,t);let e=i.to===void 0?void 0:G(i.to);e!==void 0&&!e.location.startsWith(`../`)&&n.add(e)}}}var jn=[`version`,`resolved`,`integrity`,`bundled`,...H,`requires`,`dependencies`,`from`],Mn=e=>e.location===``?`the project`:u(e.location);function Nn(e){let[t,n,r]=e.split(`.`).map(Number);return t===9||t===10&&(n<9||n===9&&r<=2)||t===11&&n<2}function Pn(e,t){let n=[],r;for(let i of e.edgesIn){let e=i.from.location.split(`node_modules`),a=[e.length,e.at(-1)],o=r===void 0?-1:a[0]-r[0]||a[1].localeCompare(r[1],`en`);o>0||!On(i,t)||(o<0?[n,r]=[[i],a]:n.push(i))}return n}function Fn(e,t){let n=Oe(e,t);return`file:${n===`.`?``:n}`}function In(e,t){let n=K(t.from),r=ht(e.folder,t.spec,n,void 0),i=`${e.folder}@${t.spec}`;return r.type===`file`?{type:`file`,save:Fn(n,r.path),raw:i}:r.type===`remote`?{type:`remote`,save:r.url,raw:i}:{type:r.type,raw:i}}function Ln(e,t,n){if(e.kind===`link`)return{version:`file:${n(e.target.location)}`};let{resolution:r}=e,i=r?.type===`git`?`${r.repo}#${r.commit}`:r?.tarball,a;r?.type===`git`?a=`git`:i!==void 0&&(a=i.startsWith(`file:`)?`file`:`remote`);let o=t===void 0?{type:a,save:i,raw:i}:In(e,t);return o.type===`file`||o.type===`remote`?{version:o.save}:o.type===`git`||a===`git`?{version:i,from:o.raw}:{version:e.name===e.folder?e.version:`npm:${e.name}@${e.version}`,resolved:a===`remote`?i:void 0}}var Rn=e=>[...new Map(e.map(e=>[JSON.stringify(e),e])).values()];function zn(e,t,n,r){if(e===t)return;let i=t===void 0?`none`:typeof t==`string`?u(t):String(t);throw new s(`expected ${i}, found ${S(e)}, as npm writes it of ${Mn(r)}`,n)}var Bn=(e,t,n,r,i)=>zn(e[t],n,d(r,t),i);function Vn(e,t,n,r){let{path:i}=l(()=>ht(e.name,e.spec,t,void 0),e=>{throw e instanceof s&&e.where===void 0?new s(e.message,r):e});return n(Fn(t,i))}function Hn(e,t,n){if(e.edges.size===0)return;let r=Object.create(null);for(let i of e.edges.values())i.type.startsWith(`peer`)||(r[i.name]=i.spec.startsWith(`file:`)?Vn(i,K(e),t,d(n,i.name)):i.spec);return r}function Un(e,t,n,r){let i=Hn(t,n,r);if(i===void 0)return zn(e,void 0,r,t);let a=T(e,r);for(let[e,n]of Object.entries(a)){if(!Object.hasOwn(i,e))throw new s(`${Mn(t)} asks for no such package, or for a peer, which npm leaves out`,d(r,e));if(n!==i[e])throw new s(`expected ${u(i[e])}, as ${Mn(t)} asks for it, found ${S(n)}, which npm writes there of an override alone, not read here`,d(r,e))}let o=Object.keys(i).find(e=>!Object.hasOwn(a,e));if(o!==void 0)throw new s(`expected ${u(o)}, which ${Mn(t)} asks for`,r)}function Wn(e,t,n,r,i){let a=new Set([...t.children.values()].filter(e=>!r.includes(G(e).location)));if(a.size===0)return zn(e,void 0,n,t);let o=[...r,t.location],c=e===void 0?Object.create(null):T(e,n);for(let[e,r]of Object.entries(c)){let c=t.children.get(e.toLowerCase()),l=`${t.location===``?``:`${t.location}/`}node_modules/${e}`;if(c===void 0||c.folder!==e)throw new s(`${u(l)} is not in packages`,d(n,e));if(!a.has(c))throw new s(`${u(l)} links to ${u(K(G(c)))}, which this is under already, and npm leaves it out`,d(n,e));qn(r,c,d(n,e),o,i)}let l=[...a].find(e=>!Object.hasOwn(c,e.folder));if(l!==void 0)throw new s(`expected ${u(l.folder)}, as npm writes ${u(l.location)} of packages`,n)}function Gn(e,t,n,r,i){if(t!==void 0&&e===void 0){if(i.resolved!==void 0)throw new s(`expected ${u(t)}: npm leaves it out of every entry or of none, and ${i.resolved} has it`,n);i.omitted??=n;return}if(zn(e,t,n,r),e!==void 0){if(i.omitted!==void 0)throw new s(`expected none: npm leaves it out of every entry or of none, and ${i.omitted} has none`,n);i.resolved??=n}}function Kn(e,t){let{semver:n,escape:r,own:i,root:a}=t;if(!i.has(e)){let t=e.kind===`link`?[]:Pn(e,n),o=Rn(t.length===0?[Ln(e,void 0,r)]:t.map(t=>Ln(e,t,r)));i.set(e,{heads:o,bundled:de(e,a)||void 0})}return i.get(e)}function qn(e,t,n,r,i){T(e,n,jn);let{heads:a,bundled:o}=Kn(t,i),s=a.find(({version:t,from:n})=>t===e.version&&n===e.from)??a[0];Bn(e,`version`,s.version,n,t),Bn(e,`from`,s.from,n,t),Gn(e.resolved,s.resolved,d(n,`resolved`),t,i),Bn(e,`bundled`,o,n,t),Bn(e,`integrity`,t.resolution?.integrity,n,t);for(let r of H)Bn(e,r,t.flags?.[r]||void 0,n,t);let c=G(t);Un(e.requires,c,i.escape,d(n,`requires`)),Wn(e.dependencies,c,d(n,`dependencies`),r,i)}function Jn(e,t,n,r,i={}){let a=e=>e.includes(`#`)?(i.hash=!0,r?e.replaceAll(`#`,`%23`):e):e,o=t.get(``);Wn(e,o,`dependencies`,[],{semver:n,escape:a,own:new Map,root:o,omitted:void 0,resolved:void 0})}var Yn=`9.0.0`;function Xn(e,t,n,r){if(r!==void 0)return Jn(e,t,n,Nn(r));let i={hash:!1};try{Jn(e,t,n,!1,i)}catch(r){if(!(r instanceof s)||!i.hash)throw r;try{Jn(e,t,n,!0)}catch{throw r}gn(t,Yn,`an npm that writes a "#" as "%23"`)}}var Zn=[`checkVersions`,`semver`,`legacyPeerDeps`,`npm`],Qn=[`satisfies`,`valid`,`validRange`],$n=[`name`,`version`,`lockfileVersion`,`requires`,`packages`,...H];function er(e){let{semver:t,legacyPeerDeps:n=!1,npm:r}=oe(e,Zn),i=se(e,Qn);if(typeof n!=`boolean`)throw TypeError(`legacyPeerDeps: expected a boolean`);if(r!==void 0&&!(/^\d+\.\d+\.\d+$/u.test(r)&&Number(r.split(`.`)[0])>=9))throw TypeError(`npm: expected a version of npm 9 or later, such as 11.12.1`);if(r===`11.6.1`||r===`11.6.2`)throw TypeError(`npm: ${r} works the flags out in a way not read here`);return{semver:i?t:void 0,legacyPeerDeps:n,npm:r}}function tr(e){let t=T(e,void 0).lockfileVersion;if(t!==2&&t!==3)throw new s(`unsupported version: expected 2 or 3, found ${S(t)}`,`lockfileVersion`);if(T(e,void 0,t===2?[...$n,`dependencies`]:$n),e.requires!==!0)throw w(`true`,e.requires,`requires`);return t}function nr(e,t){let n=j(e.name,`name`);if(t.name!==void 0&&t.name!==n)throw new s(`expected the project's, ${u(t.name)}`,`name`);if(e.version!==t.version)throw new s(t.version===void 0?`a version, where the project has none`:`expected the project's, ${u(t.version)}`,`version`);let r=H.find(n=>F(e[n],n)!==t.flags[n]);if(r!==void 0)throw new s(`expected ${t.flags[r]?`true`:`none`}, as the project's in packages`,r);return{name:n,version:t.version}}var rr=e=>e.kind===`link`?`link:${K(e.target)}`:e.location;function ir(e){let t=Object.create(null);for(let n of e.edges.values())t[n.name]={type:n.type,spec:n.spec,accept:n.accept,target:n.to===void 0?void 0:rr(n.to)};return t}function ar(e){let{name:t,version:n,os:r,cpu:i,libc:a,license:o,funding:s,deprecated:c,hasInstallScript:l,flags:u}=e;return{name:t,version:n,edges:ir(e),bundleDependencies:e.bundleDependencies??[],engines:e.engines??Object.create(null),os:r,cpu:i,libc:a,bin:e.bin??Object.create(null),license:o,funding:s,deprecated:c,hasInstallScript:l,...u,devOptional:u.devOptional||u.dev||u.optional}}function or(e,t={}){if(typeof e!=`string`)throw TypeError(`expected a string`);let{semver:n,legacyPeerDeps:r,npm:i}=er(t),a=bn(e),o=tr(a),s=$t(a.packages),c=s.get(``),l=en(s);an(s,l,r),An(s,n),gn(s,i),pe(s),o===2&&Xn(a.dependencies,s,n,i);let u=nr(a,c),d=new Set(l.values()),f=Object.create(null),p=Object.create(null),m=Object.create(null);for(let e of new Set([c,...s.values()]))e.kind===`link`?m[e.location]=K(e.target):e.kind===`package`?p[e.location]={...ar(e),resolution:e.resolution,inBundle:e.inBundle}:f[K(e)]={...ar(e),workspace:d.has(e),workspaces:e.workspaces??[]};return{lockfileVersion:o,...u,importers:f,packages:p,links:m}}var J=class extends o{},sr=e=>RegExp(`(?:[^ ?:,[\\]{}#&*!|>'"%@\`-]|[-?:](?=[^${e}]))(?:[^:${e}]|:(?=[^${e}])| +(?=[^#:${e}]|:[^${e}]))*`,`uy`),cr={block:sr(` `),flow:sr(` ,[\\]{}`)},lr=/'((?:[^']|'')*)'/uy,ur=/"((?:[^"\\]|\\.)*)"/uy,dr={__proto__:null,0:`\0`,a:`\x07`,b:`\b`,t:` `,n:`
|
|
6
|
-
`,v:`\v`,f:`\f`,r:`\r`,e:`\x1B`," ":` `,'"':`"`,"/":`/`,"\\":`\\`,N:`
`,_:`\xA0`,L:`\u2028`,P:`\u2029`},fr=/\\(?:x([\dA-Fa-f]{2})|u([\dA-Fa-f]{4})|U([\dA-Fa-f]{8})|(.))/gu;function pr(e,t){return e.replace(fr,(e,n,r,i,a)=>{if(a!==void 0){if(!(a in dr))throw new J(`unknown escape \\${a}`,t.line);return dr[a]}let o=Number.parseInt(n??r??i,16);if(o>1114111||o>=55296&&o<=57343)throw new J(`${e} is not a Unicode scalar value`,t.line);return String.fromCodePoint(o)})}var mr={__proto__:null,true:!0,false:!1,null:null},hr=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[Ee][+-]?\d+)?$/u,gr=/^(?:~|null|true|false|\.nan|[+-]?(?:\.inf|0[box][\d_a-f]+|(?:\d[\d_]*(?:\.[\d_]*)?|\.[\d_]+)(?:e[+-]?\d+)?))$/iu,_r=/^\d{4}-(?:\d\d-\d\d|\d\d?-\d\d?(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)?(?: *(?:Z|[+-]\d\d?(?::\d\d)?))?)$/u;function vr(e,t){if(e in mr)return mr[e];if(hr.test(e)&&e!==`-0`){let n=Number(e);if(Math.abs(n)>2**53-1)throw new J(`number out of range ${a(e)}`,t.line);return n}if(gr.test(e)||_r.test(e))throw new J(`ambiguous scalar ${a(e)}, quote it`,t.line);return e}var yr=e=>e.pos<e.text.length?a(e.text.slice(e.pos)):`the end of the line`,br=(e,t)=>pr(e,{line:t});function xr(e,t){let n=g(e,lr);return n===null?(n=g(e,ur),n===null?(n=g(e,cr[t]),n===null?void 0:vr(n[0],e)):pr(n[1],e)):n[1].replaceAll(`''`,`'`)}function Sr(e,t){let n=xr(e,t);if(n===void 0)throw new J(`expected a scalar, found ${yr(e)}`,e.line);return n}function Cr(e,t,n,r){if(typeof t!=`string`)throw new J(`keys must be strings`,r);if(t===`<<`)throw new J(`merge keys are not supported`,r);if(t in e)throw new J(`duplicate key ${a(t)}`,r);e[t]=n}var wr=/ */uy,Tr=/, */uy,Er=/: +/uy,Dr=/:(?: +(?:#.*)?|$)/uy,Or=/(?: +#.*| *)$/uy,kr=64;function Ar(e,t){let n=t===`]`?[]:Object.create(null);if(e.workflow&&++e.depth>kr)throw new J(`nested too deep`,e.line);if(e.pos++,g(e,wr),e.text[e.pos]!==t)do{if(e.workflow&&e.text[e.pos]===t)break;if(e.workflow)Pr(e,n,t);else{let r=jr(e);if(t===`]`)n.push(r);else{if(g(e,Er)===null)throw new J(`expected ": " after the key, found ${yr(e)}`,e.line);Cr(n,r,jr(e),e.line)}}g(e,wr)}while(g(e,Tr)!==null);if(e.text[e.pos]!==t)throw new J(`expected "," or "${t}", found ${yr(e)}`,e.line);return e.pos++,e.workflow&&e.depth--,n}function jr(e){let t=e.text[e.pos];return e.workflow&&(t===`[`||t===`{`)?Ar(e,t===`[`?`]`:`}`):Sr(e,`flow`)}var Mr=/ *:(?=[ ,\]}]|$)/uy,Nr=/ *:/uy;function Pr(e,t,n){let r=e.text[e.pos]===`"`||e.text[e.pos]===`'`,i=jr(e),a=g(e,r?Nr:Mr)!==null;if(n===`]`&&!a){t.push(i);return}g(e,wr);let o=a&&e.text[e.pos]!==`,`&&e.text[e.pos]!==n?jr(e):null;if(n===`}`){Cr(t,i,o,e.line);return}let s=Object.create(null);Cr(s,i,o,e.line),t.push(s)}function Fr(e,t,n=!1){let r={text:e,pos:0,line:t,workflow:n,depth:0},i=e.startsWith(`{`)?Ar(r,`}`):e.startsWith(`[`)?Ar(r,`]`):Sr(r,`block`);if(g(r,Or)===null)throw new J(`unexpected ${yr(r)} after the value`,t);return i}function Ir(e,t){let n={text:e,pos:0,line:t},r=xr(n,`block`),i=n.pos;if(r===void 0||g(n,Dr)===null)return null;if(i>1024)throw new J(`a key longer than 1024 characters is written after "? "`,t);return{key:r,rest:e.slice(n.pos)}}var Lr=2**20,Rr=128;function zr(e){if(e.text.includes(` `))throw new J(`U+0009 is not allowed outside a block scalar`,e.number)}function Br(e,t){if(!e.startsWith(`&`))return{anchor:null,rest:e};let n=/^&([^ ,[\]{}]+)(?: +|$)/u.exec(e);if(n===null)throw new J(`expected an anchor's name, found ${a(e)}`,t);let r=e.slice(n[0].length);if(r.startsWith(`*`))throw new J(`an alias with an anchor is not supported`,t);return{anchor:n[1],rest:r}}function Vr(e,t,n){if(/^\*[^ ,[\]{}]+ *:(?: |$)/u.test(t))throw new J(`an alias as a key is not supported`,n);let r=/^\*([^ ,[\]{}]+)(?: +#.*| *)$/u.exec(t);if(r===null)throw new J(`unexpected ${a(t)} after an alias`,n);if(!e.anchors.has(r[1]))throw new J(`unknown alias ${a(`*${r[1]}`)}`,n);return e.aliased=!0,e.anchors.get(r[1])}function Hr(e,t=1){let n=e[0];for(let r=t;r<e.length;r++)if(n===`"`&&e[r]===`\\`)r++;else if(e[r]===n){if(n===`'`&&e[r+1]===`'`)r++;else return r}return-1}function Ur(e,t){let n=/ *$/u.exec(e).index,r=/\\*$/u.exec(e.slice(0,n))[0].length;return t&&r%2==1?n===e.length?{text:e.slice(0,-1),escaped:!0}:{text:e.slice(0,n+1),escaped:!1}:{text:e.slice(0,n),escaped:!1}}function Wr(e,t,n){let r=0,i=!1,a=``;for(let[o,s]of e.entries()){let c=o===e.length-1,l=o===0?s:s.replace(/^ +/u,``);if(o>0&&!c&&l===``){r++;continue}if(i&&r>0)throw new J(`an empty line after an escaped line break is not supported`,n);o>0&&(a+=r>0?`
|
|
7
|
-
`.repeat(r):i?``:` `);let u=c?{text:l,escaped:!1}:Ur(l,t);a+=u.text,r=0,i=u.escaped}return a}function Gr(e,t,n,r){let i=t[0]===`"`,o=[t.slice(1)],s=[n.number];for(let c=e.line;;c=e.advance()){if(c===void 0||e.isMarker(c))throw new J(`a quoted scalar that does not close`,n.number);zr(c),s.push(c.number);let l=Hr(`${t[0]}${c.text}`);if(l===-1){o.push(c.text);continue}if(o.push(c.text.slice(0,l-1)),!/^(?: +#.*| *)$/u.test(c.text.slice(l)))throw new J(`unexpected ${a(c.text.slice(l))} after the value`,c.number);if(e.advance(),i)for(let[e,t]of o.entries())r(t,s[e]);let u=Wr(o,i,n.number);return i?r(u,n.number):u.replaceAll(`''`,`'`)}}function Kr(e,t,n){if(/(?:^| )#/u.test(t))return t;let r=0,i=t.replace(/ +$/u,``);for(let t=e.line;t!==void 0;t=e.advance()){if(t.text===``){r++;continue}if(t.indent<=n||t.text.startsWith(`#`)||e.isMarker(t))break;if(zr(t),i+=`${r>0?`
|
|
8
|
-
`.repeat(r):` `}${t.text.replace(/ +$/u,``)}`,r=0,/ #/u.test(t.text)){e.advance();break}}return i}function qr(e,t,n){let r=n===`plain`;for(let i=0;i<e.length;i++){let a=e[i];if(a!==` `){if((a===`"`||a===`'`)&&n!==`plain`){let t=Hr(e.slice(i));if(t===-1)return{open:-1,kept:e,last:n,comment:!1};i+=t,n=`quoted`}else{if(a===`#`&&(i===0||e[i-1]===` `))return{open:t,kept:e.slice(0,i),last:n,comment:!0};if(a===`[`||a===`{`)t++,n=`open`;else if(a===`]`||a===`}`){if(n=`close`,--t===0)return{open:t,kept:e.slice(0,i+1),after:e.slice(i+1),last:n,comment:!1}}else if(a===`,`||a===`:`&&/^(?:[ ,[\]{}]|$)/u.test(e[i+1]??``)){if(a===`:`&&r)return{open:t,kept:e,last:n,comment:!1,keyed:!0};n=`indicator`}else n=`plain`}r&&=n===`plain`}}return{open:t,kept:e,last:n,comment:!1}}function Jr(e,t,n,r){let i=0,o=!1,s=null,c=!1,l=qr(t,0,null),u=null,d=``;for(let t=n;;){if(l.open===-1)throw new J(`a quoted scalar in a flow collection does not close on its line`,t.number);let f=l.kept.replace(/ +$/u,``);if(f!==``){let e=c&&!/^(?:[,\]}]|:(?:[ ,[\]{}]|$))/u.test(f);if(e&&o)throw new J(`a plain scalar in a flow collection goes on past a comment`,t.number);if(l.keyed||f.startsWith(`:`)&&!e&&(s===`plain`||s===`quoted`))throw new J(`a key over more than one line is not supported`,t.number);if(e&&u!==null&&zr(u),e&&t.indent<=r)throw new J(`bad indentation of a plain scalar in a flow collection`,t.number);d!==``&&(d+=e&&i>1?`
|
|
9
|
-
`.repeat(i-1):` `),d+=f,i=0,s=l.last,c=s===`plain`,o=!1,u=null}if(o||=c&&l.comment,l.after!==void 0){if(!/^(?: +#.*| *)$/u.test(l.after))throw new J(`unexpected ${a(l.after)} after the value`,t.number);return t!==n&&e.advance(),d}if(t=t===n?e.line:e.advance(),t===void 0||e.isMarker(t))throw new J(`a flow collection that does not close`,n.number);let p=/^[\t ]*$/u.test(t.text);!p&&!t.text.startsWith(`#`)?zr(t):p&&c&&!o&&t.text.includes(` `)&&(u??=t),i++,l=qr(p?``:t.text,l.open,c&&!o?`plain`:null)}}function Yr(e){let t=new Map,n=(e,r)=>{if(typeof e!=`object`||!e)return{size:1,height:0};if(r>Rr)throw new J(`aliases nest the document past ${Rr} levels`);let i=t.get(e);if(i===void 0){i={size:1,height:0};for(let t of Object.values(e)){let e=n(t,r+1);if(i.size+=e.size,i.height=Math.max(i.height,e.height+1),i.size>Lr)throw new J(`aliases expand the document past ${Lr} nodes`)}t.set(e,i)}if(r+i.height>Rr)throw new J(`aliases nest the document past ${Rr} levels`);return i};n(e,0)}var Xr=64,Zr=RegExp(`(?! )${p.source}`,`u`);function Qr(e){if(typeof e!=`object`||!e)throw TypeError(`expected an options object`);let t=Object.keys(e).find(e=>e!==`workflow`&&e!==`lines`);if(t!==void 0)throw TypeError(`unknown option ${t}`);let{workflow:n=!1,lines:r}=e;if(typeof n!=`boolean`)throw TypeError(`expected workflow to be a boolean`);if(r!==void 0&&!(r instanceof WeakMap))throw TypeError(`expected lines to be a WeakMap`);return{workflow:n,lines:r}}var $r=e=>e.indent===0&&/^(?:---|\.\.\.)(?: |$)/u.test(e.text);function ei(e,t={}){if(typeof e!=`string`)throw TypeError(`expected a string`);let n={text:e,pos:0,number:-1,line:void 0,...Qr(t),anchors:null,aliased:!1};n.workflow&&Object.assign(n,{advance:()=>Y(n),isMarker:$r}),Y(n);let r=[];ti(n);do r.push(ni(n));while(ti(n));return r}function ti(e){return X(e)!==void 0||e.line===void 0?!1:(Y(e),!0)}function ni(e){let t=X(e);if(t===void 0)throw new J(`empty document`,e.line?.number);if(t.indent!==0)throw new J(`the document does not start at column 0`,t.number);e.workflow&&Object.assign(e,{anchors:new Map,aliased:!1});let n=ii(e,0,0);if(e.aliased&&Yr(n),X(e)!==void 0)throw new J(`unexpected content after the document`,e.line.number);if(typeof n!=`object`||!n)throw new J(`the document is a lone scalar, not a mapping or a sequence`,t.number);return n}function Y(e){let{text:t,pos:n}=e;if(e.line=void 0,n>=t.length)return;let r=t.indexOf(`
|
|
10
|
-
`,n);r===-1&&(r=t.length),e.pos=r+1;let a=++e.number;if(t[r-1]===`\r`&&r--,r-n>y)throw new J(`line longer than ${y} characters`,a);let o=n;for(;t[o]===` `;)o++;let s=t.slice(o,r),c=(e.workflow?Zr:p).exec(s)?.[0];if(c!==void 0)throw new J(`${i(c)} is not allowed`,a);return e.line={indent:o-n,text:s,number:a},e.line}function X(e){let t=e.line;for(;t!==void 0&&(t.text===``||t.text[0]===`#`||e.workflow&&/^[\t ]*$/u.test(t.text));)t=Y(e);if(t!==void 0&&e.workflow&&zr(t),t?.indent!==0||!/^(?:---|\.\.\.(?: |$)|%)/u.test(t.text))return t;if(!/^--- *$/u.test(t.text))throw new J(t.text.startsWith(`---`)?`content on the document marker line`:`document end markers and directives are not supported`,t.number)}var Z=e=>/^-(?: |$)/u.test(e.text),ri=e=>/^[|>]/u.test(e);function ii(e,t,n){let r=X(e);if(n>Xr)throw new J(`nested too deep`,r.number);if(Z(r))return si(e,t,n);let i=r.text.startsWith(`? `)?void 0:gi(e,r);return i===null?(Y(e),e.workflow?pi(e,r.text,r.indent-1,n,r):Fr(r.text,r.number)):oi(e,t,n,i)}function ai(e,t,n,r){let i;for(i=X(e);i?.indent===t;i=X(e)){if(r?.(i))return;n(i)}if(i?.indent>t)throw new J(`bad indentation`,i.number)}function oi(e,t,n,r){let i=Object.create(null),o=e.lines&&new Map;e.lines?.set(i,o);let s=r;return ai(e,t,r=>{if(!r.text.startsWith(`? `)){let c=s??gi(e,r);if(s=void 0,c===null)throw new J(`expected a mapping key, found ${a(r.text)}`,r.number);Y(e),c.anchor&&e.anchors.set(c.anchor,c.key),Cr(i,c.key,ci(e,c.rest,t,n,r),r.number),o?.set(c.key,r.number);return}Y(e);let c=Fr(r.text.slice(2),r.number),l=X(e);if(l?.indent!==t||!/^:(?: |$)/u.test(l.text))throw new J(`expected ": " below the explicit key`,(l??r).number);Cr(i,c,li(e,l,t,n),r.number),o?.set(c,r.number)}),i}function si(e,t,n,r=!1){let i=[],o=e.lines&&[];return e.lines?.set(i,o),ai(e,t,r=>{if(!Z(r))throw new J(`expected "- ", found ${a(r.text)}`,r.number);o?.push(r.number),i.push(li(e,r,t,n))},r?e=>!Z(e):void 0),i}function ci(e,t,n,r,i){if(e.workflow)return pi(e,t,n,r,i);if(ri(t))return ui(e,t,n,i);if(t!==``)return Fr(t,i.number);let a=X(e);if(a?.indent===n&&Z(a)&&!Z(i))throw new J(`a sequence under a key must be indented`,a.number);if(a===void 0||a.indent<=n)throw new J(`missing value`,i.number);return ii(e,a.indent,r+1)}function li(e,t,n,r){let i=/^[-:] *(?:#.*)?/u.exec(t.text)[0].length;if(e.workflow)return hi(e,t,n,r,i);let a=t.text.slice(i);return a===``||ri(a)?(Y(e),ci(e,a,n,r,t)):(e.line={...t,indent:t.indent+i,text:a},ii(e,t.indent+i,r+1))}function ui(e,t,n,r){let{folded:i,digit:a,chomp:o}=di(e,t,r),s=n+Number(a),c=a!==``,l=0,u=``,d=null;for(let t=e.line;t!==void 0&&(t.text===``||t.indent>n);t=Y(e)){if(c||(s=Math.max(s,t.indent)),c||=t.text!==``,t.text!==``&&t.indent<s)throw new J(`bad indentation in the block scalar`,t.number);let e=`${` `.repeat(Math.max(t.indent-s,0))}${t.text}`;if(e!==``){let t=/^[\t ]/u.test(e);u+=i?fi(l,d,t):`
|
|
11
|
-
`.repeat(l),u+=e,d=t}l=e===``?l+1:1}return o===`+`?u+`
|
|
12
|
-
`.repeat(l):o===`-`?u:u&&`${u}
|
|
13
|
-
`}function di(e,t,n){let r=e.workflow?/^([|>])(?:([1-9])([+-]?)|([+-])([1-9]?))?(?: +#.*| *)$/u.exec(t):/^\|([1-9]?)([+-]?)$/u.exec(t);if(r===null)throw new J(`unsupported block scalar ${a(t)}`,n.number);return e.workflow?{folded:r[1]===`>`,digit:r[2]??r[5]??``,chomp:r[3]||r[4]||``}:{folded:!1,digit:r[1],chomp:r[2]}}var fi=(e,t,n)=>t===null||t||n?`
|
|
14
|
-
`.repeat(e):e===1?` `:`
|
|
15
|
-
`.repeat(e-1);function pi(e,t,n,r,i){let{anchor:a,rest:o}=Br(t,i.number),s=mi(e,o.startsWith(`#`)?``:o,n,r,i);return a!==null&&e.anchors.set(a,s),s}function mi(e,t,n,r,i){if(t.startsWith(`*`))return Vr(e,t,i.number);if(ri(t))return ui(e,t,n,i);if(t.startsWith(`[`)||t.startsWith(`{`))return Fr(Jr(e,t,i,n),i.number,!0);let a=t.startsWith(`'`)||t.startsWith(`"`);if(a&&Hr(t)===-1)return Gr(e,t,i,br);if(t!==``)return Fr(a?t:Kr(e,t,n),i.number,!0);let o=X(e);return o?.indent===n&&Z(o)&&!Z(i)?si(e,n,r+1,!0):o===void 0||o.indent<=n?null:!Z(o)&&!o.text.startsWith(`? `)&&gi(e,o)===null?(Y(e),pi(e,o.text,n,r+1,o)):ii(e,o.indent,r+1)}function hi(e,t,n,r,i){let a=t.text.slice(i),{anchor:o,rest:s}=Br(a,t.number),c=t.indent+i;if(s!==``&&!s.startsWith(`#`)&&(Z({text:s})||s.startsWith(`? `))){if(o!==null)throw new J(`an anchor before a block on its own line is not supported`,t.number);return e.line={...t,indent:c,text:s},ii(e,c,r+1)}if(s!==``&&!s.startsWith(`#`)&&Ir(s,t.number)!==null)return e.line={...t,indent:c,text:a},ii(e,c,r+1);Y(e);let l=mi(e,s.startsWith(`#`)?``:s,n,r,t);return o!==null&&e.anchors.set(o,l),l}function gi(e,t){if(!e.workflow||!t.text.startsWith(`&`))return Ir(t.text,t.number);let{anchor:n,rest:r}=Br(t.text,t.number),i=Ir(r,t.number);return i&&{...i,anchor:n}}var Q=[`dependencies`,`devDependencies`,`optionalDependencies`];function _i(e,t,n){let[r,i]=[`dependencies`,`optionalDependencies`].map(r=>n(e[r],d(t,r))),a=Object.keys(i).find(e=>e in r);if(a!==void 0)throw new s(`listed under dependencies too`,d(d(t,`optionalDependencies`),a));return{dependencies:r,optionalDependencies:i}}function vi(e,t){let n=new Set,r=e=>{for(let t of Object.values(e))t.startsWith(`link:`)||n.add(t)};for(let t of e)r(t);for(let e of n)r(t[e].dependencies),r(t[e].optionalDependencies);return Object.keys(t).find(e=>!n.has(e))}function yi(e,t,{required:n=[`dependencies`],dev:r=[`devDependencies`],optional:i=[`optionalDependencies`]}={}){let a=(n,r)=>{let i=new Set,a=t=>{for(let n of Object.values(t))n.startsWith(`link:`)||i.add(e[n])};for(let e of Object.values(t))for(let t of n)a(e[t]);for(let e of i)for(let t of r)a(e[t]);return i},o=a([...n,...i],[`dependencies`,`optionalDependencies`]),s=a([...n,...r],[`dependencies`]),c=a(n,[`dependencies`]);return e=>({dev:!o.has(e),optional:!s.has(e),devOptional:!c.has(e)})}var bi=`(patch_hash=`;function xi(e){let t={start:e.length,peers:e.length};if(!e.endsWith(`)`))return t;let n=1;for(let t=e.length-2;t>=0;t--)if(e[t]===`(`)n--;else if(e[t]===`)`)n++;else if(n===0){if(!e.startsWith(bi,t+1))return{start:t+1,peers:t+1};let n=e.indexOf(`(`,t+2);return{start:t+1,peers:n===-1?e.length:n}}return t}function Si(e){if(typeof e!=`string`)throw TypeError(`expected a string`);return e.slice(0,xi(e).start)}function Ci(e,t,n){let r=[],[i,a]=[0,0];for(let o=0;o<e.length;o++){if(i===0&&(e[o]!==`(`||e[o+1]===`)`||e.startsWith(bi,o)))throw new s(`${u(t)} does not end in peers in parentheses`,n);e[o]===`(`&&i++===0?a=o+1:e[o]===`)`&&--i===0&&r.push(e.slice(a,o))}return r}function wi(e,t){let{start:n,peers:r}=xi(e),i;if(n<r){let a=e.slice(n,r);if(i=/^\(patch_hash=([\da-z]+)\)$/u.exec(a)?.[1],i===void 0)throw new s(`${u(a)} is not a patch hash`,t)}return{base:e.slice(0,n),patchHash:i,peers:Ci(e.slice(r),e,t)}}var Ti=e=>r(e,{padding:!1}),Ei=(e,t,n)=>l(()=>e===e.toLowerCase()&&n(e).length===t,()=>!1);function Di(e,t){let n=e.indexOf(`@`,1);if(n===-1||n===e.length-1)throw new s(`${u(e)} is not a key of the form name@version`,t);if(Si(e)!==e)throw new s(`${u(e)} carries a peer or patch suffix, which only a snapshot key does`,t);return{name:I(e.slice(0,n),t),ref:e.slice(n+1)}}var Oi=(e,t)=>/^[^:(]*@/u.test(e)?e:`${t}@${e}`;function ki(e,t){let n=j(e,t);if(n.startsWith(`file:`))L(n.slice(5),t);else if(!Ve(n))throw new s(`${u(n)} is not an http(s) URL or a file: path`,t);return n}var Ai=(e,t)=>e===``?`.`:L(e,t),ji=(e,t)=>A(e,`path`,t,(e,t)=>(Te(j(e,t).replace(/^\//u,``),t),e));function Mi(e,t){T(e,t,[`integrity`,`tarball`,`path`,`gitHosted`]);let{integrity:n,tarball:r}=e;if(n===void 0&&r===void 0)throw new s(`expected an integrity or a tarball`,t);return{type:`tarball`,integrity:A(e,`integrity`,t,ze),tarball:A(e,`tarball`,t,ki),path:ji(e,t),gitHosted:F(e.gitHosted,d(t,`gitHosted`))}}function Ni(e,t){T(e,t,[`type`,`repo`,`commit`,`path`]);let n=j(e.commit,d(t,`commit`));if(!ke(n))throw new s(`${u(n)} is not a full commit hash`,d(t,`commit`));return{type:`git`,repo:Ie(e.repo,d(t,`repo`)),commit:n,path:ji(e,t)}}function Pi(e,t){return T(e,t,[`type`,`directory`]),{type:`directory`,directory:Ai(e.directory,d(t,`directory`))}}var Fi=new Map([[void 0,Mi],[`git`,Ni],[`directory`,Pi]]);function Ii(e,t){let n=T(e,t),r=Fi.get(n.type);if(r===void 0)throw new s(`unsupported resolution type, ${S(n.type)}`,d(t,`type`));return r(n,t)}var Li=[`resolution`,`version`,`name`,`engines`,`cpu`,`os`,`libc`,`deprecated`,`hasBin`,`bundledDependencies`,`peerDependencies`,`peerDependenciesMeta`],Ri=[`dependencies`,`optionalDependencies`,`optional`,`transitivePeerDependencies`],zi=new Set([`bitbucket`,`catalog`,`custom`,`file`,`git`,`github`,`gitlab`,`http`,`https`,`jsr`,`link`,`npm`,`ssh`,`workspace`]);function Bi(e,t,n,r,i){let{type:a,tarball:o}=r,c=o?.startsWith(`file:`);if(be(t)){if(a!==`tarball`||r.integrity===void 0||c||r.gitHosted||r.path!==void 0)throw new s(`expected a registry tarball with an integrity, for the version ${u(t)}`,d(i,`resolution`));if(n.version!==void 0&&n.version!==t)throw new s(`expected the version in the key, ${u(t)}`,d(i,`version`));return o!==void 0&&Ue(o,e,t,d(d(i,`resolution`),`tarball`)),t}let l=/^([A-Za-z][\w+.-]*):/u.exec(t)?.[1];if(l===void 0)throw new s(`${u(t)} is neither a version nor a source`,i);if(l===`runtime`||!zi.has(l)&&be(t.slice(l.length+1)))throw new s(`${u(t)} is from a runtime or a named registry, which is not supported`,i);if(!(l===`file`?t===(a===`directory`?`file:${n.resolution.directory}`:o):a===`git`||a===`tarball`&&o!==void 0&&!c))throw new s(`${u(t)} is not where the resolution says the package comes from`,d(i,`resolution`));if(a===`directory`){if(n.version!==void 0)throw new s(`a directory has no version in the lockfile`,d(i,`version`));return}if(n.version===void 0)throw new s(`expected a version, for a package not from the registry`,i);return xe(n.version,d(i,`version`))}var Vi=(e,t)=>M(e,t,I);function Hi(e,t,n){T(t,n,Li);let{name:r,ref:i}=Di(e,n);if(t.name!==void 0&&t.name!==r)throw new s(`expected the name in the key, ${u(r)}`,d(n,`name`));let a=Ii(t.resolution,d(n,`resolution`)),o=t.bundledDependencies;return{name:r,version:Bi(r,i,t,a,n),resolution:a,engines:P(k(t.engines),d(n,`engines`)),os:A(t,`os`,n,M),cpu:A(t,`cpu`,n,M),libc:A(t,`libc`,n,M),deprecated:A(t,`deprecated`,n,j),hasBin:F(t.hasBin,d(n,`hasBin`)),bundledDependencies:o===void 0||o===!0?o:Vi(o,d(n,`bundledDependencies`)),peerDependencies:P(k(t.peerDependencies),d(n,`peerDependencies`),I),peerDependenciesMeta:Wi(t.peerDependenciesMeta,d(n,`peerDependenciesMeta`))}}var Ui=(e,t)=>(n,r)=>N(k(n),r,(n,r,i)=>(T(n,r,e),I(i,r),t(n,r))),Wi=Ui([`optional`],(e,t)=>({optional:F(e.optional,d(t,`optional`))}));function Gi(e,t,n,r,i){if(e.startsWith(`link:`))return`link:${Ee(n,Ai(e.slice(5),i))}`;let a=Oi(e,t);if(!(a in r))throw new s(`${u(e)} leads to ${u(a)}, which is not in snapshots`,i);return a}var Ki=(e,t,n)=>N(k(e),t,(e,t,r)=>{let i=j(e,t);if(i===`link:<root>`||i.startsWith(`link:<root>/`))throw new s(`${u(i)} leads into the package that asks for it, which is not supported`,t);return Gi(i,I(r,t),`.`,n,t)});function qi(e,t,n){return T(e,t,Ri),{..._i(e,t,(e,t)=>Ki(e,t,n)),optional:F(e.optional,d(t,`optional`)),transitivePeerDependencies:A(e,`transitivePeerDependencies`,t,Vi)??[]}}var Ji=e=>Ei(e,16,Ti)||Ei(e,16,n);function Yi(e){let t=e.indexOf(`@`,1);return t===-1?``:e.slice(0,t)}function Xi(e){let t=l(()=>wi(e),()=>{});if(t===void 0)return;let n=t.patchHash===void 0?t.base:`${t.base}(patch_hash=${t.patchHash})`;if(t.peers.length===1&&Ji(t.peers[0]))return{unpeered:n,peers:void 0};let r=new Map(t.peers.map(e=>[Yi(e),e]));return r.size===t.peers.length?{unpeered:n,peers:r}:void 0}var Zi=32;function Qi(e,t,n,r=0){if(e===t)return!0;let[i,a]=[Xi(e),Xi(t)];if(r>Zi||i===void 0||a===void 0||i.unpeered!==a.unpeered)return!1;if(i.peers===void 0||a.peers===void 0)return!0;let{dependencies:o,optionalDependencies:s}=n[t];return[...i.peers].every(([e,t])=>{if(!a.peers.has(e))return!1;let i=o[e]??s[e];return i===void 0?t===a.peers.get(e):!i.startsWith(`link:`)&&Qi(t,i,n,r+1)})}function $i(e,t,n,r,i,a){if(e.length===0||e.length===1&&Ji(e[0]))return;let o=new Set,c=new Set;for(let[e,r]of Object.entries({...t.dependencies,...t.optionalDependencies})){if(r.startsWith(`link:`)){c.add(e);continue}o.add(r);let t=n.get(Si(r));t!==void 0&&(t.version===void 0?c.add(t.name):o.add(`${t.name}@${t.version}`))}let l=t.transitivePeerDependencies;for(let n of e){let e=Yi(n);if(e===``)throw new s(`${u(n)} is not a peer, as pnpm writes one in a key`,a);let d=!n.includes(`(`);if(o.has(n)||d&&c.has(e))continue;let f=d&&l.includes(e)&&!be(n.slice(e.length+1));if(!(l.length>0&&(r().has(n)||f))){if(d)throw ea(n,a);i.push({group:n,snapshot:t,where:a})}}}var ea=(e,t)=>new s(`the peer ${u(e)} is not one of its dependencies, nor a peer of theirs it resolves`,t);function ta(e,t){let n;for(let{group:r,snapshot:i,where:a}of e){let e=Object.values({...i.dependencies,...i.optionalDependencies}).filter(e=>!e.startsWith(`link:`)),o=Xi(r)?.unpeered;if(i.transitivePeerDependencies.includes(Yi(r))&&o!==void 0&&(n??=Map.groupBy(Object.keys(t),e=>Xi(e)?.unpeered),e.push(...n.get(o)??[])),!e.some(e=>Qi(r,e,t)))throw ea(r,a)}}function na(e,t,n){if(e.version===void 0&&[...t.keys()].some(t=>t.startsWith(`${e.name}@`)))throw new s(`a package of no version in the lockfile, which a patch of a version of ${u(e.name)} may be of`,n);let r=`${e.name}@${e.version}`;return e.version!==void 0&&t.has(r)?r:t.has(e.name)?e.name:void 0}function ra(e,t,n){let r=new Map,i=new Map,a=d(t,`packages`);for(let[t,n,o]of E(k(e.packages),a)){let e=Hi(t,n,o);r.set(t,e),n.version!==void 0&&t===`${e.name}@${e.version}`&&i.set(t,d(o,`version`))}let o=d(t,`snapshots`),c=T(k(e.snapshots),o),l,f=()=>l??=new Set([...Object.keys(c),...r.keys(),...[...r.values()].map(e=>`${e.name}@${e.version}`)]),p=new Set,m=new Set,h=[],g=N(c,o,(e,t,a)=>{let{base:o,patchHash:l,peers:d}=wi(a,t),g=r.get(o);if(g===void 0)throw new s(`${u(o)} is not in packages`,t);let _=na(g,n,t);_!==void 0&&m.add(_);let v=_===void 0?void 0:n.get(_).hash;if(v!==l){let e=_===void 0?`none, as patchedDependencies patches no such package`:`${u(v)}, of patchedDependencies[${u(_)}]`;throw new s(`expected the patch hash ${e}, found ${l===void 0?`none`:u(l)}`,t)}p.add(o),a.includes(`:`)&&i.delete(o);let y=qi(e,t,c);return $i(d,y,r,f,h,t),{...g,patchHash:l,...y}});ta(h,g);for(let e of r.keys())if(!p.has(e))throw new s(`no snapshot is of this package`,d(a,e));let _=[...n.keys()].find(e=>!m.has(e));if(_!==void 0)throw new s(`patches no package in the lockfile, which pnpm refuses to install with`,d(d(t,`patchedDependencies`),_));for(let e of i.values())throw new s(`a registry package has its version in its key, except where a snapshot of it has a source in its peers`,e);return{packages:g,snapshots:c}}var ia=[...Q,`dependenciesMeta`,`publishDirectory`,`linkDirectory`],aa=[`configDependencies`,`packageManagerDependencies`];function oa(e,t,n,r,i){let a=Object.create(null),o={specifiers:a},c=Object.create(null);for(let l of t)o[l]=N(k(e[l]),d(r,l),(e,t,r)=>{if(I(r,t),T(e,t,[`specifier`,`version`]),r in a)throw new s(`listed under ${c[r]} too`,t);a[r]=D(e.specifier,d(t,`specifier`)),c[r]=l;let o=d(t,`version`);return Gi(j(e.version,o),r,n,i,o)});return o}var sa=Ui([`injected`,`node`],(e,t)=>({injected:A(e,`injected`,t,O)??!1,node:A(e,`node`,t,j)}));function ca(e,t,n,r){if(T(e,n,ia),e.linkDirectory!==void 0&&e.linkDirectory!==!1)throw new s(`expected false, the only value pnpm writes`,d(n,`linkDirectory`));return{...oa(e,Q,t,n,r),dependenciesMeta:sa(e.dependenciesMeta,d(n,`dependenciesMeta`)),publishDirectory:A(e,`publishDirectory`,n,L),linkDirectory:e.linkDirectory!==!1}}function la(e,t,n,r){let i=N(e,t,(e,t,i)=>{if(L(i,t),!r)return ca(e,i,t,n);if(i!==`.`)throw new s(`the env document has no importer but "."`,t);return T(e,t,aa),oa(e,aa,i,t,n)});if(r&&!(`.`in i))throw new s(`expected the "." importer`,t);return i}var ua=[`lockfileVersion`,`settings`,`catalogs`,`overrides`,`patchedDependencies`,`packageExtensionsChecksum`,`pnpmfileChecksum`,`ignoredOptionalDependencies`,`time`,`importers`,`packages`,`snapshots`],da=[`lockfileVersion`,`importers`,`packages`,`snapshots`],fa={__proto__:null,autoInstallPeers:O,dedupePeers:O,excludeLinksFromLockfile:O,injectWorkspacePackages:O,peersSuffixMaxLength:ie},pa=(e,t)=>N(T(k(e),t,Object.keys(fa)),t,(e,t,n)=>fa[n](e,t)),ma=(e,t)=>N(k(e),t,(e,t,n)=>(j(n,t),Ui([`specifier`,`version`],(e,t)=>({specifier:D(e.specifier,d(t,`specifier`)),version:j(e.version,d(t,`version`))}))(e,t)));function ha(e,t){if(e.indexOf(`@`,1)===-1)return I(e,t);if(!be(Di(e,t).ref))throw new s(`${u(e)} is not a name and a version, or a name alone, which is not supported`,t)}var ga=(e,t)=>N(k(e),t,(e,t,r)=>{let i=typeof e!=`string`;i&&T(e,t,[`hash`,`path`]);let a=i?d(t,`hash`):t,o=j(i?e.hash:e,a);if(!Ei(o,32,n)&&!Ei(o,16,Ti))throw new s(`${u(o)} is not a patch hash`,a);return ha(r,t),{hash:o,path:i?L(e.path,d(t,`path`)):void 0}});function _a(e,t){let r=j(e,t);if(Ei(r,16,n)||Ei(r,16,Ti))return r;if(!r.startsWith(`sha256-`))throw new s(`${u(r)} is not a checksum`,t);return ze(r,t)}var va=/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.\d+)?Z$/u,ya=(e,t,n)=>N(k(e),t,(e,t,r)=>{if(!(r in n))throw new s(`${u(r)} is not in packages`,t);let i=j(e,t),a=va.test(i)?Date.parse(i):NaN;if(Number.isNaN(a)||new Date(a).toISOString().slice(0,19)!==i.slice(0,19))throw new s(`${u(i)} is not a UTC timestamp`,t);return i});function ba(e,t,n,r){let i=vi(Object.values(e).flatMap(e=>r.map(t=>e[t])),t);if(i!==void 0)throw new s(`no importer depends on it, directly or not`,d(d(n,`snapshots`),i))}function xa(e,t,n){let r=yi(t,e,n?{required:aa,dev:[],optional:[]}:void 0);for(let e of Object.values(t)){let{dev:t,devOptional:n}=r(e);Object.assign(e,{dev:t,devOptional:n})}}function Sa(e,t,n){let r=t===``?void 0:t,i=T(e,r).lockfileVersion;if(i!==`9.0`)throw new s(`unsupported version: expected "9.0", found ${S(i)}`,d(t,`lockfileVersion`));T(e,r,n?da:ua);let a=ga(e.patchedDependencies,d(t,`patchedDependencies`)),{packages:o,snapshots:c}=ra(e,t,new Map(Object.entries(a))),l=la(e.importers,d(t,`importers`),c,n);return ba(l,o,t,n?aa:Q),xa(l,o,n),n?{lockfileVersion:i,importers:l,packages:o}:{lockfileVersion:i,settings:pa(e.settings,d(t,`settings`)),catalogs:ma(e.catalogs,d(t,`catalogs`)),overrides:P(k(e.overrides),d(t,`overrides`),j),patchedDependencies:a,packageExtensionsChecksum:A(e,`packageExtensionsChecksum`,t,_a),pnpmfileChecksum:A(e,`pnpmfileChecksum`,t,_a),ignoredOptionalDependencies:A(e,`ignoredOptionalDependencies`,t,M)??[],time:ya(e.time,d(t,`time`),k(e.packages)),importers:l,packages:o}}function Ca(e){if(typeof e!=`string`)throw TypeError(`expected a string`);let t=/^---\r?\n/u.exec(e)?.[0];if(t===void 0){let t=ei(e);if(t.length!==1)throw new s(`expected one document, found ${t.length}`);return{lockfile:Sa(t[0],``,!1),env:void 0}}let n=/\n---\r?\n/gu;n.lastIndex=t.length;let r=n.exec(e);if(r===null)throw new s(`expected the env document the first "---" starts to end at a line of "---"`);let i=/^(?: *\r?\n)* *$/u.test(e.slice(n.lastIndex)),a=ei(i?e.slice(0,r.index+1):e);if(a.length!==(i?1:2))throw new s(`expected the env document${i?``:` and the lockfile`} between lines of "---" alone, found ${a.length} documents`);return{lockfile:i?void 0:Sa(a[1],``,!1),env:Sa(a[0],`env`,!0)}}var wa=[`name`,`version`,`uid`,`resolved`,`integrity`,`dependencies`,`optionalDependencies`];function Ta(e,t){let n=e.indexOf(`@`,1);if(n===-1)throw new s(`${u(e)} is not a pattern of the form name@range`,t);return{name:I(e.slice(0,n),t),range:e.slice(n+1)}}function Ea(e){if(!e.startsWith(`npm:`))return;let t=e.slice(4),n=t.indexOf(`@`,1);return n===-1?{name:t,range:``}:{name:t.slice(0,n),range:t.slice(n+1)}}var Da=new Set([`github.com`,`gitlab.com`,`bitbucket.com`,`bitbucket.org`]);function Oa(e){if(/^(?:git:|git\+.+:|ssh:|https?:.+\.git(?:$|#.))/u.test(e))return!0;let t=URL.parse(e);return t!==null&&Da.has(t.hostname)&&`${t.pathname}${t.search}`.split(`/`).filter(Boolean).length===2}var ka=/^[^:@%/\s.-][^:@%/\s]*\/[^:@\s/%][^:@\s/%#]*(?:#.*)?$/u;function Aa(e){return Oa(e)?`git`:/^https?:\/\//u.test(e)||!e.includes(`@`)&&/\.(?:tgz|tar\.gz)$/u.test(e)?`tarball`:e.startsWith(`github:`)||ka.test(e)?`github`:/^(?:file:|\.{1,2}\/|\/)/u.test(e)?`file`:/^(link|gitlab|gist|bitbucket):/u.exec(e)?.[1]??`registry`}var ja={github:{host:`github.com`,archive:e=>[`https://codeload.github.com/${e}/tar.gz/`,``]},gitlab:{host:`gitlab.com`,archive:e=>[`https://gitlab.com/${e}/repository/archive.tar.gz?ref=`,``]},bitbucket:{host:`bitbucket.org`,archive:e=>[`https://bitbucket.org/${e}/get/`,`.tar.gz`]}};function Ma(e){let t=e.split(`@`),n=(t.length>2?`${t[1]}@${t[2]}`:e).replace(/#.*/u,``).replace(/^.*:/u,``).replace(/.git$/u,``).split(`/`);return n.length<2?void 0:n.slice(-2).join(`/`)}function Na(e){let t=e.replace(/^(?:file|link):/u,``);return t.startsWith(`/`)?`/${t.split(`/`).filter(e=>e!==``&&e!==`.`).join(`/`)}`:De(`.`,t)}function Pa(e,t,n){let r=xe(e,t);if(n!==void 0&&n.valid(r)===null)throw new s(`${u(r)} is not a version semver reads`,t);return r}function Fa(t,r,i,a,o){if(t.startsWith(`file:`))L(t.slice(t.startsWith(`file:./`)?7:5),a);else if(!Ve(t))throw new s(`${u(t)} is not an http(s) URL, a file: path or a git URL`,a);if(r!==void 0&&!Ae(r))throw new s(`${u(r)} is not the hex sha1 of a tarball`,a);let c=i===void 0?void 0:Be(i,o).get(`sha1`);if(r!==void 0&&c!==void 0&&c.slice(5)!==e(n(r)))throw new s(`${u(c)} is not the sha1 after the "#" of resolved`,o);return{type:`tarball`,tarball:t,sha1:r,integrity:i}}function Ia(e,t){let n=d(t,`resolved`),r=d(t,`integrity`);if(e.resolved===void 0){if(e.integrity!==void 0)throw new s(`an integrity, with nothing resolved`,r);return}let[i,a,...o]=j(e.resolved,n).split(`#`);if(o.length>0)throw new s(`more than one "#", of which yarn reads the first alone`,n);if(!Oa(i))return Fa(i,a,e.integrity,n,r);if(e.integrity!==void 0)throw new s(`an integrity, which yarn does not check for a git repository`,r);if(a===void 0||!ke(a))throw new s(`expected a full commit hash after the "#" of ${u(i)}`,n);return{type:`git`,repo:Ie(i,n),commit:a}}function La(e){if(e!==void 0)return e.type===`git`?`${e.repo}#${e.commit}`:e.tarball.replace(/^file:\.\//u,`file:`)}var Ra=e=>e===void 0?`nothing, as for a directory`:e.type===`git`?`a git repository`:`a file: tarball`;function za(e,t,n){let[r]=e,i=e.find(e=>e.name!==r.name);if(i!==void 0)throw new s(`${u(r.key)} and ${u(i.key)} give it two names, of which yarn installs it under one alone`,n);if(t.name!==void 0){let e=D(t.name,d(n,`name`)),i=e===r.name?`the name its patterns give, which yarn does not write`:`yarn installs this as ${u(e)}, and leaves ${u(r.name)} out, which its patterns ask for`;throw new s(i,d(n,`name`))}let a=e.filter(e=>e.source===`registry`).map(({key:e,name:t,alias:r})=>[e,r===void 0?t:I(r.name,n)]),o=a.find(([,e])=>e!==a[0][1]);if(o!==void 0)throw new s(`${u(a[0][0])} and ${u(o[0])} ask for two packages, ${u(a[0][1])} and ${u(o[1])}`,n);return a[0]?.[1]}function Ba({range:e,source:t},n){let r=e.split(`#`)[0];if(t===`file`||t===`link`)return n===void 0;if(t===`tarball`)return n?.tarball===r;if(t===`git`)return n?.repo===r;if(t===`gist`)return n?.repo===`https://gist.github.com/${r.slice(5)}.git`;let{host:i,archive:a}=ja[t],o=Ma(e);if(o===void 0||n===void 0)return!1;if(n.type===`git`)return n.repo===`git+ssh://git@${i}/${o}.git`;let[s,c]=a(o),{tarball:l}=n;return l.startsWith(s)&&l.endsWith(c)&&ke(l.slice(s.length,l.length-c.length))}function Va(e,t){let[n,...r]=e.filter(e=>e.source===`file`||e.source===`link`),i=r.find(e=>n.source===`link`||e.source===`link`||Na(e.range)!==Na(n.range));if(i!==void 0)throw new s(`${u(n.key)} and ${u(i.key)} share an entry, where yarn writes one for each`,t)}function Ha(e,t,{asks:n,version:r},i){let a=e.filter(e=>e.source!==`registry`),o=a.find(e=>!Ba(e,t));if(o!==void 0)throw new s(`${u(o.key)} resolves to another source than it names`,d(i,`resolved`));Va(e,i);let c=e.find(e=>e.source===`registry`);if((a.length===0||a.some(e=>e.source===`tarball`))&&t?.type===`tarball`&&t.sha1===void 0&&t.integrity===void 0)throw new s(`a tarball with no hash, neither a sha1 after "#" nor an integrity, where yarn writes the sha1`,d(i,`resolved`));if(c!==void 0){if(a.length>0)return{registry:c.key,sources:a.map(e=>e.key)};if(t===void 0&&e.length===1)return{registry:c.key,sources:[]};if(t?.type!==`tarball`||t.tarball.startsWith(`file:`))throw new s(`${u(c.key)} asks for the registry, and resolves to ${Ra(t)}`,i);Ue(t.tarball,n,r,d(i,`resolved`))}}function Ua(e,t,n){let r=Object.create(null);for(let[i,a,o]of E(k(e),t)){let e=`${I(i,o)}@${D(a,o)}`;r[i]=e,n.push({targets:r,name:i,range:a,pattern:e,where:o})}return r}function Wa({keys:e,fields:t},n,r){T(t,n,wa);let i=e.map(e=>{let{name:t,range:n}=Ta(e,d(``,e));return{key:e,name:t,range:n,source:Aa(n),alias:Ea(n)}}),a=za(i,t,n),o=Pa(t.version,d(n,`version`),r),c=Ia(t,n),l=Ha(i,c,{asks:a,version:o},n),u=[],{dependencies:f,optionalDependencies:p}=_i(t,n,(e,t)=>Ua(e,t,u)),m=A(t,`uid`,n,D);if(m===o)throw new s(`the version, which yarn does not write as a uid`,d(n,`uid`));return{pkg:{patterns:e,name:i[0].name,version:o,uid:m,resolution:c,dependencies:f,optionalDependencies:p},patterns:i,handed:l,requests:u}}var Ga=/^(?![vV=]?\d|[xX*](?:\.|$))[A-Za-z][\w.-]*$/u;function Ka(e,t){return t===void 0?!/[:/@#]/u.test(e)&&!Ga.test(e):t.validRange(e)!==null}function qa(e,t,n,r,i){let a=e=>e.source===`registry`&&Ka(e.range,r),o=t.find(a)??n.patterns.find(a);if(o!==void 0)throw new s(`is ${e.name} ${e.version}, as ${u(n.key)} is, and yarn gives ${u(o.key)} whichever it resolves first`,i)}var Ja=({integrity:e})=>e===void 0?new Map:Be(e),Ya=e=>JSON.stringify(Object.entries(e).sort(([e],[t])=>e<t?-1:1));function Xa(e,t,n,r){for(let i of[`dependencies`,`optionalDependencies`])if(Ya(e[i])!==Ya(t[i]))throw new s(`other ${i} ${n}`,d(r,i))}function Za(e,t,n){let r=`than ${u(t.patterns[0])}, of the same ${e.resolution.type===`git`?`commit`:`tarball`}`;if(e.version!==t.version)throw new s(`another version ${r}`,d(n,`version`));Xa(e,t,r,n);let[i,a]=[e.resolution,t.resolution];if(i.sha1!==void 0&&a.sha1!==void 0&&i.sha1!==a.sha1)throw new s(`another sha1 ${r}`,d(n,`resolved`));let o=Ja(a);for(let[e,t]of Ja(i))if(o.has(e)&&o.get(e)!==t)throw new s(`another ${e} integrity ${r}`,d(n,`integrity`))}function Qa(e,t){let n=Object.create(null),r=[],i=[],a=[],o=new Map,c=new Map,l=new Map;for(let f of e){let[e]=f.keys,p=d(``,e),m=Wa(f,p,t),{pkg:h}=m;for(let e of f.keys)n[e]=h;r.push(...m.patterns),i.push(...m.requests),m.handed!==void 0&&a.push({pkg:h,...m.handed});let g=m.patterns.find(e=>e.source===`file`),_=f.fields.resolved??(g===void 0?void 0:`
|
|
16
|
-
${Na(g.range)}`),v=_===void 0?void 0:`${h.name}
|
|
17
|
-
${_}`;if(o.has(v))throw new s(`resolves as ${u(o.get(v))} does, which yarn writes as one entry`,p);v!==void 0&&o.set(v,e);let y=La(h.resolution);if(y!==void 0){let e=c.get(y)??c.set(y,[]).get(y);e.length>0&&Za(h,e[0],p),e.push(h)}if(m.handed?.sources.length===0)continue;let b=`${h.name}
|
|
18
|
-
${h.version}`,x=l.get(b);x===void 0?l.set(b,{key:e,patterns:m.patterns}):qa(h,m.patterns,x,t,p)}for(let e of a)e.other=c.get(La(e.pkg.resolution))?.find(t=>t!==e.pkg);return{packages:n,patterns:r,requests:i,mixed:a}}var $=`manifests`;function $a(e,t,n){let r=/^(?:file|link):/u.exec(e)?.[0];if(r===void 0&&!e.startsWith(`/`))return e;let i=e.slice(r?.length??0);if(i.startsWith(`/`)||/^[A-Za-z]:/u.test(i))throw new s(`${u(e)} is an absolute path`,n);let a=L(De(t,i),n);return`${r}${a!==`.`&&/^\.(?:\/|$)/u.test(i)&&!/^\.{0,2}\//u.test(a)?`./`:``}${a}`}var eo=(e,t,n)=>n===void 0?e.version===t||void 0:n.satisfies(e.version,t,{loose:!0});function to({name:e,range:t,pattern:n,where:r},i,a){let o=i.get(e);if(o!==void 0&&eo(o,t,a)===!0)throw new s(`${u(n)} is satisfied by the workspace ${u(o.dir)}, which yarn links instead`,r)}function no({name:e,range:t,pattern:n,where:r},i,a){let o=i?.get(e);if(o===void 0)throw new s(`${u(n)} is not a pattern of the lockfile${i===void 0?`, nor a workspace's, as only the manifests may say`:``}`,r);if(eo(o,t,a)===!1)throw new s(`${u(n)} is not a pattern of the lockfile, nor satisfied by the workspace ${u(o.dir)}, ${o.version}`,r);return`link:${o.dir}`}function ro(e,t,n,r){for(let i of e)i.pattern in t||(i.targets[i.name]=no(i,n,r))}function io(e,{packages:t,workspaces:n,semver:r}){return e.pattern in t?(to(e,n,r),e.pattern):no(e,n,r)}var ao=[`optionalDependencies`,`dependencies`,`devDependencies`];function oo(e,t,n,r){let i=new Map,a=new Map;for(let t of ao)for(let[r,o,s]of E(k(e[t]),d(n,t))){if(r===`//`)continue;let e=D(o,s);i.has(r)||i.set(r,{kind:t,value:e,here:s}),!a.has(r)&&e!==``&&e!==`*`&&a.set(r,e)}let o=Object.create(null);for(let e of Q)o[e]=Object.create(null);for(let[e,{kind:n,value:s,here:c}]of i){let i=$a(a.get(e)??s,t,c);o[n][e]=io({name:e,range:i,pattern:`${I(e,c)}@${i}`,where:c},r)}return o}function so(e,t,n){let r=[];for(let[i,a,o]of E(k(e),t)){if(i===`//`)continue;if(/\/$|\/\/|\*$/u.test(i))throw new s(`${u(i)} is a path yarn ignores`,o);let e=i.match(/(?:@[^/]+\/)?[^/]+/gu)??[i],t=zt(e.length===1?`**/${i}`:i,o),c=I(e.at(-1),o),l=e.slice(0,-1).find(e=>e!==`**`&&!ge(e.replaceAll(/[*?]/gu,`x`)));if(l!==void 0)throw new s(`${u(l)} is not a package name, or a glob of one`,o);let d=D(a,o);if(Aa(d)===`registry`&&!Ka(d,n))throw new s(`${u(d)} is a range yarn ignores in a resolution: neither a semver range nor a source`,o);r.push({path:i,tests:t,name:c,range:d,pattern:`${c}@${d}`,where:o})}return r}function co(e,t,n){let r=Object.values(e).flatMap(e=>Q.map(t=>e[t])),i=vi([n.map(e=>e.pattern).filter(e=>e in t),...r],t);if(i!==void 0)throw new s(`nothing asks for it: no manifest, no package and no resolution`,d(``,i))}function lo(e,t){let n=e.workspaces;if(n===void 0)return[];let r=d(t,`workspaces`),i=n;Array.isArray(n)||(T(n,r,[`packages`,`nohoist`]),A(n,`nohoist`,r,M),i=n.packages===void 0?[]:n.packages,r=d(r,`packages`));let a=M(i,r);if(a.length>0&&e.private!==!0)throw new s(`expected true, as yarn has workspaces in a private project alone`,d(t,`private`));return a.map((e,t)=>zt(e.replace(/^(?:\.\/)+/u,``).replace(/(?<!\/)\/+$/u,``),`${r}[${t}]`))}var uo={__proto__:null,depdenencies:`dependencies`,dependancies:`dependencies`,dependecies:`dependencies`,depends:`dependencies`,"dev-dependencies":`devDependencies`,devDependences:`devDependencies`,devDepenencies:`devDependencies`,devEependencies:`devDependencies`,devdependencies:`devDependencies`},fo=/^[\s\dA-Za-z.+=-]{1,256}$/u;function po(e,t,n){let r=j(e,t);if(!fo.test(r))throw new s(`${u(r)} is not a version`,t);if(n===void 0)return r;let i=n.clean(r,{loose:!0});if(i===null)throw new s(`${u(r)} is not a version semver reads`,t);return i}function mo(e,t,n,r,i){for(let e of Object.keys(uo))if(Object.hasOwn(t,e))throw new s(`a field yarn does not read, for ${u(uo[e])}`,d(n,e));if(L(e,n)===`.`)return;if(r.length===0)throw new s(`expected workspaces, as there are manifests of workspaces`,d(d($,`.`),`workspaces`));if(e.split(`/`).includes(`node_modules`)||!r.some(t=>Ut(t,e)))throw new s("not a workspace the root's `workspaces` finds",n);if(t.resolutions!==void 0)throw new s(`a workspace's, which yarn does not read`,d(n,`resolutions`));let a=d(n,`name`),o=I(D(t.name,a),a);if(t.version===void 0)throw new s(`expected a version, without which yarn ignores the workspace`,d(n,`version`));return{name:o,dir:e,version:po(t.version,d(n,`version`),i)}}function ho(e,t,n,r){T(e,$);let i=d($,`.`),a=e[`.`];if(a===void 0)throw new s(`expected the manifest beside the lockfile, "."`,$);let o=lo(T(a,i),i),c=new Map;for(let[t,n,i]of E(e,$)){let e=mo(t,T(n,i),i,o,r);if(e!==void 0){if(c.has(e.name))throw new s(`the name of the workspace ${u(c.get(e.name).dir)} too`,d(i,`name`));c.set(e.name,e)}}for(let e of n)e.pattern in t&&to(e,c,r);ro(n,t,c,r);let l={packages:t,workspaces:c,semver:r},f=N(e,$,(e,t,n)=>oo(e,n,t,l)),p=so(a.resolutions,d(i,`resolutions`),r);for(let e of p){if(!(e.pattern in t)&&!c.has(e.name))throw new s(`${u(e.pattern)} is not a pattern of the lockfile, where yarn records every resolution's`,e.where);e.target=io(e,l)}return co(f,t,p),{importers:f,workspaces:c,rules:p,aggregated:Array.isArray(a.workspaces?.packages??a.workspaces)}}var go=`workspace-aggregator-00000000-0000-0000-0000-000000000000`;function _o(e,{importers:t,workspaces:n,rules:r,aggregated:i},a){let o=r.map(e=>e.tests),c=(e,t)=>t.split(`/`).reduce((e,t)=>e.map((e,n)=>Vt(o[n],e,t)),e),l=n=>n.startsWith(`link:`)?t[n.slice(5)]:e[n],f=(e,n,r,i)=>{let a=e.patterns===void 0?d($,Object.keys(t).find(n=>t[n]===e)):d(``,e.patterns[0]);return new s(`${u(e[n][r])} ${i}`,d(d(a,n),r))},p=new Map,m=[],h=new Set,g=new Map,_=(e,t,n,r)=>{let i=e[t][n],a=r===void 0||r.pattern===i,o=a?g.get(i):h.has(i)?r:void 0;if(o!==void 0)throw f(e,t,n,`is asked for both where the resolution ${u(o.path)} applies and where none does, and yarn writes one entry for both`);a?h.add(i):g.set(i,r)},v=new Set,y=(e,t)=>{if(v.has(e))return;let n=p.get(e)??new Set,r=t.join();n.has(r)||(p.set(e,n.add(r)),m.push([e,t]))},b=t[`.`],x=o.map(e=>Bt(e,1)),ee=c(x,go),te=new Map,S=[],ne=(t,n)=>e[t.target]===n||a.get(n)?.sources[0]===t.target,C=(t,s,d,p)=>{let m=t[s][d],h=c(p,d),g=e[m],v=a.get(g),x=v===void 0?``:`the resolution ${u(v.rule.path)} resolves to`,C=t===b&&(!i||n.has(d)),w=t===b&&!C?c(ee,d):h,T=r.find((e,t)=>e.name===d&&Ht(o[t],w[t]));if(C){if(v!==void 0)throw f(t,s,d,`is given what ${x}, which yarn applies to no dependency of the root's own`);if(T!==void 0&&!ne(T,g))throw f(t,s,d,`is not given ${u(T.pattern)} as the resolution ${u(T.path)} says, which yarn ignores for the root's own dependencies`);return _(t,s,d,void 0),y(l(m),h)}if(T!==void 0&&!ne(T,g))throw f(t,s,d,`is not given ${u(T.pattern)}, which the resolution ${u(T.path)} resolves it to`);if(v?.sources.includes(m))throw f(t,s,d,`asks for what ${x}, as a dependency of its own`);if(v!==void 0&&!v.sources.includes(T?.target))throw f(t,s,d,`is given what ${x}, which yarn does not apply to it here`);_(t,s,d,T),t===b&&T!==void 0&&te.set(m,T),T===void 0?y(l(m),h):T.target.startsWith(`link:`)&&S.push([t[s],d,T.target])},w=()=>{for(;m.length>0;){let[e,t]=m.pop();for(let n of Q)for(let r of Object.keys(k(e[n])))C(e,n,r,t)}};for(let t of r)t.pattern in e&&(h.add(t.pattern),y(e[t.pattern],c(x,t.name)));w(),v=new Set(p.keys());for(let e of Q)for(let t of Object.keys(b[e]))C(b,e,t,x);for(let[e,{dir:r}]of n)y(t[r],c(ee,e));w();for(let[e,t,n]of S)e[t]=n;return{plain:h,own:te}}function vo(e,t,n,r,i){for(let{key:a,range:o,source:c,alias:l}of t){let t=n?.own.get(a);if(c!==`registry`||t===void 0&&n?.plain.has(a)===!1)continue;let f=l?.range??o,{version:p}=e[a];if(f===``||r.satisfies(p,f)||r.validRange(f)===null)continue;let m=i?`and no resolution gives it`:`which only a resolution may excuse, as the manifests would say`;throw t!==void 0&&(m=`which the root asks for before the resolution ${u(t.path)} applies, so yarn takes it as outdated`),new s(`${p} does not satisfy ${u(f)}, ${m}`,d(``,a))}}function yo(e,t,n){let r=t?.workspaces.get(e.name);if(r===void 0)return;let i=t.rules.find(e=>e.target===`link:${r.dir}`);if(i===void 0)return;let a=`than the workspace ${u(r.dir)}, which the resolution ${u(i.path)} gives it`;if(e.version!==r.version)throw new s(`another version ${a}, ${r.version}`,d(n,`version`));return Xa(e,t.importers[r.dir],a,n),i}function bo({packages:e,patterns:t,mixed:n},r,i){let a=new Map;for(let{pkg:e,registry:t,sources:i,other:o}of n){let n=d(``,e.patterns[0]);if(i.length===0){let i=yo(e,r,n);if(i===void 0)throw new s(`${u(t)} asks for the registry, and resolves to nothing, ${r===void 0?`which only a resolution to a workspace may, as the manifests would say`:`as for a directory`}`,n);a.set(e,{sources:[i.target],rule:i});continue}if(r===void 0)throw new s(`${u(t)} asks for the registry, and is given what ${u(i[0])} names, which only a resolution may, as the manifests would say`,n);let c=i.find(e=>!r.rules.some(t=>t.pattern===e));if(c!==void 0)throw new s(`${u(t)} asks for the registry, and is given what ${u(c)} names, which no resolution does`,n);let l=r.rules.find(e=>i.includes(e.pattern));if(o!==void 0)throw new s(`asks for what the resolution ${u(l.path)} resolves to, as a dependency of its own`,d(``,o.patterns[0]));a.set(e,{sources:i,rule:l})}let o=r!==void 0&&r.rules.length>0?_o(e,r,a):void 0;i!==void 0&&vo(e,t,o,i,r!==void 0);for(let[t,{sources:n}]of a)n[0].startsWith(`link:`)&&delete e[t.patterns[0]]}var xo=[`# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.`,`# yarn lockfile v1`],So=/^# yarn lockfile v(\d+)$/u,Co=/[:\s\\",[\]]/u,wo=e=>e.startsWith(`true`)||e.startsWith(`false`)||Co.test(e)||!/^[A-Za-z]/u.test(e),To=/[A-Za-z][^\s:\\",[\]]*/uy;function Eo(e,t,n){let[r,a]=ee(e,t,n);if(r.includes(`\\"`))throw f(`${u(r)} is a string yarn reads to another quote`,n);let o=p.exec(r)?.[0];if(o!==void 0)throw f(`an escape for ${i(o)}, which is not allowed`,n);if(!wo(r))throw f(`${u(r)} is quoted, where yarn writes it bare`,n);return[r,a]}function Do(e,t,n){if(e[t]===`"`)return Eo(e,t,n);To.lastIndex=t;let r=To.exec(e)?.[0];if(r===void 0)throw f(`expected a string, found ${_(e,t)}`,n);if(wo(r))throw f(`${u(r)} is bare, where yarn quotes it`,n);return[r,t+r.length]}function Oo(e,t,n){let[r,i]=Do(e,t,n);if(r===``)throw f(`an empty key, which yarn does not read`,n);return[r,i]}function ko(e,t,n){let[r,i]=Do(e,t,n);if(r.startsWith(`null`)&&e[t]!==`"`)throw f(`${u(r)} is bare, and read as null by some readers`,n);return Ao(e,i,n),r}function Ao(e,t,n){if(t!==e.length)throw f(`expected the end of the line, found ${u(e.slice(t))}`,n)}function jo(e,t){if(e.line!==t)throw f(`expected yarn's header, ${u(t)}`,e.number);x(e)}function Mo(e){jo(e,xo[0]);let t=So.exec(e.line??``)?.[1];if(t!==void 0&&t!==`1`)throw f(`unsupported version: expected "1", found ${u(t)}`,e.number);for(jo(e,xo[1]);e.line?.startsWith(`#`);x(e)){if(/^yarn lockfile v\d+$/u.test(e.line.slice(1).trim()))throw f(`a second lockfile version`,e.number);if(e.line===`#`)throw f(`a comment of "#" alone, which @yarnpkg/parsers does not read`,e.number)}}function No(e,t,n,r,i){let a=Object.create(null);for(let n=e.line;n?.startsWith(` `)&&v(n)>t-2;n=e.line){if(v(n)!==t)throw f(`expected ${t} spaces of indentation, found ${v(n)}`,e.number);let[r,o]=Oo(n,t,e.number);i(a,r,o,n,e.number)}if(Object.keys(a).length===0)throw f(n,r);return a}var Po=(e,t,n)=>No(e,4,`expected what ${u(t)} holds below it`,n,(n,r,i,a,o)=>{if(a[i]!==` `)throw f(`expected a space and a range after ${u(r)}`,o);let s=ko(a,i+1,o);if(r in n)throw f(`${u(r)} is in ${u(t)} twice`,o);n[r]=s,x(e)}),Fo=(e,t)=>No(e,2,`expected the fields of the entry below it`,t,(t,n,r,i,a)=>{if(n in t)throw f(`the field ${u(n)} twice`,a);if(i[r]===`:`){Ao(i,r+1,a),x(e),t[n]=Po(e,n,a);return}if(i[r]!==` `)throw f(`expected a space and a value, or ":", after ${u(n)}`,a);t[n]=ko(i,r+1,a),x(e)});function Io(e,t){let{line:n,number:r}=e,i=[];for(let e=0;;){let[a,o]=Oo(n,e,r);if(t.has(a))throw f(`${u(a)} is a key ${t.get(a)===r?`twice`:`at line ${t.get(a)+1} too`}`,r);if(t.set(a,r),i.push(a),n[o]===`:`){Ao(n,o+1,r);break}if(!n.startsWith(`, `,o))throw f(`expected ", " and a pattern, or ":", after ${u(a)}`,r);e=o+2}return x(e),{keys:i,fields:Fo(e,r)}}function Lo(e){m(e,`yarn`);let t=b(e,p);x(t),Mo(t);let n=[],r=new Map,i;for(let e=t.line;e!==void 0;e=t.line){if(e===``){n.length>0&&(i??=t.number),x(t);continue}if(e.startsWith(` `))throw i===void 0?f(`expected an entry, at column 0`,t.number):f(`a blank line within an entry`,i);if(e.startsWith(`#`))throw f(`a comment, which yarn writes in the header alone`,t.number);i=void 0,n.push(Io(t,r))}return n}var Ro=[`manifests`,`checkVersions`,`semver`],zo=[`clean`,`satisfies`,`valid`,`validRange`];function Bo(e,t){let n=t===void 0?()=>({dev:void 0,optional:void 0,devOptional:void 0}):yi(e,t);for(let t of new Set(Object.values(e)))Object.assign(t,n(t))}function Vo(e,t={}){if(typeof e!=`string`)throw TypeError(`expected a string`);let{manifests:n,semver:r}=oe(t,Ro);se(t,zo);let i=Qa(Lo(e),r),{packages:a,requests:o}=i;n===void 0&&ro(o,a);let s=n===void 0?void 0:ho(n,a,o,r);return bo(i,s,r),Bo(a,s?.importers),{packages:a,importers:s?.importers}}var Ho=(e,t)=>Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n)])),Uo=(...e)=>e.flatMap(e=>Object.values(e));function Wo(e,t,{manifest:n}={}){if(e===`npm`){let e=e=>Object.values(e.edges).map(e=>e.target).filter(e=>e!==void 0),{importers:n,packages:r}=or(t,{checkVersions:!1});return{importers:Ho(n,t=>({version:t.version,dependencies:e(t)})),packages:Ho(r,t=>({name:t.name,version:t.version,dependencies:e(t)}))}}if(e===`pnpm`){let{lockfile:e}=Ca(t);return{importers:Ho(e?.importers??{},e=>({dependencies:Uo(e.dependencies,e.devDependencies,e.optionalDependencies)})),packages:Ho(e?.packages??{},e=>({name:e.name,version:e.version,dependencies:Uo(e.dependencies,e.optionalDependencies)}))}}if(e!==`yarn`)throw TypeError(`readLockfile: ${e} lockfiles are not read`);if(/^__metadata:/mu.test(t))throw Error(`a yarn.lock of Yarn 2 or later, which is not read`);let r=Go(n),{importers:i,packages:a}=Vo(t,{checkVersions:!1,...r&&{manifests:{".":r}}}),o=new Map;for(let[e,t]of Object.entries(a))o.has(t)||o.set(t,e);let s=e=>e.startsWith(`link:`)?e:o.get(a[e]);return{importers:Ho(i??{},e=>({version:r.version,dependencies:Uo(e.dependencies,e.devDependencies,e.optionalDependencies).map(s)})),packages:Object.fromEntries([...o].map(([e,t])=>[t,{name:/@npm:((?:@[^/@]+\/)?[^/@]+)/u.exec(e.patterns[0]??``)?.[1]??e.name,version:e.version,dependencies:Uo(e.dependencies,e.optionalDependencies).map(s)}]))}}function Go(e){if(typeof e!=`string`)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)&&t.workspaces===void 0?t:null}catch{return null}}export{Wo as readLockfile};
|