@visulima/vis 1.0.0-alpha.34 → 1.0.0-alpha.36
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/CHANGELOG.md +78 -0
- package/LICENSE.md +3244 -1611
- package/README.md +44 -0
- package/dashboard/dist/index.html +11 -11
- package/dist/bin.js +1 -1
- package/dist/binx.js +1 -1
- package/dist/config/index.d.ts +74 -2
- package/dist/config/index.js +1 -1
- package/dist/generate/index.js +1 -1
- package/dist/packem_chunks/bin.js +584 -588
- package/dist/packem_chunks/bloom-status.js +2 -2
- package/dist/packem_chunks/bloom-sync.js +2 -2
- package/dist/packem_chunks/cache-attestation.js +1 -1
- package/dist/packem_chunks/config.js +18 -16
- package/dist/packem_chunks/devtools.js +56 -57
- package/dist/packem_chunks/doctor-probe.js +2 -2
- package/dist/packem_chunks/fix.js +11 -11
- package/dist/packem_chunks/handler.js +1 -1
- package/dist/packem_chunks/handler10.js +1 -1
- package/dist/packem_chunks/handler11.js +5 -5
- package/dist/packem_chunks/handler12.js +1 -1
- package/dist/packem_chunks/handler13.js +7 -7
- package/dist/packem_chunks/handler14.js +4 -4
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler16.js +1 -1
- package/dist/packem_chunks/handler17.js +1 -1
- package/dist/packem_chunks/handler18.js +1 -1
- package/dist/packem_chunks/handler19.js +1 -1
- package/dist/packem_chunks/handler2.js +3 -3
- package/dist/packem_chunks/handler20.js +5 -5
- package/dist/packem_chunks/handler21.js +2 -2
- package/dist/packem_chunks/handler22.js +2 -2
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler25.js +1 -5
- package/dist/packem_chunks/handler26.js +5 -1
- package/dist/packem_chunks/handler27.js +1 -3
- package/dist/packem_chunks/handler28.js +3 -1
- package/dist/packem_chunks/handler29.js +1 -7
- package/dist/packem_chunks/handler3.js +4 -4
- package/dist/packem_chunks/handler30.js +6 -32
- package/dist/packem_chunks/handler31.js +33 -3
- package/dist/packem_chunks/handler32.js +3 -8
- package/dist/packem_chunks/handler33.js +8 -1
- package/dist/packem_chunks/handler34.js +4 -5
- package/dist/packem_chunks/handler35.js +1 -11
- package/dist/packem_chunks/handler36.js +5 -3
- package/dist/packem_chunks/handler37.js +11 -22
- package/dist/packem_chunks/handler38.js +3 -61
- package/dist/packem_chunks/handler39.js +22 -3
- package/dist/packem_chunks/handler4.js +6 -6
- package/dist/packem_chunks/handler40.js +61 -6
- package/dist/packem_chunks/handler41.js +3 -24
- package/dist/packem_chunks/handler42.js +6 -25
- package/dist/packem_chunks/handler43.js +24 -153
- package/dist/packem_chunks/handler44.js +25 -10
- package/dist/packem_chunks/handler45.js +152 -707
- package/dist/packem_chunks/handler46.js +10 -24
- package/dist/packem_chunks/handler47.js +24 -322
- package/dist/packem_chunks/handler48.js +322 -48
- package/dist/packem_chunks/handler49.js +708 -3
- package/dist/packem_chunks/handler5.js +7 -7
- package/dist/packem_chunks/handler50.js +48 -27
- package/dist/packem_chunks/handler51.js +21 -189
- package/dist/packem_chunks/handler52.js +3 -34
- package/dist/packem_chunks/handler53.js +200 -0
- package/dist/packem_chunks/handler54.js +38 -0
- package/dist/packem_chunks/handler6.js +1 -1
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler8.js +1 -1
- package/dist/packem_chunks/handler9.js +1 -1
- package/dist/packem_chunks/heal-accept.js +7 -7
- package/dist/packem_chunks/heal.js +11 -11
- package/dist/packem_chunks/help-command.js +30 -7
- package/dist/packem_chunks/index.js +6 -6
- package/dist/packem_chunks/keys-refresh.js +4 -4
- package/dist/packem_chunks/list.js +2 -2
- package/dist/packem_chunks/loader.js +4 -4
- package/dist/packem_chunks/loader2.js +1 -1
- package/dist/packem_chunks/prune.js +3 -3
- package/dist/packem_chunks/run.js +1 -1
- package/dist/packem_chunks/status.js +2 -2
- package/dist/packem_chunks/sync.js +2 -2
- package/dist/packem_chunks/sync2.js +2 -2
- package/dist/packem_chunks/tar.js +3 -3
- package/dist/packem_chunks/tripwire.js +2 -2
- package/dist/packem_chunks/verify-lockfile.js +2 -2
- package/dist/packem_shared/CONFIG_FILES-BfaR0jKT.js +1 -0
- package/dist/packem_shared/MultiSpinner-B9U0-aE3-B-gIXhFk.js +3 -0
- package/dist/packem_shared/Table-CcVkyULl-B_ef6zfS.js +35 -0
- package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +1 -0
- package/dist/packem_shared/advisories-DLeO5KMN.js +1 -0
- package/dist/packem_shared/affected-shas-cVnX8-zs.js +1 -0
- package/dist/packem_shared/ai-analysis-DT3bU-_M.js +68 -0
- package/dist/packem_shared/ai-fix-BkNqd5nP.js +43 -0
- package/dist/packem_shared/build-scripts-CCCi8U66.js +1 -0
- package/dist/packem_shared/cyclonedx-86-DbHtf.js +4 -0
- package/dist/packem_shared/definePlugin-DoUcoYSy.js +1 -0
- package/dist/packem_shared/dependency-scan-BDTH898x.js +1 -0
- package/dist/packem_shared/docker-tNrDU3oK.js +59 -0
- package/dist/packem_shared/failure-log-Dwqt6_Ga.js +2 -0
- package/dist/packem_shared/giget-DHY1sQZC.js +2 -0
- package/dist/packem_shared/glob-fqg4KepW-B7EjLRvw.js +1 -0
- package/dist/packem_shared/index-BDmTbWX1.js +19 -0
- package/dist/packem_shared/index-C0Vj3XF8.js +30 -0
- package/dist/packem_shared/index-CB4p298r.js +1 -0
- package/dist/packem_shared/index-DMefdF51.js +1 -0
- package/dist/packem_shared/license-t5KnNX6v.js +1 -0
- package/dist/packem_shared/lifecycle-4z9hHE5b.js +2 -0
- package/dist/packem_shared/lockfile-C8Q1_4KK.js +1 -0
- package/dist/packem_shared/manifests-Dj3pRKBT.js +1 -0
- package/dist/packem_shared/min-release-age-D1alDE3K.js +34 -0
- package/dist/packem_shared/missing-package-json-41VUWFBY.js +1 -0
- package/dist/packem_shared/native-config-sync-BKAZ0NIs.js +21 -0
- package/dist/packem_shared/osv-bloom-B03tUWf3.js +2 -0
- package/dist/packem_shared/otelPlugin-DmKDBaPo.js +1 -0
- package/dist/packem_shared/peer-warnings-BXAzXqY3.js +1 -0
- package/dist/packem_shared/pm-runner-pVihAfxV.js +1 -0
- package/dist/packem_shared/provenance-DMuEftgc.js +1 -0
- package/dist/packem_shared/registry-keys-Bf2zzlcZ.js +1 -0
- package/dist/packem_shared/resolve-explicit-jH0RKyMJ.js +5 -0
- package/dist/packem_shared/runtime-check-Stc9AI78.js +1 -0
- package/dist/packem_shared/s1ngularity-BkfgC6NO.js +1 -0
- package/dist/packem_shared/scan-progress-JBbd9QeT.js +2 -0
- package/dist/packem_shared/selectors-GCJIe342.js +3 -0
- package/dist/packem_shared/signatures-D1H6h6GH.js +2 -0
- package/dist/packem_shared/spinner-BXSl864p.js +1 -0
- package/dist/packem_shared/subtree-C7bZuiSQ.js +2 -0
- package/dist/packem_shared/symbols-DPTlrJ3B.js +1 -0
- package/dist/packem_shared/tabs-BqUepRaD.js +1 -0
- package/dist/packem_shared/toolchain-pR7AJ-tB.js +5 -0
- package/dist/packem_shared/typosquats-C8qg1neE.js +1 -0
- package/dist/packem_shared/use-measured-height-BBJ9intr.js +1 -0
- package/dist/packem_shared/utils-Cxree603.js +1 -0
- package/dist/packem_shared/verify-Du7xZ2BJ.js +1 -0
- package/dist/packem_shared/vis-update-app-CTwRkNgj.js +1 -0
- package/dist/packem_shared/watch-BvIwLG4N.js +1 -0
- package/dist/packem_shared/watch-loop-DWkvv2tK.js +11 -0
- package/index.d.ts +201 -201
- package/index.js +751 -567
- package/package.json +16 -16
- package/schemas/vis-config.schema.json +4 -0
- package/dist/packem_shared/Table-3pFgIUZ2-DABgc6rj.js +0 -12
- package/dist/packem_shared/_commonjsHelpers-CLblCigl.js +0 -1
- package/dist/packem_shared/advisories-CGKZo9Rx.js +0 -1
- package/dist/packem_shared/affected-shas-BdnlfiV1.js +0 -1
- package/dist/packem_shared/ai-analysis-3QD_RS6F.js +0 -68
- package/dist/packem_shared/ai-fix-TsjDQz_0.js +0 -43
- package/dist/packem_shared/applyDefaults-BogleaFi.js +0 -1
- package/dist/packem_shared/build-scripts-DE6U8jVq.js +0 -1
- package/dist/packem_shared/cyclonedx-zf9R2jCs.js +0 -4
- package/dist/packem_shared/definePlugin-CWm4Dv_t.js +0 -1
- package/dist/packem_shared/dependency-scan-B70azq4x.js +0 -1
- package/dist/packem_shared/docker-EJiTY0Sz.js +0 -60
- package/dist/packem_shared/failure-log-Dxafk3t4.js +0 -2
- package/dist/packem_shared/giget-CcEy_Elm.js +0 -2
- package/dist/packem_shared/glob-D_7bct6p-D8itOHsr.js +0 -1
- package/dist/packem_shared/index-BpbjpCNL.js +0 -1
- package/dist/packem_shared/index-DH-5hsrC.js +0 -1
- package/dist/packem_shared/index-di3jpyZS.js +0 -30
- package/dist/packem_shared/license-zZU7aavK.js +0 -1
- package/dist/packem_shared/lifecycle-DvVTL8nx.js +0 -2
- package/dist/packem_shared/lockfile-CedmXr44.js +0 -1
- package/dist/packem_shared/lockfile-Cu2BH6bl.js +0 -1
- package/dist/packem_shared/manifests-BzWpKW8F.js +0 -1
- package/dist/packem_shared/min-release-age-DKMW2N_v.js +0 -34
- package/dist/packem_shared/missing-package-json-DKAwoiWK.js +0 -1
- package/dist/packem_shared/native-config-sync-DBkJ-hsF.js +0 -21
- package/dist/packem_shared/osv-bloom-0Vu8YRhg.js +0 -2
- package/dist/packem_shared/otelPlugin-CJR2T_lk.js +0 -1
- package/dist/packem_shared/peer-warnings-EvSJ18gE.js +0 -1
- package/dist/packem_shared/pm-runner-DmKT2FqF.js +0 -1
- package/dist/packem_shared/provenance-Cu6VR1Hy.js +0 -1
- package/dist/packem_shared/readFileSync-DseCu8sg-DEq4Fn3a.js +0 -1
- package/dist/packem_shared/registry-keys-CuBAVdsk.js +0 -1
- package/dist/packem_shared/resolve-explicit-Xue0oq8V.js +0 -5
- package/dist/packem_shared/runtime-check-CilFOqUU.js +0 -1
- package/dist/packem_shared/s1ngularity-adnHbyTd.js +0 -1
- package/dist/packem_shared/scan-progress-lZdk5KJ-.js +0 -2
- package/dist/packem_shared/selectors-DkgYFzdq.js +0 -3
- package/dist/packem_shared/signatures-FGbYV5QE.js +0 -2
- package/dist/packem_shared/spinner-0acw5pd_.js +0 -1
- package/dist/packem_shared/spinners-f91Rbo99-Bjf3NcO0.js +0 -1
- package/dist/packem_shared/symbols-CQmER5MT.js +0 -1
- package/dist/packem_shared/tabs-zUSdR1HI.js +0 -1
- package/dist/packem_shared/toolchain-DoG6b_G_.js +0 -5
- package/dist/packem_shared/typosquats-acxQ7blw.js +0 -1
- package/dist/packem_shared/use-measured-height-DyCBfLtu.js +0 -1
- package/dist/packem_shared/utils-DrNg0XTR.js +0 -1
- package/dist/packem_shared/verify-BYzxSKWD.js +0 -1
- package/dist/packem_shared/vis-update-app-D0QyGneK.js +0 -1
- package/dist/packem_shared/watch-DEL0yol9.js +0 -1
- package/dist/packem_shared/watch-loop-jmQQl2Qe.js +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as f}from"node:module";import{m as c}from"./index-BDmTbWX1.js";const p=f(import.meta.url),a=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,k=n=>{if(typeof a<"u"&&a.versions&&a.versions.node){const[t,e]=a.versions.node.split(".").map(Number);if(t>22||t===22&&e>=3||t===20&&e>=16)return a.getBuiltinModule(n)}return p(n)},{statSync:m,existsSync:d}=k("node:fs"),g={aube:["aube-lock.yaml"],bun:["bun.lock","bun.lockb"],npm:["npm-shrinkwrap.json","package-lock.json"],pnpm:["pnpm-lock.yaml"],yarn:["yarn.lock"]},b={aube:["node_modules/.aube-state","node_modules/.modules.yaml"],bun:["node_modules/.bun-tag"],npm:["node_modules/.package-lock.json"],pnpm:["node_modules/.modules.yaml","node_modules/.pnpm/lock.yaml"],yarn:["node_modules/.yarn-integrity","node_modules/.yarn-state.yml",".yarn/install-state.gz"]},y={ci:{aube:"aube ci",bun:"bun install --frozen-lockfile",npm:"npm ci",pnpm:"pnpm install --frozen-lockfile",yarn:"yarn install --immutable"},tty:{aube:"aube install",bun:"bun install",npm:"npm install",pnpm:"pnpm install",yarn:"yarn install"}},h=1e3,_=n=>{for(const[t,e]of Object.entries(g))for(const s of e)if(d(c(n,s)))return{lockfileFile:s,manager:t}},M=(n,t)=>{let e;for(const s of b[t]){const o=c(n,s);if(!d(o))continue;const{mtimeMs:i}=m(o);(!e||i>e.mtimeMs)&&(e={mtimeMs:i,path:s})}return e},j=(n,t={})=>{const e=_(n);if(!e)return{checked:!1};const{lockfileFile:s,manager:o}=e,i=m(c(n,s)).mtimeMs,l=M(n,o),u=y[t.inCi?"ci":"tty"][o],r={installMarkerMtimeMs:l?.mtimeMs,lockfileMtimeMs:i,lockfilePath:s,marker:l?.path,packageManager:o};return l?i>l.mtimeMs+h?{checked:!0,detail:r,failure:"stale-install",message:`${s} is newer than node_modules (${l.path}) — run \`${u}\` to sync.`}:{checked:!0,detail:r}:{checked:!0,detail:r,failure:"missing-install",message:`lockfile detected but node_modules looks uninitialised — run \`${u}\` before \`vis run\`.`}},v=(n,t,e,s={})=>{if(s.skip)return{checked:!1,shouldContinue:!0};const o=j(n,{inCi:t});if(!o.failure)return{...o,shouldContinue:!0};const i=`preflight: ${o.message??"lockfile drift detected"}`;return t&&!s.ciAsWarning?{...o,formattedMessage:i,shouldContinue:!1}:(e.warn(i),{...o,formattedMessage:i,shouldContinue:!0})};export{_ as d,v as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as j}from"node:module";import{m as d,f as y}from"./index-BDmTbWX1.js";import{a as A}from"../packem_chunks/config.js";const M=j(import.meta.url),l=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=i=>{if(typeof l<"u"&&l.versions&&l.versions.node){const[e,t]=l.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return l.getBuiltinModule(i)}return M(i)},{readdirSync:_,lstatSync:S}=b("node:fs"),$=/^([^<(]+?)?(?:<([^>]+)>)?\s*(?:\(([^)]+)\))?\s*$/u,q=i=>{const e=i.match($);if(!e)return;const t=e[1]?.trim(),n=e[2]?.trim(),o=e[3]?.trim();if(!(!t&&!n&&!o))return{email:n||void 0,name:t||void 0,url:o||void 0}},w=i=>{if(!Array.isArray(i)||i.length===0)return;const e=[];for(const t of i)if(typeof t=="string"){const n=q(t);n&&e.push(n)}else if(t&&typeof t=="object"){const n=t,o=typeof n.name=="string"?n.name:void 0,r=typeof n.email=="string"?n.email:void 0,f=typeof n.url=="string"?n.url:void 0;(o||r||f)&&e.push({email:r,name:o,url:f})}return e.length>0?e:void 0},D=i=>{const e=d(i,"node_modules");if(!y(e))return new Map;const t=new Map,n=new Set,o=(r,f="")=>{if(n.has(r))return;n.add(r);let v;try{v=_(r)}catch{return}for(const a of v){const c=d(r,a);let m;try{m=S(c)}catch{continue}if(m.isSymbolicLink())continue;if(a.startsWith("@")){m.isDirectory()&&o(c,`${a}/`);continue}if(a===".pnpm"&&f===""){let s;try{s=_(c)}catch{continue}for(const p of s){const u=d(c,p,"node_modules");y(u)&&o(u)}continue}if(a.startsWith(".")||!m.isDirectory())continue;const g=f+a,h=d(c,"package.json");try{if(!y(h))continue;const s=A(h);if(typeof s.version!="string")continue;const p=`${g}@${s.version}`;t.has(p)||t.set(p,{directory:c,license:s.license,licenses:Array.isArray(s.licenses)?s.licenses:void 0,maintainers:w(s.maintainers),name:g,scripts:s.scripts&&typeof s.scripts=="object"?s.scripts:void 0,version:s.version});const u=d(c,"node_modules");y(u)&&o(u)}catch{}}};return o(e),t};export{w as n,D as r};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{m as d,f as u,v as o,T as $}from"./index-BDmTbWX1.js";import{x}from"../packem_chunks/bin.js";const E=(k,g,h,m=[])=>{const t=[];if(h===void 0)return t.push("minimumReleaseAge not set in vis.config; skipping native sync."),t;const l=Number.isFinite(h)?Math.max(0,Math.round(h)):0;switch(k){case"bun":{const n=d(g,"bunfig.toml");let e=u(n)?o(n):"";const a=l*60,i=`minimumReleaseAge = ${String(a)}`,s=m.length>0?`minimumReleaseAgeExcludes = [${m.map(p=>`"${p.replaceAll(String.raw`"`,String.raw`\"`)}"`).join(", ")}]`:void 0,c=/^\[install\][ \t]*\n/m.exec(e);if(c?.index===void 0){const p=s?`${i}
|
|
2
|
+
${s}`:i;e=`${e.trimEnd()?`${e.trimEnd()}
|
|
3
|
+
|
|
4
|
+
`:""}[install]
|
|
5
|
+
${p}
|
|
6
|
+
`}else{const p=c.index+c[0].length,f=e.slice(p),A=/^\[/m.exec(f),y=A?.index===void 0?e.length:p+A.index;let r=e.slice(p,y);r=/^[ \t]*minimumReleaseAge[ \t]*=/m.test(r)?r.replace(/^[ \t]*minimumReleaseAge[ \t]*=.*$/m,i):`${i}
|
|
7
|
+
${r}`,s&&(r=/^[ \t]*minimumReleaseAgeExcludes[ \t]*=/m.test(r)?r.replace(/^[ \t]*minimumReleaseAgeExcludes[ \t]*=.*$/m,s):`${s}
|
|
8
|
+
${r}`),e=`${e.slice(0,p)}${r}${e.slice(y)}`}$(n,e.endsWith(`
|
|
9
|
+
`)?e:`${e}
|
|
10
|
+
`),t.push(`Updated bunfig.toml [install] minimumReleaseAge = ${String(a)} (${String(l)} minutes)`),s&&t.push(`Updated bunfig.toml [install] minimumReleaseAgeExcludes (${String(m.length)} entries)`);break}case"npm":{const n=d(g,".npmrc");let e=u(n)?o(n):"";const a=l===0?0:Math.max(1,Math.ceil(l/1440)),i=`min-release-age=${String(a)}`;e=/^\s*min-release-age\s*=/m.test(e)?e.replace(/^\s*min-release-age\s*=.*$/m,i):`${e.trimEnd()}
|
|
11
|
+
${i}
|
|
12
|
+
`,$(n,e.endsWith(`
|
|
13
|
+
`)?e:`${e}
|
|
14
|
+
`),t.push(`Updated .npmrc min-release-age=${String(a)} (rounded up from ${String(l)} minutes; npm's unit is days)`),m.length>0&&t.push("npm has no native per-package exclude list; skipped excludes sync.");break}case"pnpm":{const n=d(g,"pnpm-workspace.yaml");if(!u(n)){t.push("pnpm-workspace.yaml not found. Cannot sync minimumReleaseAge.");break}let e=o(n);e.endsWith(`
|
|
15
|
+
`)||(e+=`
|
|
16
|
+
`);const a=`minimumReleaseAge: ${String(l)}
|
|
17
|
+
`;if(e=/^minimumReleaseAge[ \t]*:.*$/m.test(e)?e.replace(/^minimumReleaseAge[ \t]*:.*$/m,a.trimEnd()):`${e.trimEnd()}
|
|
18
|
+
|
|
19
|
+
${a}`,m.length>0){const i=`minimumReleaseAgeExclude:
|
|
20
|
+
${m.map(c=>` - ${x(c)}`).join(`
|
|
21
|
+
`)}
|
|
22
|
+
`,s=/^minimumReleaseAgeExclude:[ \t]*\n(?:[ \t]{2}[^\n]*\n)*/m;e=s.test(e)?e.replace(s,i):`${e.trimEnd()}
|
|
23
|
+
|
|
24
|
+
${i}`}$(n,e),t.push(`Updated pnpm-workspace.yaml minimumReleaseAge: ${String(l)} minutes`),m.length>0&&t.push(`Updated pnpm-workspace.yaml minimumReleaseAgeExclude (${String(m.length)} entries)`);break}case"yarn":{const n=d(g,".yarnrc.yml");if(!u(n)){t.push("yarn classic lacks npmMinimalAgeGate; .yarnrc.yml not found, skipping.");break}let e=o(n);const a=`npmMinimalAgeGate: ${String(l)}`;if(e.endsWith(`
|
|
25
|
+
`)||(e+=`
|
|
26
|
+
`),e=/^npmMinimalAgeGate[ \t]*:.*$/m.test(e)?e.replace(/^npmMinimalAgeGate[ \t]*:.*$/m,a):`${e.trimEnd()}
|
|
27
|
+
|
|
28
|
+
${a}
|
|
29
|
+
`,m.length>0){const i=`npmPreapprovedPackages:
|
|
30
|
+
${m.map(c=>` - ${x(c)}`).join(`
|
|
31
|
+
`)}
|
|
32
|
+
`,s=/^npmPreapprovedPackages:[ \t]*\n(?:[ \t]{2}[^\n]*\n)*/m;e=s.test(e)?e.replace(s,i):`${e.trimEnd()}
|
|
33
|
+
|
|
34
|
+
${i}`}$(n,e),t.push(`Updated .yarnrc.yml npmMinimalAgeGate: ${String(l)} (minutes; bare integer dodges yarn duration-string bug)`),m.length>0&&t.push(`Updated .yarnrc.yml npmPreapprovedPackages (${String(m.length)} entries)`);break}}return t};export{E as S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,m as h,B as o,I as f}from"./index-BDmTbWX1.js";import{l as d,m as $}from"../packem_chunks/bin.js";const g=/\/+$/,p=/node_modules/,u=/\.git/,k=/[$()+.?[\\\]^{|}]/g,S=/\/\*\*$|\/\*\/\*$/,W=(i,c)=>{const e=c.replace(g,"");if(e.startsWith("!"))return[];const n=[];if(e.endsWith("/*")){const s=e.slice(0,-2),t=o(i,s);if(!a(t))return[];for(const r of f(t,{includeFiles:!1,includeSymlinks:!1,maxDepth:1,skip:[p,u]}))r.path===t||r.name.startsWith(".")||n.push(h(s,r.name));return n}if(e.endsWith("/**")||e.endsWith("/*/*")){const s=e.replace(S,""),t=o(i,s);if(!a(t))return[];for(const r of f(t,{includeFiles:!1,includeSymlinks:!1,skip:[p,u]})){if(r.path===t)continue;const m=r.path.slice(t.length+1);n.push(`${s}/${m}`)}return n}if(!e.includes("/")&&e.includes("*")){const s=e.replaceAll(k,String.raw`\$&`).replaceAll("*",".*"),t=new RegExp(`^${s}$`);for(const r of f(i,{includeFiles:!1,includeSymlinks:!1,maxDepth:1,skip:[p,u]}))r.path!==i&&t.test(r.name)&&n.push(r.name);return n}const l=o(i,e);return a(l)&&n.push(e),n},y=i=>{const c=d(i)??$(i)??[],e=new Set,n=[];for(const l of c)for(const s of W(i,l))s==="."||e.has(s)||(e.add(s),a(h(i,s,"package.json"))||n.push({packageDir:s}));return n};export{y as l};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{m as c,v as f,T as i,f as y}from"./index-BDmTbWX1.js";import{r as O,u as C}from"../packem_chunks/bin.js";import{a as D}from"../packem_chunks/config.js";const N=(E,p,o)=>{const s=[],$=Object.entries(o).filter(([,n])=>n).map(([n])=>n);switch(E){case"bun":{const n=c(p,"package.json");if(y(n))try{const e=D(n);e.trustedDependencies=$,i(n,`${JSON.stringify(e,null,2)}
|
|
2
|
+
`),s.push(`Updated package.json trustedDependencies with ${$.length} packages`)}catch(e){s.push(`Failed to update package.json: ${e instanceof Error?e.message:String(e)}`)}break}case"npm":{const n=c(p,".npmrc");let e=y(n)?f(n):"";/^\s*ignore-scripts\s*=\s*true\s*$/m.test(e)?s.push(".npmrc already has ignore-scripts=true"):(e=`${e.trimEnd()}
|
|
3
|
+
ignore-scripts=true
|
|
4
|
+
`,i(n,e),s.push("Added ignore-scripts=true to .npmrc"));break}case"pnpm":{const n=c(p,"pnpm-workspace.yaml");if(!y(n)){s.push("pnpm-workspace.yaml not found. Cannot sync allowBuilds.");break}let e={},m=[];try{const t=C(n);e=t?.allowBuilds??{},m=Array.isArray(t?.onlyBuiltDependencies)?t.onlyBuiltDependencies:[]}catch{}const g={...e,...o},j=Object.keys(o).filter(t=>e[t]!==o[t]).length,d=$.toSorted((t,a)=>t.localeCompare(a)),k=[...new Set([...m,...d])].toSorted((t,a)=>t.localeCompare(a)),b=d.filter(t=>!m.includes(t)).length;if(j===0&&b===0)s.push(`All ${String(Object.keys(o).length)} allowBuilds entries already present in pnpm-workspace.yaml.`);else{const t=Object.keys(g).sort(),a=l=>l.startsWith("@")||l.includes("/")||/[:#\s]/.test(l),h=l=>a(l)?`'${l.replaceAll("'","''")}'`:l,u=`allowBuilds:
|
|
5
|
+
${t.map(l=>` ${h(l)}: ${String(g[l])}`).join(`
|
|
6
|
+
`)}
|
|
7
|
+
`;let r=f(n);r.endsWith(`
|
|
8
|
+
`)||(r+=`
|
|
9
|
+
`);const S=/^allowBuilds:[ \t]*\n(?:[ \t]{2}[^\n]*\n)*/m;if(r=S.test(r)?r.replace(S,u):`${r.trimEnd()}
|
|
10
|
+
|
|
11
|
+
${u}`,k.length>0){const l=`onlyBuiltDependencies:
|
|
12
|
+
${k.map(B=>` - ${a(B)?`'${B.replaceAll("'","''")}'`:B}`).join(`
|
|
13
|
+
`)}
|
|
14
|
+
`,A=/^onlyBuiltDependencies:[ \t]*\n(?:[ \t]{2}[^\n]*\n)*/m;r=A.test(r)?r.replace(A,l):`${r.trimEnd()}
|
|
15
|
+
|
|
16
|
+
${l}`}i(n,r),s.push(`Updated pnpm-workspace.yaml allowBuilds (${String(j)} new, ${String(t.length)} total)`),b>0&&s.push(`Updated pnpm-workspace.yaml onlyBuiltDependencies (${String(b)} new, ${String(k.length)} total)`)}const w=c(p,"package.json");if(y(w)&&d.length>0)try{const t=D(w),a=Array.isArray(t.pnpm?.onlyBuiltDependencies)?t.pnpm.onlyBuiltDependencies:[],h=[...new Set([...a,...d])].toSorted((r,S)=>r.localeCompare(S)),u=d.filter(r=>!a.includes(r)).length;u>0&&(t.pnpm={...t.pnpm,onlyBuiltDependencies:h},i(w,`${JSON.stringify(t,null,2)}
|
|
17
|
+
`),s.push(`Updated package.json pnpm.onlyBuiltDependencies (${String(u)} new, ${String(h.length)} total)`))}catch(t){s.push(`Failed to update package.json pnpm.onlyBuiltDependencies: ${t instanceof Error?t.message:String(t)}`)}break}case"yarn":{if(O(p)){const n=c(p,".yarnrc.yml");let e=f(n);const m=/^\s*enableScripts\s*:/m.test(e),g=/^\s*enableScripts\s*:\s*false\s*$/m.test(e);m?g?s.push(".yarnrc.yml already has enableScripts: false"):(e=e.replace(/^\s*enableScripts\s*:.+$/m,"enableScripts: false"),i(n,e),s.push("Changed enableScripts to false in .yarnrc.yml")):(e=`${e.trimEnd()}
|
|
18
|
+
enableScripts: false
|
|
19
|
+
`,i(n,e),s.push("Added enableScripts: false to .yarnrc.yml"))}else{const n=c(p,".npmrc");let e=y(n)?f(n):"";/^\s*ignore-scripts\s*=\s*true\s*$/m.test(e)?s.push(".npmrc already has ignore-scripts=true"):(e=`${e.trimEnd()}
|
|
20
|
+
ignore-scripts=true
|
|
21
|
+
`,i(n,e),s.push("Added ignore-scripts=true to .npmrc (yarn classic lacks enableScripts)"))}break}}return s};export{N as O};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as j}from"node:module";import{E as W}from"../packem_chunks/config.js";import{osvBloomDecode as q,osvBloomProbeBatch as J,NATIVE_BINDING_VERSION as D}from"#native";const C=j(import.meta.url),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[o,t]=h.versions.node.split(".").map(Number);if(o>22||o===22&&t>=3||o===20&&t>=16)return h.getBuiltinModule(e)}return C(e)},{createHash:U,randomUUID:V}=p("node:crypto"),{existsSync:g}=p("node:fs"),{readFile:O,mkdir:M,stat:B,writeFile:F,rename:H,unlink:G}=p("node:fs/promises"),{join:d,dirname:P}=p("node:path"),I=5;if(D!==I)throw new Error(`vis native binding ABI mismatch in osv-bloom: expected ${I}, got ${D}. Rebuild via \`pnpm --filter @visulima/vis run build:native\` or reinstall the platform binding package.`);const st="https://endevco.github.io/osv-bloom",z=new Set(["endevco.github.io"]);class w extends Error{cause="OSV_BLOOM_SOURCE_NOT_ALLOWED";constructor(o){super(`osv-bloom source host '${o}' is not in the built-in allowlist. Add it to \`security.audit.advisories.bloom.allowedHosts\` if intentional.`),this.name="OsvBloomSourceNotAllowedError"}}class _ extends Error{cause="OSV_BLOOM_NETWORK";constructor(o,t){super(`osv-bloom fetch failed for ${o}: ${t}. Check connectivity, proxy env vars, or --source.`),this.name="OsvBloomNetworkError"}}class K extends Error{cause="OSV_BLOOM_INTEGRITY";constructor(o,t){super(`osv-bloom filter.bin sha256 mismatch (expected ${o}, got ${t}). Refusing to install a corrupted filter.`),this.name="OsvBloomIntegrityError"}}class m extends Error{cause="OSV_BLOOM_MANIFEST";constructor(o){super(`osv-bloom manifest invalid: ${o}`),this.name="OsvBloomManifestError"}}class Y extends Error{cause="OSV_BLOOM_CACHE_MISS";constructor(o){super(`No osv-bloom cache at ${o}. Run 'vis advisories bloom sync' first.`),this.name="OsvBloomCacheMissError"}}const y=e=>{const o=W("vis",{create:!0,cwd:e})??d(e,"node_modules",".cache","vis");return d(o,"osv-bloom")},l=e=>d(e,"filter.bin"),x=e=>d(e,"manifest.json"),R=e=>d(e,"state.json"),Q=(e,o)=>{let t;try{t=new URL(e)}catch{throw new w(e)}if(!t.host)throw new w(e);if(t.protocol!=="https:")throw new w(`${t.protocol}//${t.host}`);if(!new Set([...z,...o??[]]).has(t.host))throw new w(t.host);return t},rt=async e=>{const o=Date.now(),t=e.cacheDir??y(e.workspaceRoot);await M(t,{recursive:!0});const s=Q(e.source,e.allowedHosts),i=new URL("manifest.json",N(s.toString())),r=new URL("filter.bin",N(s.toString())),n=await A(i,{method:"GET"});if(!n.ok)throw new _(i.toString(),n.status);const v=await n.text(),a=L(v),u=await T(t);if(!e.force&&u?.setDigestSha256===a.setDigestSha256&&g(l(t)))return{bytesOnDisk:(await B(l(t))).size,cacheDir:t,durationMs:Date.now()-o,manifest:a,upToDate:!0};const S={};!e.force&&u?.filterEtag&&(S.headers={"if-none-match":u.filterEtag});const f=await A(r,{...S,method:"GET"});if(f.status===304&&u&&g(l(t)))return await $(t,v,{fetchedAtIso:new Date().toISOString(),filterEtag:u.filterEtag,setDigestSha256:a.setDigestSha256}),{bytesOnDisk:(await B(l(t))).size,cacheDir:t,durationMs:Date.now()-o,manifest:a,upToDate:!0};if(!f.ok||!f.body)throw new _(r.toString(),f.status);const c=Buffer.from(await f.arrayBuffer());e.onProgress&&e.onProgress(c.length,c.length);const E=X(c);if(E!==a.filterSha256)throw new K(a.filterSha256,E);if(c.length!==a.bloomByteLen)throw new m(`filter.bin length ${c.length} does not match manifest.bloom_byte_len ${a.bloomByteLen}`);const k=f.headers.get("etag")??void 0;return await b(l(t),c),await $(t,v,{fetchedAtIso:new Date().toISOString(),filterEtag:k,setDigestSha256:a.setDigestSha256}),{bytesOnDisk:c.length,cacheDir:t,durationMs:Date.now()-o,manifest:a,upToDate:!1}},it=async(e,o)=>{const t=o?.cacheDir??y(e),s=l(t);if(!g(s)){if(o?.softFail)return null;throw new Y(t)}const i=await O(s);return q(i)},nt=(e,o)=>J(e,o),at=async(e,o)=>{const t=o??y(e);if(!g(l(t)))return{cacheDir:t,present:!1};let s,i;try{s=L(await O(x(t),"utf8"))}catch{}try{i=await T(t)}catch{}return{cacheDir:t,fetchedAtIso:i?.fetchedAtIso,manifest:s,present:!0}},L=e=>{let o;try{o=JSON.parse(e)}catch(r){throw new m(r instanceof Error?r.message:String(r))}const t=r=>{const n=o[r];if(typeof n!="number"||Number.isNaN(n))throw new m(`field '${r}' missing or non-numeric`);return n},s=r=>{const n=o[r];if(typeof n!="string"||n.length===0)throw new m(`field '${r}' missing or empty`);return n},i=t("format_version");if(i!==1)throw new m(`unsupported format_version ${i} (this build expects v1)`);return{advisoryCount:t("advisory_count"),bloomByteLen:t("bloom_byte_len"),bloomKHashes:t("bloom_k_hashes"),bloomMBits:t("bloom_m_bits"),builtAtRfc3339:s("built_at_rfc3339"),builtAtUnix:t("built_at_unix"),entryCount:t("entry_count"),filterSha256:s("filter_sha256"),formatVersion:i,setDigestSha256:s("set_digest_sha256"),sourceUrl:s("source_url"),targetFpr:t("target_fpr")}},T=async e=>{try{const o=await O(R(e),"utf8"),t=JSON.parse(o);return typeof t.setDigestSha256!="string"||typeof t.fetchedAtIso!="string"?void 0:{fetchedAtIso:t.fetchedAtIso,filterEtag:typeof t.filterEtag=="string"?t.filterEtag:void 0,setDigestSha256:t.setDigestSha256}}catch{return}},$=async(e,o,t)=>{await b(x(e),Buffer.from(o,"utf8")),await b(R(e),Buffer.from(`${JSON.stringify(t,void 0,2)}
|
|
2
|
+
`,"utf8"))},b=async(e,o)=>{await M(P(e),{recursive:!0});const t=`${e}.${process.pid}.${V()}.tmp`;try{await F(t,o),await H(t,e)}catch(s){throw await G(t).catch(()=>{}),s}},X=e=>U("sha256").update(e).digest("hex"),N=e=>e.endsWith("/")?e:`${e}/`,Z=3e4,A=async(e,o)=>{try{return await fetch(e,{...o,signal:AbortSignal.timeout(Z)})}catch(t){throw new _(e.toString(),t instanceof Error?t.message:String(t))}};export{st as D,Y as O,at as g,it as l,nt as p,rt as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as Te}from"./_commonjsHelpers-B5Y90VFO.js";import{definePlugin as Tt}from"./definePlugin-DoUcoYSy.js";var ne={},S={},I={},m={},T={},L={},Se;function dt(){return Se||(Se=1,Object.defineProperty(L,"__esModule",{value:!0}),L.VERSION=void 0,L.VERSION="1.9.1"),L}var M={},Me;function St(){if(Me)return M;Me=1,Object.defineProperty(M,"__esModule",{value:!0}),M.isCompatible=M._makeCompatibilityCheck=void 0;const e=dt(),t=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function u(r){const n=new Set([r]),i=new Set,c=r.match(t);if(!c)return()=>!1;const a={major:+c[1],minor:+c[2],patch:+c[3],prerelease:c[4]};if(a.prerelease!=null)return function(s){return s===r};function o(s){return i.add(s),!1}function g(s){return n.add(s),!0}return function(s){if(n.has(s))return!0;if(i.has(s))return!1;const l=s.match(t);if(!l)return o(s);const d={major:+l[1],minor:+l[2],patch:+l[3],prerelease:l[4]};return d.prerelease!=null||a.major!==d.major?o(s):a.major===0?a.minor===d.minor&&a.patch<=d.patch?g(s):o(s):a.minor<=d.minor?g(s):o(s)}}return M._makeCompatibilityCheck=u,M.isCompatible=u(e.VERSION),M}var Re;function h(){if(Re)return T;Re=1,Object.defineProperty(T,"__esModule",{value:!0}),T.unregisterGlobal=T.getGlobal=T.registerGlobal=void 0;const e=dt(),t=St(),u=e.VERSION.split(".")[0],r=Symbol.for(`opentelemetry.js.api.${u}`),n=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof Te=="object"?Te:{};function i(o,g,s,l=!1){var d;const _=n[r]=(d=n[r])!==null&&d!==void 0?d:{version:e.VERSION};if(!l&&_[o]){const p=new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${o}`);return s.error(p.stack||p.message),!1}if(_.version!==e.VERSION){const p=new Error(`@opentelemetry/api: Registration of version v${_.version} for ${o} does not match previously registered API v${e.VERSION}`);return s.error(p.stack||p.message),!1}return _[o]=g,s.debug(`@opentelemetry/api: Registered a global for ${o} v${e.VERSION}.`),!0}T.registerGlobal=i;function c(o){var g,s;const l=(g=n[r])===null||g===void 0?void 0:g.version;if(!(!l||!(0,t.isCompatible)(l)))return(s=n[r])===null||s===void 0?void 0:s[o]}T.getGlobal=c;function a(o,g){g.debug(`@opentelemetry/api: Unregistering a global for ${o} v${e.VERSION}.`);const s=n[r];s&&delete s[o]}return T.unregisterGlobal=a,T}var Ee;function Mt(){if(Ee)return m;Ee=1,Object.defineProperty(m,"__esModule",{value:!0}),m.DiagComponentLogger=void 0;const e=h();class t{constructor(n){this._namespace=n.namespace||"DiagComponentLogger"}debug(...n){return u("debug",this._namespace,n)}error(...n){return u("error",this._namespace,n)}info(...n){return u("info",this._namespace,n)}warn(...n){return u("warn",this._namespace,n)}verbose(...n){return u("verbose",this._namespace,n)}}m.DiagComponentLogger=t;function u(r,n,i){const c=(0,e.getGlobal)("diag");if(c)return c[r](n,...i)}return m}var D={},ae={},Ce;function _e(){return Ce||(Ce=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagLogLevel=void 0,(function(t){t[t.NONE=0]="NONE",t[t.ERROR=30]="ERROR",t[t.WARN=50]="WARN",t[t.INFO=60]="INFO",t[t.DEBUG=70]="DEBUG",t[t.VERBOSE=80]="VERBOSE",t[t.ALL=9999]="ALL"})(e.DiagLogLevel||(e.DiagLogLevel={}))})(ae)),ae}var ye;function Rt(){if(ye)return D;ye=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createLogLevelDiagLogger=void 0;const e=_e();function t(u,r){u<e.DiagLogLevel.NONE?u=e.DiagLogLevel.NONE:u>e.DiagLogLevel.ALL&&(u=e.DiagLogLevel.ALL),r=r||{};function n(i,c){const a=r[i];return typeof a=="function"&&u>=c?a.bind(r):function(){}}return{error:n("error",e.DiagLogLevel.ERROR),warn:n("warn",e.DiagLogLevel.WARN),info:n("info",e.DiagLogLevel.INFO),debug:n("debug",e.DiagLogLevel.DEBUG),verbose:n("verbose",e.DiagLogLevel.VERBOSE)}}return D.createLogLevelDiagLogger=t,D}var he;function A(){if(he)return I;he=1,Object.defineProperty(I,"__esModule",{value:!0}),I.DiagAPI=void 0;const e=Mt(),t=Rt(),u=_e(),r=h(),n="diag";class i{static instance(){return this._instance||(this._instance=new i),this._instance}constructor(){function a(s){return function(...l){const d=(0,r.getGlobal)("diag");if(d)return d[s](...l)}}const o=this,g=(s,l={logLevel:u.DiagLogLevel.INFO})=>{var d,_,p;if(s===o){const P=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return o.error((d=P.stack)!==null&&d!==void 0?d:P.message),!1}typeof l=="number"&&(l={logLevel:l});const b=(0,r.getGlobal)("diag"),N=(0,t.createLogLevelDiagLogger)((_=l.logLevel)!==null&&_!==void 0?_:u.DiagLogLevel.INFO,s);if(b&&!l.suppressOverrideMessage){const P=(p=new Error().stack)!==null&&p!==void 0?p:"<failed to generate stacktrace>";b.warn(`Current logger will be overwritten from ${P}`),N.warn(`Current logger will overwrite one already registered from ${P}`)}return(0,r.registerGlobal)("diag",N,o,!0)};o.setLogger=g,o.disable=()=>{(0,r.unregisterGlobal)(n,o)},o.createComponentLogger=s=>new e.DiagComponentLogger(s),o.verbose=a("verbose"),o.debug=a("debug"),o.info=a("info"),o.warn=a("warn"),o.error=a("error")}}return I.DiagAPI=i,I}var V={},Ae;function Et(){if(Ae)return V;Ae=1,Object.defineProperty(V,"__esModule",{value:!0}),V.BaggageImpl=void 0;class e{constructor(u){this._entries=u?new Map(u):new Map}getEntry(u){const r=this._entries.get(u);if(r)return Object.assign({},r)}getAllEntries(){return Array.from(this._entries.entries())}setEntry(u,r){const n=new e(this._entries);return n._entries.set(u,r),n}removeEntry(u){const r=new e(this._entries);return r._entries.delete(u),r}removeEntries(...u){const r=new e(this._entries);for(const n of u)r._entries.delete(n);return r}clear(){return new e}}return V.BaggageImpl=e,V}var w={},Ie;function Ct(){return Ie||(Ie=1,Object.defineProperty(w,"__esModule",{value:!0}),w.baggageEntryMetadataSymbol=void 0,w.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")),w}var me;function _t(){if(me)return S;me=1,Object.defineProperty(S,"__esModule",{value:!0}),S.baggageEntryMetadataFromString=S.createBaggage=void 0;const e=A(),t=Et(),u=Ct(),r=e.DiagAPI.instance();function n(c={}){return new t.BaggageImpl(new Map(Object.entries(c)))}S.createBaggage=n;function i(c){return typeof c!="string"&&(r.error(`Cannot create baggage metadata from unknown type: ${typeof c}`),c=""),{__TYPE__:u.baggageEntryMetadataSymbol,toString(){return c}}}return S.baggageEntryMetadataFromString=i,S}var R={},Le;function te(){if(Le)return R;Le=1,Object.defineProperty(R,"__esModule",{value:!0}),R.ROOT_CONTEXT=R.createContextKey=void 0;function e(u){return Symbol.for(u)}R.createContextKey=e;class t{constructor(r){const n=this;n._currentContext=r?new Map(r):new Map,n.getValue=i=>n._currentContext.get(i),n.setValue=(i,c)=>{const a=new t(n._currentContext);return a._currentContext.set(i,c),a},n.deleteValue=i=>{const c=new t(n._currentContext);return c._currentContext.delete(i),c}}}return R.ROOT_CONTEXT=new t,R}var oe={},De;function yt(){return De||(De=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagConsoleLogger=e._originalConsoleMethods=void 0;const t=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];if(e._originalConsoleMethods={},typeof console<"u"){const r=["error","warn","info","debug","trace","log"];for(const n of r)typeof console[n]=="function"&&(e._originalConsoleMethods[n]=console[n])}class u{constructor(){function n(i){return function(...c){let a=e._originalConsoleMethods[i];if(typeof a!="function"&&(a=e._originalConsoleMethods.log),typeof a!="function"&&console&&(a=console[i],typeof a!="function"&&(a=console.log)),typeof a=="function")return a.apply(console,c)}}for(let i=0;i<t.length;i++)this[t[i].n]=n(t[i].c)}}e.DiagConsoleLogger=u})(oe)),oe}var ie={},Ve;function pt(){return Ve||(Ve=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createNoopMeter=e.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=e.NOOP_OBSERVABLE_GAUGE_METRIC=e.NOOP_OBSERVABLE_COUNTER_METRIC=e.NOOP_UP_DOWN_COUNTER_METRIC=e.NOOP_HISTOGRAM_METRIC=e.NOOP_GAUGE_METRIC=e.NOOP_COUNTER_METRIC=e.NOOP_METER=e.NoopObservableUpDownCounterMetric=e.NoopObservableGaugeMetric=e.NoopObservableCounterMetric=e.NoopObservableMetric=e.NoopHistogramMetric=e.NoopGaugeMetric=e.NoopUpDownCounterMetric=e.NoopCounterMetric=e.NoopMetric=e.NoopMeter=void 0;class t{constructor(){}createGauge(_,p){return e.NOOP_GAUGE_METRIC}createHistogram(_,p){return e.NOOP_HISTOGRAM_METRIC}createCounter(_,p){return e.NOOP_COUNTER_METRIC}createUpDownCounter(_,p){return e.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(_,p){return e.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(_,p){return e.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(_,p){return e.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(_,p){}removeBatchObservableCallback(_){}}e.NoopMeter=t;class u{}e.NoopMetric=u;class r extends u{add(_,p){}}e.NoopCounterMetric=r;class n extends u{add(_,p){}}e.NoopUpDownCounterMetric=n;class i extends u{record(_,p){}}e.NoopGaugeMetric=i;class c extends u{record(_,p){}}e.NoopHistogramMetric=c;class a{addCallback(_){}removeCallback(_){}}e.NoopObservableMetric=a;class o extends a{}e.NoopObservableCounterMetric=o;class g extends a{}e.NoopObservableGaugeMetric=g;class s extends a{}e.NoopObservableUpDownCounterMetric=s,e.NOOP_METER=new t,e.NOOP_COUNTER_METRIC=new r,e.NOOP_GAUGE_METRIC=new i,e.NOOP_HISTOGRAM_METRIC=new c,e.NOOP_UP_DOWN_COUNTER_METRIC=new n,e.NOOP_OBSERVABLE_COUNTER_METRIC=new o,e.NOOP_OBSERVABLE_GAUGE_METRIC=new g,e.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new s;function l(){return e.NOOP_METER}e.createNoopMeter=l})(ie)),ie}var ue={},we;function ht(){return we||(we=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueType=void 0,(function(t){t[t.INT=0]="INT",t[t.DOUBLE=1]="DOUBLE"})(e.ValueType||(e.ValueType={}))})(ue)),ue}var E={},je;function vt(){return je||(je=1,Object.defineProperty(E,"__esModule",{value:!0}),E.defaultTextMapSetter=E.defaultTextMapGetter=void 0,E.defaultTextMapGetter={get(e,t){if(e!=null)return e[t]},keys(e){return e==null?[]:Object.keys(e)}},E.defaultTextMapSetter={set(e,t,u){e!=null&&(e[t]=u)}}),E}var j={},q={},G={},U={},qe;function At(){if(qe)return U;qe=1,Object.defineProperty(U,"__esModule",{value:!0}),U.NoopContextManager=void 0;const e=te();let t=class{active(){return e.ROOT_CONTEXT}with(r,n,i,...c){return n.call(i,...c)}bind(r,n){return n}enable(){return this}disable(){return this}};return U.NoopContextManager=t,U}var Ge;function re(){if(Ge)return G;Ge=1,Object.defineProperty(G,"__esModule",{value:!0}),G.ContextAPI=void 0;const e=At(),t=h(),u=A(),r="context",n=new e.NoopContextManager;class i{constructor(){}static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,t.registerGlobal)(r,a,u.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,o,g,...s){return this._getContextManager().with(a,o,g,...s)}bind(a,o){return this._getContextManager().bind(a,o)}_getContextManager(){return(0,t.getGlobal)(r)||n}disable(){this._getContextManager().disable(),(0,t.unregisterGlobal)(r,u.DiagAPI.instance())}}return G.ContextAPI=i,G}var v={},B={},ce={},se={},Ue;function ft(){return Ue||(Ue=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TraceFlags=void 0,(function(t){t[t.NONE=0]="NONE",t[t.SAMPLED=1]="SAMPLED"})(e.TraceFlags||(e.TraceFlags={}))})(se)),se}var Be;function pe(){return Be||(Be=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=void 0;const t=ft();e.INVALID_SPANID="0000000000000000",e.INVALID_TRACEID="00000000000000000000000000000000",e.INVALID_SPAN_CONTEXT={traceId:e.INVALID_TRACEID,spanId:e.INVALID_SPANID,traceFlags:t.TraceFlags.NONE}})(ce)),ce}var xe;function ve(){if(xe)return B;xe=1,Object.defineProperty(B,"__esModule",{value:!0}),B.NonRecordingSpan=void 0;const e=pe();let t=class{constructor(r=e.INVALID_SPAN_CONTEXT){this._spanContext=r}spanContext(){return this._spanContext}setAttribute(r,n){return this}setAttributes(r){return this}addEvent(r,n){return this}addLink(r){return this}addLinks(r){return this}setStatus(r){return this}updateName(r){return this}end(r){}isRecording(){return!1}recordException(r,n){}};return B.NonRecordingSpan=t,B}var ke;function Ot(){if(ke)return v;ke=1,Object.defineProperty(v,"__esModule",{value:!0}),v.getSpanContext=v.setSpanContext=v.deleteSpan=v.setSpan=v.getActiveSpan=v.getSpan=void 0;const e=te(),t=ve(),u=re(),r=(0,e.createContextKey)("OpenTelemetry Context Key SPAN");function n(s){return s.getValue(r)||void 0}v.getSpan=n;function i(){return n(u.ContextAPI.getInstance().active())}v.getActiveSpan=i;function c(s,l){return s.setValue(r,l)}v.setSpan=c;function a(s){return s.deleteValue(r)}v.deleteSpan=a;function o(s,l){return c(s,new t.NonRecordingSpan(l))}v.setSpanContext=o;function g(s){var l;return(l=n(s))===null||l===void 0?void 0:l.spanContext()}return v.getSpanContext=g,v}var f={},$e;function fe(){if($e)return f;$e=1,Object.defineProperty(f,"__esModule",{value:!0}),f.wrapSpanContext=f.isSpanContextValid=f.isValidSpanId=f.isValidTraceId=void 0;const e=pe(),t=ve(),u=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1]);function r(o,g){if(typeof o!="string"||o.length!==g)return!1;let s=0;for(let l=0;l<o.length;l+=4)s+=(u[o.charCodeAt(l)]|0)+(u[o.charCodeAt(l+1)]|0)+(u[o.charCodeAt(l+2)]|0)+(u[o.charCodeAt(l+3)]|0);return s===g}function n(o){return r(o,32)&&o!==e.INVALID_TRACEID}f.isValidTraceId=n;function i(o){return r(o,16)&&o!==e.INVALID_SPANID}f.isValidSpanId=i;function c(o){return n(o.traceId)&&i(o.spanId)}f.isSpanContextValid=c;function a(o){return new t.NonRecordingSpan(o)}return f.wrapSpanContext=a,f}var Ke;function Pt(){if(Ke)return q;Ke=1,Object.defineProperty(q,"__esModule",{value:!0}),q.NoopTracer=void 0;const e=re(),t=Ot(),u=ve(),r=fe(),n=e.ContextAPI.getInstance();let i=class{startSpan(o,g,s=n.active()){if(g?.root)return new u.NonRecordingSpan;const l=s&&(0,t.getSpanContext)(s);return c(l)&&(0,r.isSpanContextValid)(l)?new u.NonRecordingSpan(l):new u.NonRecordingSpan}startActiveSpan(o,g,s,l){let d,_,p;if(arguments.length<2)return;arguments.length===2?p=g:arguments.length===3?(d=g,p=s):(d=g,_=s,p=l);const b=_??n.active(),N=this.startSpan(o,d,b),P=(0,t.setSpan)(b,N);return n.with(P,p,void 0,N)}};q.NoopTracer=i;function c(a){return a!==null&&typeof a=="object"&&"spanId"in a&&typeof a.spanId=="string"&&"traceId"in a&&typeof a.traceId=="string"&&"traceFlags"in a&&typeof a.traceFlags=="number"}return q}var Fe;function bt(){if(Fe)return j;Fe=1,Object.defineProperty(j,"__esModule",{value:!0}),j.ProxyTracer=void 0;const e=Pt(),t=new e.NoopTracer;let u=class{constructor(n,i,c,a){this._provider=n,this.name=i,this.version=c,this.options=a}startSpan(n,i,c){return this._getTracer().startSpan(n,i,c)}startActiveSpan(n,i,c,a){const o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)}_getTracer(){if(this._delegate)return this._delegate;const n=this._provider.getDelegateTracer(this.name,this.version,this.options);return n?(this._delegate=n,this._delegate):t}};return j.ProxyTracer=u,j}var x={},k={},Xe;function It(){if(Xe)return k;Xe=1,Object.defineProperty(k,"__esModule",{value:!0}),k.NoopTracerProvider=void 0;const e=Pt();let t=class{getTracer(r,n,i){return new e.NoopTracer}};return k.NoopTracerProvider=t,k}var He;function Nt(){if(He)return x;He=1,Object.defineProperty(x,"__esModule",{value:!0}),x.ProxyTracerProvider=void 0;const e=bt(),t=It(),u=new t.NoopTracerProvider;let r=class{getTracer(i,c,a){var o;return(o=this.getDelegateTracer(i,c,a))!==null&&o!==void 0?o:new e.ProxyTracer(this,i,c,a)}getDelegate(){var i;return(i=this._delegate)!==null&&i!==void 0?i:u}setDelegate(i){this._delegate=i}getDelegateTracer(i,c,a){var o;return(o=this._delegate)===null||o===void 0?void 0:o.getTracer(i,c,a)}};return x.ProxyTracerProvider=r,x}var le={},Ye;function mt(){return Ye||(Ye=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SamplingDecision=void 0,(function(t){t[t.NOT_RECORD=0]="NOT_RECORD",t[t.RECORD=1]="RECORD",t[t.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(e.SamplingDecision||(e.SamplingDecision={}))})(le)),le}var ge={},We;function Lt(){return We||(We=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SpanKind=void 0,(function(t){t[t.INTERNAL=0]="INTERNAL",t[t.SERVER=1]="SERVER",t[t.CLIENT=2]="CLIENT",t[t.PRODUCER=3]="PRODUCER",t[t.CONSUMER=4]="CONSUMER"})(e.SpanKind||(e.SpanKind={}))})(ge)),ge}var de={},ze;function Dt(){return ze||(ze=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SpanStatusCode=void 0,(function(t){t[t.UNSET=0]="UNSET",t[t.OK=1]="OK",t[t.ERROR=2]="ERROR"})(e.SpanStatusCode||(e.SpanStatusCode={}))})(de)),de}var $={},K={},C={},Qe;function Vt(){if(Qe)return C;Qe=1,Object.defineProperty(C,"__esModule",{value:!0}),C.validateValue=C.validateKey=void 0;const e="[_0-9a-z-*/]",t=`[a-z]${e}{0,255}`,u=`[a-z0-9]${e}{0,240}@[a-z]${e}{0,13}`,r=new RegExp(`^(?:${t}|${u})$`),n=/^[ -~]{0,255}[!-~]$/,i=/,|=/;function c(o){return r.test(o)}C.validateKey=c;function a(o){return n.test(o)&&!i.test(o)}return C.validateValue=a,C}var Je;function wt(){if(Je)return K;Je=1,Object.defineProperty(K,"__esModule",{value:!0}),K.TraceStateImpl=void 0;const e=Vt(),t=32,u=512,r=",",n="=";class i{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,o){const g=this._clone();return g._internalState.has(a)&&g._internalState.delete(a),g._internalState.set(a,o),g}unset(a){const o=this._clone();return o._internalState.delete(a),o}get(a){return this._internalState.get(a)}serialize(){return Array.from(this._internalState.keys()).reduceRight((a,o)=>(a.push(o+n+this.get(o)),a),[]).join(r)}_parse(a){a.length>u||(this._internalState=a.split(r).reduceRight((o,g)=>{const s=g.trim(),l=s.indexOf(n);if(l!==-1){const d=s.slice(0,l),_=s.slice(l+1,g.length);(0,e.validateKey)(d)&&(0,e.validateValue)(_)&&o.set(d,_)}return o},new Map),this._internalState.size>t&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,t))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){const a=new i;return a._internalState=new Map(this._internalState),a}}return K.TraceStateImpl=i,K}var Ze;function jt(){if(Ze)return $;Ze=1,Object.defineProperty($,"__esModule",{value:!0}),$.createTraceState=void 0;const e=wt();function t(u){return new e.TraceStateImpl(u)}return $.createTraceState=t,$}var F={},et;function qt(){if(et)return F;et=1,Object.defineProperty(F,"__esModule",{value:!0}),F.context=void 0;const e=re();return F.context=e.ContextAPI.getInstance(),F}var X={},tt;function Gt(){if(tt)return X;tt=1,Object.defineProperty(X,"__esModule",{value:!0}),X.diag=void 0;const e=A();return X.diag=e.DiagAPI.instance(),X}var H={},Y={},y={},rt;function Ut(){if(rt)return y;rt=1,Object.defineProperty(y,"__esModule",{value:!0}),y.NOOP_METER_PROVIDER=y.NoopMeterProvider=void 0;const e=pt();let t=class{getMeter(r,n,i){return e.NOOP_METER}};return y.NoopMeterProvider=t,y.NOOP_METER_PROVIDER=new t,y}var nt;function Bt(){if(nt)return Y;nt=1,Object.defineProperty(Y,"__esModule",{value:!0}),Y.MetricsAPI=void 0;const e=Ut(),t=h(),u=A(),r="metrics";class n{constructor(){}static getInstance(){return this._instance||(this._instance=new n),this._instance}setGlobalMeterProvider(c){return(0,t.registerGlobal)(r,c,u.DiagAPI.instance())}getMeterProvider(){return(0,t.getGlobal)(r)||e.NOOP_METER_PROVIDER}getMeter(c,a,o){return this.getMeterProvider().getMeter(c,a,o)}disable(){(0,t.unregisterGlobal)(r,u.DiagAPI.instance())}}return Y.MetricsAPI=n,Y}var at;function xt(){if(at)return H;at=1,Object.defineProperty(H,"__esModule",{value:!0}),H.metrics=void 0;const e=Bt();return H.metrics=e.MetricsAPI.getInstance(),H}var W={},z={},Q={},ot;function kt(){if(ot)return Q;ot=1,Object.defineProperty(Q,"__esModule",{value:!0}),Q.NoopTextMapPropagator=void 0;let e=class{inject(u,r){}extract(u,r){return u}fields(){return[]}};return Q.NoopTextMapPropagator=e,Q}var O={},it;function $t(){if(it)return O;it=1,Object.defineProperty(O,"__esModule",{value:!0}),O.deleteBaggage=O.setBaggage=O.getActiveBaggage=O.getBaggage=void 0;const e=re(),t=te(),u=(0,t.createContextKey)("OpenTelemetry Baggage Key");function r(a){return a.getValue(u)||void 0}O.getBaggage=r;function n(){return r(e.ContextAPI.getInstance().active())}O.getActiveBaggage=n;function i(a,o){return a.setValue(u,o)}O.setBaggage=i;function c(a){return a.deleteValue(u)}return O.deleteBaggage=c,O}var ut;function Kt(){if(ut)return z;ut=1,Object.defineProperty(z,"__esModule",{value:!0}),z.PropagationAPI=void 0;const e=h(),t=kt(),u=vt(),r=$t(),n=_t(),i=A(),c="propagation",a=new t.NoopTextMapPropagator;class o{constructor(){this.createBaggage=n.createBaggage,this.getBaggage=r.getBaggage,this.getActiveBaggage=r.getActiveBaggage,this.setBaggage=r.setBaggage,this.deleteBaggage=r.deleteBaggage}static getInstance(){return this._instance||(this._instance=new o),this._instance}setGlobalPropagator(s){return(0,e.registerGlobal)(c,s,i.DiagAPI.instance())}inject(s,l,d=u.defaultTextMapSetter){return this._getGlobalPropagator().inject(s,l,d)}extract(s,l,d=u.defaultTextMapGetter){return this._getGlobalPropagator().extract(s,l,d)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,e.unregisterGlobal)(c,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,e.getGlobal)(c)||a}}return z.PropagationAPI=o,z}var ct;function Ft(){if(ct)return W;ct=1,Object.defineProperty(W,"__esModule",{value:!0}),W.propagation=void 0;const e=Kt();return W.propagation=e.PropagationAPI.getInstance(),W}var J={},Z={},st;function Xt(){if(st)return Z;st=1,Object.defineProperty(Z,"__esModule",{value:!0}),Z.TraceAPI=void 0;const e=h(),t=Nt(),u=fe(),r=Ot(),n=A(),i="trace";class c{constructor(){this._proxyTracerProvider=new t.ProxyTracerProvider,this.wrapSpanContext=u.wrapSpanContext,this.isSpanContextValid=u.isSpanContextValid,this.deleteSpan=r.deleteSpan,this.getSpan=r.getSpan,this.getActiveSpan=r.getActiveSpan,this.getSpanContext=r.getSpanContext,this.setSpan=r.setSpan,this.setSpanContext=r.setSpanContext}static getInstance(){return this._instance||(this._instance=new c),this._instance}setGlobalTracerProvider(o){const g=(0,e.registerGlobal)(i,this._proxyTracerProvider,n.DiagAPI.instance());return g&&this._proxyTracerProvider.setDelegate(o),g}getTracerProvider(){return(0,e.getGlobal)(i)||this._proxyTracerProvider}getTracer(o,g){return this.getTracerProvider().getTracer(o,g)}disable(){(0,e.unregisterGlobal)(i,n.DiagAPI.instance()),this._proxyTracerProvider=new t.ProxyTracerProvider}}return Z.TraceAPI=c,Z}var lt;function Ht(){if(lt)return J;lt=1,Object.defineProperty(J,"__esModule",{value:!0}),J.trace=void 0;const e=Xt();return J.trace=e.TraceAPI.getInstance(),J}var gt;function Yt(){return gt||(gt=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var t=_t();Object.defineProperty(e,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return t.baggageEntryMetadataFromString}});var u=te();Object.defineProperty(e,"createContextKey",{enumerable:!0,get:function(){return u.createContextKey}}),Object.defineProperty(e,"ROOT_CONTEXT",{enumerable:!0,get:function(){return u.ROOT_CONTEXT}});var r=yt();Object.defineProperty(e,"DiagConsoleLogger",{enumerable:!0,get:function(){return r.DiagConsoleLogger}});var n=_e();Object.defineProperty(e,"DiagLogLevel",{enumerable:!0,get:function(){return n.DiagLogLevel}});var i=pt();Object.defineProperty(e,"createNoopMeter",{enumerable:!0,get:function(){return i.createNoopMeter}});var c=ht();Object.defineProperty(e,"ValueType",{enumerable:!0,get:function(){return c.ValueType}});var a=vt();Object.defineProperty(e,"defaultTextMapGetter",{enumerable:!0,get:function(){return a.defaultTextMapGetter}}),Object.defineProperty(e,"defaultTextMapSetter",{enumerable:!0,get:function(){return a.defaultTextMapSetter}});var o=bt();Object.defineProperty(e,"ProxyTracer",{enumerable:!0,get:function(){return o.ProxyTracer}});var g=Nt();Object.defineProperty(e,"ProxyTracerProvider",{enumerable:!0,get:function(){return g.ProxyTracerProvider}});var s=mt();Object.defineProperty(e,"SamplingDecision",{enumerable:!0,get:function(){return s.SamplingDecision}});var l=Lt();Object.defineProperty(e,"SpanKind",{enumerable:!0,get:function(){return l.SpanKind}});var d=Dt();Object.defineProperty(e,"SpanStatusCode",{enumerable:!0,get:function(){return d.SpanStatusCode}});var _=ft();Object.defineProperty(e,"TraceFlags",{enumerable:!0,get:function(){return _.TraceFlags}});var p=jt();Object.defineProperty(e,"createTraceState",{enumerable:!0,get:function(){return p.createTraceState}});var b=fe();Object.defineProperty(e,"isSpanContextValid",{enumerable:!0,get:function(){return b.isSpanContextValid}}),Object.defineProperty(e,"isValidTraceId",{enumerable:!0,get:function(){return b.isValidTraceId}}),Object.defineProperty(e,"isValidSpanId",{enumerable:!0,get:function(){return b.isValidSpanId}});var N=pe();Object.defineProperty(e,"INVALID_SPANID",{enumerable:!0,get:function(){return N.INVALID_SPANID}}),Object.defineProperty(e,"INVALID_TRACEID",{enumerable:!0,get:function(){return N.INVALID_TRACEID}}),Object.defineProperty(e,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return N.INVALID_SPAN_CONTEXT}});const P=qt();Object.defineProperty(e,"context",{enumerable:!0,get:function(){return P.context}});const Oe=Gt();Object.defineProperty(e,"diag",{enumerable:!0,get:function(){return Oe.diag}});const Pe=xt();Object.defineProperty(e,"metrics",{enumerable:!0,get:function(){return Pe.metrics}});const be=Ft();Object.defineProperty(e,"propagation",{enumerable:!0,get:function(){return be.propagation}});const Ne=Ht();Object.defineProperty(e,"trace",{enumerable:!0,get:function(){return Ne.trace}}),e.default={context:P.context,diag:Oe.diag,metrics:Pe.metrics,propagation:be.propagation,trace:Ne.trace}})(ne)),ne}var ee=Yt();const or=e=>{const{renameSpan:t,tracer:u}=e;let r;const n=new Map;return Tt({hooks:{"run:after":i=>{if(!r)return;const c=[...i.values()].filter(a=>a.status==="failure").length;r.setAttribute("vis.run.tasks_total",i.size),r.setAttribute("vis.run.tasks_failed",c),c>0?r.setStatus({code:ee.SpanStatusCode.ERROR,message:`${String(c)} task(s) failed`}):r.setStatus({code:ee.SpanStatusCode.OK}),r.end(),r=void 0;for(const a of n.values())a.end();n.clear()},"run:before":i=>{r&&(r.setStatus({code:ee.SpanStatusCode.ERROR,message:"run:before fired while previous run was still active"}),r.end());for(const c of n.values())c.end();n.clear(),r=u.startSpan("vis.run",{attributes:{"vis.run.task_count":i.tasks.length,"vis.workspace_root":i.workspaceRoot}})},"task:after":(i,c)=>{const a=n.get(i.id);a&&(a.setAttribute("vis.task.exit_code",c.code??0),a.setAttribute("vis.task.cache_status",c.status),a.end(),n.delete(i.id))},"task:before":i=>{const c=n.get(i.id);c&&(c.setStatus({code:ee.SpanStatusCode.ERROR,message:"retried — superseded by new attempt"}),c.end());const a=u.startSpan(t?t(i):i.id,{attributes:{"vis.task.id":i.id,"vis.task.project":i.target.project,"vis.task.target":i.target.target}});n.set(i.id,a)},"task:failure":(i,c)=>{const a=n.get(i.id);a&&a.setStatus({code:ee.SpanStatusCode.ERROR,message:`Task failed with exit code ${String(c.code??-1)}`})}},name:"otel"})};export{or as otelPlugin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=[/Issues with peer dependencies found/i,/\bunmet peer\b/i,/\bERESOLVE\b/,/unmet peer dependency/i,/\bYN0060\b/,/incorrect peer dependency/i],d="Peer dependency issues detected. Run `vis update --peer` to inspect and bump mismatched peer dependencies.",p=e=>e?s.some(n=>n.test(e)):!1;export{d as P,p as h};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as vt}from"node:module";import{f as ar,m as ee,H as ir,j as or,v as It}from"./index-BDmTbWX1.js";import{g as Lt}from"./_commonjsHelpers-B5Y90VFO.js";import{detectPackageManager as kt,resolveAdd as St,resolveRemove as Ot,resolveDlx as Nt,whichBin as yt,resolveInstall as At,execPmCommandInteractive as Tt,resolveDedupe as Ct,resolveWhy as Pt,resolveLink as qt,resolveUnlink as jt,resolveExec as _t,resolvePmCommand as Dt}from"#native";const Rt=vt(import.meta.url),H=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,wt=e=>{if(typeof H<"u"&&H.versions&&H.versions.node){const[r,t]=H.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return H.getBuiltinModule(e)}return Rt(e)},{spawn:$t,spawnSync:bt}=wt("node:child_process");var Q={exports:{}},he,gr;function Z(){return gr||(gr=1,he={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}),he}var fe,Er;function re(){return Er||(Er=1,fe=process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{}),fe}var vr;function K(){return vr||(vr=1,(function(e,r){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:a}=Z(),o=re();r=e.exports={};const u=r.re=[],l=r.safeRe=[],i=r.src=[],d=r.safeSrc=[],s=r.t={};let p=0;const c="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",a],[c,n]],$=L=>{for(const[N,P]of m)L=L.split(`${N}*`).join(`${N}{0,${P}}`).split(`${N}+`).join(`${N}{1,${P}}`);return L},f=(L,N,P)=>{const _=$(N),q=p++;o(L,q,N),s[L]=q,i[q]=N,d[q]=_,u[q]=new RegExp(N,P?"g":void 0),l[q]=new RegExp(_,P?"g":void 0)};f("NUMERICIDENTIFIER","0|[1-9]\\d*"),f("NUMERICIDENTIFIERLOOSE","\\d+"),f("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${c}*`),f("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),f("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),f("PRERELEASEIDENTIFIER",`(?:${i[s.NONNUMERICIDENTIFIER]}|${i[s.NUMERICIDENTIFIER]})`),f("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NONNUMERICIDENTIFIER]}|${i[s.NUMERICIDENTIFIERLOOSE]})`),f("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),f("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),f("BUILDIDENTIFIER",`${c}+`),f("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),f("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),f("FULL",`^${i[s.FULLPLAIN]}$`),f("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),f("LOOSE",`^${i[s.LOOSEPLAIN]}$`),f("GTLT","((?:<|>)?=?)"),f("XRANGEIDENTIFIERLOOSE",`${i[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),f("XRANGEIDENTIFIER",`${i[s.NUMERICIDENTIFIER]}|x|X|\\*`),f("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),f("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),f("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),f("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),f("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),f("COERCE",`${i[s.COERCEPLAIN]}(?:$|[^\\d])`),f("COERCEFULL",i[s.COERCEPLAIN]+`(?:${i[s.PRERELEASE]})?(?:${i[s.BUILD]})?(?:$|[^\\d])`),f("COERCERTL",i[s.COERCE],!0),f("COERCERTLFULL",i[s.COERCEFULL],!0),f("LONETILDE","(?:~>?)"),f("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),r.tildeTrimReplace="$1~",f("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),f("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),f("LONECARET","(?:\\^)"),f("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),r.caretTrimReplace="$1^",f("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),f("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),f("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),f("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),f("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),r.comparatorTrimReplace="$1$2$3",f("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),f("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),f("STAR","(<|>)?=?\\s*\\*"),f("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),f("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Q,Q.exports)),Q.exports}var me,Rr;function ur(){if(Rr)return me;Rr=1;const e=Object.freeze({loose:!0}),r=Object.freeze({});return me=n=>n?typeof n!="object"?e:n:r,me}var de,wr;function ct(){if(wr)return de;wr=1;const e=/^[0-9]+$/,r=(n,a)=>{if(typeof n=="number"&&typeof a=="number")return n===a?0:n<a?-1:1;const o=e.test(n),u=e.test(a);return o&&u&&(n=+n,a=+a),n===a?0:o&&!u?-1:u&&!o?1:n<a?-1:1};return de={compareIdentifiers:r,rcompareIdentifiers:(n,a)=>r(a,n)},de}var ge,$r;function j(){if($r)return ge;$r=1;const e=re(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:t}=Z(),{safeRe:n,t:a}=K(),o=ur(),{compareIdentifiers:u}=ct(),l=(d,s)=>{const p=s.split(".");if(p.length>d.length)return!1;for(let c=0;c<p.length;c++)if(u(d[c],p[c])!==0)return!1;return!0};class i{constructor(s,p){if(p=o(p),s instanceof i){if(s.loose===!!p.loose&&s.includePrerelease===!!p.includePrerelease)return s;s=s.version}else if(typeof s!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>r)throw new TypeError(`version is longer than ${r} characters`);e("SemVer",s,p),this.options=p,this.loose=!!p.loose,this.includePrerelease=!!p.includePrerelease;const c=s.trim().match(p.loose?n[a.LOOSE]:n[a.FULL]);if(!c)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>t||this.major<0)throw new TypeError("Invalid major version");if(this.minor>t||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>t||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(m=>{if(/^[0-9]+$/.test(m)){const $=+m;if($>=0&&$<t)return $}return m}):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(s){if(e("SemVer.compare",this.version,this.options,s),!(s instanceof i)){if(typeof s=="string"&&s===this.version)return 0;s=new i(s,this.options)}return s.version===this.version?0:this.compareMain(s)||this.comparePre(s)}compareMain(s){return s instanceof i||(s=new i(s,this.options)),this.major<s.major?-1:this.major>s.major?1:this.minor<s.minor?-1:this.minor>s.minor?1:this.patch<s.patch?-1:this.patch>s.patch?1:0}comparePre(s){if(s instanceof i||(s=new i(s,this.options)),this.prerelease.length&&!s.prerelease.length)return-1;if(!this.prerelease.length&&s.prerelease.length)return 1;if(!this.prerelease.length&&!s.prerelease.length)return 0;let p=0;do{const c=this.prerelease[p],m=s.prerelease[p];if(e("prerelease compare",p,c,m),c===void 0&&m===void 0)return 0;if(m===void 0)return 1;if(c===void 0)return-1;if(c!==m)return u(c,m)}while(++p)}compareBuild(s){s instanceof i||(s=new i(s,this.options));let p=0;do{const c=this.build[p],m=s.build[p];if(e("build compare",p,c,m),c===void 0&&m===void 0)return 0;if(m===void 0)return 1;if(c===void 0)return-1;if(c!==m)return u(c,m)}while(++p)}inc(s,p,c){if(s.startsWith("pre")){if(!p&&c===!1)throw new Error("invalid increment argument: identifier is empty");if(p){const m=`-${p}`.match(this.options.loose?n[a.PRERELEASELOOSE]:n[a.PRERELEASE]);if(!m||m[1]!==p)throw new Error(`invalid identifier: ${p}`)}}switch(s){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",p,c);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",p,c);break;case"prepatch":this.prerelease.length=0,this.inc("patch",p,c),this.inc("pre",p,c);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",p,c),this.inc("pre",p,c);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const m=Number(c)?1:0;if(this.prerelease.length===0)this.prerelease=[m];else{let $=this.prerelease.length;for(;--$>=0;)typeof this.prerelease[$]=="number"&&(this.prerelease[$]++,$=-2);if($===-1){if(p===this.prerelease.join(".")&&c===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(m)}}if(p){let $=[p,m];if(c===!1&&($=[p]),l(this.prerelease,p)){const f=this.prerelease[p.split(".").length];isNaN(f)&&(this.prerelease=$)}else this.prerelease=$}break}default:throw new Error(`invalid increment argument: ${s}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return ge=i,ge}var Ee,br;function U(){if(br)return Ee;br=1;const e=j();return Ee=(t,n,a=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(o){if(!a)return null;throw o}},Ee}var ve,Ir;function Mt(){if(Ir)return ve;Ir=1;const e=U();return ve=(t,n)=>{const a=e(t,n);return a?a.version:null},ve}var Re,Lr;function Gt(){if(Lr)return Re;Lr=1;const e=U();return Re=(t,n)=>{const a=e(t.trim().replace(/^[=v]+/,""),n);return a?a.version:null},Re}var we,kr;function Ft(){if(kr)return we;kr=1;const e=j();return we=(t,n,a,o,u)=>{typeof a=="string"&&(u=o,o=a,a=void 0);try{return new e(t instanceof e?t.version:t,a).inc(n,o,u).version}catch{return null}},we}var $e,Sr;function Ut(){if(Sr)return $e;Sr=1;const e=U();return $e=(t,n)=>{const a=e(t,null,!0),o=e(n,null,!0),u=a.compare(o);if(u===0)return null;const l=u>0,i=l?a:o,d=l?o:a,s=!!i.prerelease.length;if(d.prerelease.length&&!s){if(!d.patch&&!d.minor)return"major";if(d.compareMain(i)===0)return d.minor&&!d.patch?"minor":"patch"}const p=s?"pre":"";return a.major!==o.major?p+"major":a.minor!==o.minor?p+"minor":a.patch!==o.patch?p+"patch":"prerelease"},$e}var be,Or;function xt(){if(Or)return be;Or=1;const e=j();return be=(t,n)=>new e(t,n).major,be}var Ie,Nr;function Xt(){if(Nr)return Ie;Nr=1;const e=j();return Ie=(t,n)=>new e(t,n).minor,Ie}var Le,yr;function Vt(){if(yr)return Le;yr=1;const e=j();return Le=(t,n)=>new e(t,n).patch,Le}var ke,Ar;function Bt(){if(Ar)return ke;Ar=1;const e=U();return ke=(t,n)=>{const a=e(t,n);return a&&a.prerelease.length?a.prerelease:null},ke}var Se,Tr;function M(){if(Tr)return Se;Tr=1;const e=j();return Se=(t,n,a)=>new e(t,a).compare(new e(n,a)),Se}var Oe,Cr;function Wt(){if(Cr)return Oe;Cr=1;const e=M();return Oe=(t,n,a)=>e(n,t,a),Oe}var Ne,Pr;function Ht(){if(Pr)return Ne;Pr=1;const e=M();return Ne=(t,n)=>e(t,n,!0),Ne}var ye,qr;function pr(){if(qr)return ye;qr=1;const e=j();return ye=(t,n,a)=>{const o=new e(t,a),u=new e(n,a);return o.compare(u)||o.compareBuild(u)},ye}var Ae,jr;function Yt(){if(jr)return Ae;jr=1;const e=pr();return Ae=(t,n)=>t.sort((a,o)=>e(a,o,n)),Ae}var Te,_r;function zt(){if(_r)return Te;_r=1;const e=pr();return Te=(t,n)=>t.sort((a,o)=>e(o,a,n)),Te}var Ce,Dr;function te(){if(Dr)return Ce;Dr=1;const e=M();return Ce=(t,n,a)=>e(t,n,a)>0,Ce}var Pe,Mr;function cr(){if(Mr)return Pe;Mr=1;const e=M();return Pe=(t,n,a)=>e(t,n,a)<0,Pe}var qe,Gr;function lt(){if(Gr)return qe;Gr=1;const e=M();return qe=(t,n,a)=>e(t,n,a)===0,qe}var je,Fr;function ht(){if(Fr)return je;Fr=1;const e=M();return je=(t,n,a)=>e(t,n,a)!==0,je}var _e,Ur;function lr(){if(Ur)return _e;Ur=1;const e=M();return _e=(t,n,a)=>e(t,n,a)>=0,_e}var De,xr;function hr(){if(xr)return De;xr=1;const e=M();return De=(t,n,a)=>e(t,n,a)<=0,De}var Me,Xr;function ft(){if(Xr)return Me;Xr=1;const e=lt(),r=ht(),t=te(),n=lr(),a=cr(),o=hr();return Me=(l,i,d,s)=>{switch(i){case"===":return typeof l=="object"&&(l=l.version),typeof d=="object"&&(d=d.version),l===d;case"!==":return typeof l=="object"&&(l=l.version),typeof d=="object"&&(d=d.version),l!==d;case"":case"=":case"==":return e(l,d,s);case"!=":return r(l,d,s);case">":return t(l,d,s);case">=":return n(l,d,s);case"<":return a(l,d,s);case"<=":return o(l,d,s);default:throw new TypeError(`Invalid operator: ${i}`)}},Me}var Ge,Vr;function Jt(){if(Vr)return Ge;Vr=1;const e=j(),r=U(),{safeRe:t,t:n}=K();return Ge=(o,u)=>{if(o instanceof e)return o;if(typeof o=="number"&&(o=String(o)),typeof o!="string")return null;u=u||{};let l=null;if(!u.rtl)l=o.match(u.includePrerelease?t[n.COERCEFULL]:t[n.COERCE]);else{const m=u.includePrerelease?t[n.COERCERTLFULL]:t[n.COERCERTL];let $;for(;($=m.exec(o))&&(!l||l.index+l[0].length!==o.length);)(!l||$.index+$[0].length!==l.index+l[0].length)&&(l=$),m.lastIndex=$.index+$[1].length+$[2].length;m.lastIndex=-1}if(l===null)return null;const i=l[2],d=l[3]||"0",s=l[4]||"0",p=u.includePrerelease&&l[5]?`-${l[5]}`:"",c=u.includePrerelease&&l[6]?`+${l[6]}`:"";return r(`${i}.${d}.${s}${p}${c}`,u)},Ge}var Fe,Br;function Zt(){if(Br)return Fe;Br=1;const e=U(),r=Z(),t=j(),n=(l,i,d)=>{if(!r.RELEASE_TYPES.includes(i))return null;const s=a(l,d);return s&&o(s,i)},a=(l,i)=>{const d=l instanceof t?l.version:l;return e(d,i)},o=(l,i)=>{if(u(i))return l.version;switch(l.prerelease=[],i){case"major":l.minor=0,l.patch=0;break;case"minor":l.patch=0;break}return l.format()},u=l=>l.startsWith("pre");return Fe=n,Fe}var Ue,Wr;function Kt(){if(Wr)return Ue;Wr=1;class e{constructor(){this.max=1e3,this.map=new Map}get(t){const n=this.map.get(t);if(n!==void 0)return this.map.delete(t),this.map.set(t,n),n}delete(t){return this.map.delete(t)}set(t,n){if(!this.delete(t)&&n!==void 0){if(this.map.size>=this.max){const a=this.map.keys().next().value;this.delete(a)}this.map.set(t,n)}return this}}return Ue=e,Ue}var xe,Hr;function G(){if(Hr)return xe;Hr=1;const e=/\s+/g;class r{constructor(h,v){if(v=a(v),h instanceof r)return h.loose===!!v.loose&&h.includePrerelease===!!v.includePrerelease?h:new r(h.raw,v);if(h instanceof o)return this.raw=h.value,this.set=[[h]],this.formatted=void 0,this;if(this.options=v,this.loose=!!v.loose,this.includePrerelease=!!v.includePrerelease,this.raw=h.trim().replace(e," "),this.set=this.raw.split("||").map(R=>this.parseRange(R.trim())).filter(R=>R.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const R=this.set[0];if(this.set=this.set.filter(w=>!N(w[0])),this.set.length===0)this.set=[R];else if(this.set.length>1){for(const w of this.set)if(w.length===1&&P(w[0])){this.set=[w];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let h=0;h<this.set.length;h++){h>0&&(this.formatted+="||");const v=this.set[h];for(let R=0;R<v.length;R++)R>0&&(this.formatted+=" "),this.formatted+=v[R].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(h){h=h.replace(L,"");const v=((this.options.includePrerelease&&$)|(this.options.loose&&f))+":"+h,R=n.get(v);if(R)return R;const w=this.options.loose,E=w?i[s.HYPHENRANGELOOSE]:i[s.HYPHENRANGE];h=h.replace(E,ce(this.options.includePrerelease)),u("hyphen replace",h),h=h.replace(i[s.COMPARATORTRIM],p),u("comparator trim",h),h=h.replace(i[s.TILDETRIM],c),u("tilde trim",h),h=h.replace(i[s.CARETTRIM],m),u("caret trim",h);let b=h.split(" ").map(T=>q(T,this.options)).join(" ").split(/\s+/).map(T=>pe(T,this.options));w&&(b=b.filter(T=>(u("loose invalid filter",T,this.options),!!T.match(i[s.COMPARATORLOOSE])))),u("range list",b);const O=new Map,k=b.map(T=>new o(T,this.options));for(const T of k){if(N(T))return[T];O.set(T.value,T)}O.size>1&&O.has("")&&O.delete("");const A=[...O.values()];return n.set(v,A),A}intersects(h,v){if(!(h instanceof r))throw new TypeError("a Range is required");return this.set.some(R=>_(R,v)&&h.set.some(w=>_(w,v)&&R.every(E=>w.every(b=>E.intersects(b,v)))))}test(h){if(!h)return!1;if(typeof h=="string")try{h=new l(h,this.options)}catch{return!1}for(let v=0;v<this.set.length;v++)if(le(this.set[v],h,this.options))return!0;return!1}}xe=r;const t=Kt(),n=new t,a=ur(),o=ne(),u=re(),l=j(),{safeRe:i,src:d,t:s,comparatorTrimReplace:p,tildeTrimReplace:c,caretTrimReplace:m}=K(),{FLAG_INCLUDE_PRERELEASE:$,FLAG_LOOSE:f}=Z(),L=new RegExp(d[s.BUILD],"g"),N=g=>g.value==="<0.0.0-0",P=g=>g.value==="",_=(g,h)=>{let v=!0;const R=g.slice();let w=R.pop();for(;v&&R.length;)v=R.every(E=>w.intersects(E,h)),w=R.pop();return v},q=(g,h)=>(g=g.replace(i[s.BUILD],""),u("comp",g,h),g=B(g,h),u("caret",g),g=C(g,h),u("tildes",g),g=ie(g,h),u("xrange",g),g=ue(g,h),u("stars",g),g),S=g=>!g||g.toLowerCase()==="x"||g==="*",y=(g,h,v)=>S(g)&&!S(h)||S(h)&&v&&!S(v),C=(g,h)=>g.trim().split(/\s+/).map(v=>I(v,h)).join(" "),I=(g,h)=>{const v=h.loose?i[s.TILDELOOSE]:i[s.TILDE];return g.replace(v,(R,w,E,b,O)=>{u("tilde",g,R,w,E,b,O);let k;return S(w)?k="":S(E)?k=`>=${w}.0.0 <${+w+1}.0.0-0`:S(b)?k=`>=${w}.${E}.0 <${w}.${+E+1}.0-0`:O?(u("replaceTilde pr",O),k=`>=${w}.${E}.${b}-${O} <${w}.${+E+1}.0-0`):k=`>=${w}.${E}.${b} <${w}.${+E+1}.0-0`,u("tilde return",k),k})},B=(g,h)=>g.trim().split(/\s+/).map(v=>ae(v,h)).join(" "),ae=(g,h)=>{u("caret",g,h);const v=h.loose?i[s.CARETLOOSE]:i[s.CARET],R=h.includePrerelease?"-0":"";return g.replace(v,(w,E,b,O,k)=>{u("caret",g,w,E,b,O,k);let A;return S(E)?A="":S(b)?A=`>=${E}.0.0${R} <${+E+1}.0.0-0`:S(O)?E==="0"?A=`>=${E}.${b}.0${R} <${E}.${+b+1}.0-0`:A=`>=${E}.${b}.0${R} <${+E+1}.0.0-0`:k?(u("replaceCaret pr",k),E==="0"?b==="0"?A=`>=${E}.${b}.${O}-${k} <${E}.${b}.${+O+1}-0`:A=`>=${E}.${b}.${O}-${k} <${E}.${+b+1}.0-0`:A=`>=${E}.${b}.${O}-${k} <${+E+1}.0.0-0`):(u("no pr"),E==="0"?b==="0"?A=`>=${E}.${b}.${O} <${E}.${b}.${+O+1}-0`:A=`>=${E}.${b}.${O} <${E}.${+b+1}.0-0`:A=`>=${E}.${b}.${O} <${+E+1}.0.0-0`),u("caret return",A),A})},ie=(g,h)=>(u("replaceXRanges",g,h),g.split(/\s+/).map(v=>oe(v,h)).join(" ")),oe=(g,h)=>{g=g.trim();const v=h.loose?i[s.XRANGELOOSE]:i[s.XRANGE];return g.replace(v,(R,w,E,b,O,k)=>{if(u("xRange",g,R,w,E,b,O,k),y(E,b,O))return g;const A=S(E),T=A||S(b),x=T||S(O),W=x;return w==="="&&W&&(w=""),k=h.includePrerelease?"-0":"",A?w===">"||w==="<"?R="<0.0.0-0":R="*":w&&W?(T&&(b=0),O=0,w===">"?(w=">=",T?(E=+E+1,b=0,O=0):(b=+b+1,O=0)):w==="<="&&(w="<",T?E=+E+1:b=+b+1),w==="<"&&(k="-0"),R=`${w+E}.${b}.${O}${k}`):T?R=`>=${E}.0.0${k} <${+E+1}.0.0-0`:x&&(R=`>=${E}.${b}.0${k} <${E}.${+b+1}.0-0`),u("xRange return",R),R})},ue=(g,h)=>(u("replaceStars",g,h),g.trim().replace(i[s.STAR],"")),pe=(g,h)=>(u("replaceGTE0",g,h),g.trim().replace(i[h.includePrerelease?s.GTE0PRE:s.GTE0],"")),ce=g=>(h,v,R,w,E,b,O,k,A,T,x,W)=>(S(R)?v="":S(w)?v=`>=${R}.0.0${g?"-0":""}`:S(E)?v=`>=${R}.${w}.0${g?"-0":""}`:b?v=`>=${v}`:v=`>=${v}${g?"-0":""}`,S(A)?k="":S(T)?k=`<${+A+1}.0.0-0`:S(x)?k=`<${A}.${+T+1}.0-0`:W?k=`<=${A}.${T}.${x}-${W}`:g?k=`<${A}.${T}.${+x+1}-0`:k=`<=${k}`,`${v} ${k}`.trim()),le=(g,h,v)=>{for(let R=0;R<g.length;R++)if(!g[R].test(h))return!1;if(h.prerelease.length&&!v.includePrerelease){for(let R=0;R<g.length;R++)if(u(g[R].semver),g[R].semver!==o.ANY&&g[R].semver.prerelease.length>0){const w=g[R].semver;if(w.major===h.major&&w.minor===h.minor&&w.patch===h.patch)return!0}return!1}return!0};return xe}var Xe,Yr;function ne(){if(Yr)return Xe;Yr=1;const e=Symbol("SemVer ANY");class r{static get ANY(){return e}constructor(s,p){if(p=t(p),s instanceof r){if(s.loose===!!p.loose)return s;s=s.value}s=s.trim().split(/\s+/).join(" "),u("comparator",s,p),this.options=p,this.loose=!!p.loose,this.parse(s),this.semver===e?this.value="":this.value=this.operator+this.semver.version,u("comp",this)}parse(s){const p=this.options.loose?n[a.COMPARATORLOOSE]:n[a.COMPARATOR],c=s.match(p);if(!c)throw new TypeError(`Invalid comparator: ${s}`);this.operator=c[1]!==void 0?c[1]:"",this.operator==="="&&(this.operator=""),c[2]?this.semver=new l(c[2],this.options.loose):this.semver=e}toString(){return this.value}test(s){if(u("Comparator.test",s,this.options.loose),this.semver===e||s===e)return!0;if(typeof s=="string")try{s=new l(s,this.options)}catch{return!1}return o(s,this.operator,this.semver,this.options)}intersects(s,p){if(!(s instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new i(s.value,p).test(this.value):s.operator===""?s.value===""?!0:new i(this.value,p).test(s.semver):(p=t(p),p.includePrerelease&&(this.value==="<0.0.0-0"||s.value==="<0.0.0-0")||!p.includePrerelease&&(this.value.startsWith("<0.0.0")||s.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&s.operator.startsWith(">")||this.operator.startsWith("<")&&s.operator.startsWith("<")||this.semver.version===s.semver.version&&this.operator.includes("=")&&s.operator.includes("=")||o(this.semver,"<",s.semver,p)&&this.operator.startsWith(">")&&s.operator.startsWith("<")||o(this.semver,">",s.semver,p)&&this.operator.startsWith("<")&&s.operator.startsWith(">")))}}Xe=r;const t=ur(),{safeRe:n,t:a}=K(),o=ft(),u=re(),l=j(),i=G();return Xe}var Ve,zr;function se(){if(zr)return Ve;zr=1;const e=G();return Ve=(t,n,a)=>{try{n=new e(n,a)}catch{return!1}return n.test(t)},Ve}var Be,Jr;function Qt(){if(Jr)return Be;Jr=1;const e=G();return Be=(t,n)=>new e(t,n).set.map(a=>a.map(o=>o.value).join(" ").trim().split(" ")),Be}var We,Zr;function en(){if(Zr)return We;Zr=1;const e=j(),r=G();return We=(n,a,o)=>{let u=null,l=null,i=null;try{i=new r(a,o)}catch{return null}return n.forEach(d=>{i.test(d)&&(!u||l.compare(d)===-1)&&(u=d,l=new e(u,o))}),u},We}var He,Kr;function rn(){if(Kr)return He;Kr=1;const e=j(),r=G();return He=(n,a,o)=>{let u=null,l=null,i=null;try{i=new r(a,o)}catch{return null}return n.forEach(d=>{i.test(d)&&(!u||l.compare(d)===1)&&(u=d,l=new e(u,o))}),u},He}var Ye,Qr;function tn(){if(Qr)return Ye;Qr=1;const e=j(),r=G(),t=te();return Ye=(a,o)=>{a=new r(a,o);let u=new e("0.0.0");if(a.test(u)||(u=new e("0.0.0-0"),a.test(u)))return u;u=null;for(let l=0;l<a.set.length;++l){const i=a.set[l];let d=null;i.forEach(s=>{const p=new e(s.semver.version);switch(s.operator){case">":p.prerelease.length===0?p.patch++:p.prerelease.push(0),p.raw=p.format();case"":case">=":(!d||t(p,d))&&(d=p);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),d&&(!u||t(u,d))&&(u=d)}return u&&a.test(u)?u:null},Ye}var ze,et;function nn(){if(et)return ze;et=1;const e=G();return ze=(t,n)=>{try{return new e(t,n).range||"*"}catch{return null}},ze}var Je,rt;function fr(){if(rt)return Je;rt=1;const e=j(),r=ne(),{ANY:t}=r,n=G(),a=se(),o=te(),u=cr(),l=hr(),i=lr();return Je=(s,p,c,m)=>{s=new e(s,m),p=new n(p,m);let $,f,L,N,P;switch(c){case">":$=o,f=l,L=u,N=">",P=">=";break;case"<":$=u,f=i,L=o,N="<",P="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(a(s,p,m))return!1;for(let _=0;_<p.set.length;++_){const q=p.set[_];let S=null,y=null;if(q.forEach(C=>{C.semver===t&&(C=new r(">=0.0.0")),S=S||C,y=y||C,$(C.semver,S.semver,m)?S=C:L(C.semver,y.semver,m)&&(y=C)}),S.operator===N||S.operator===P||(!y.operator||y.operator===N)&&f(s,y.semver)||y.operator===P&&L(s,y.semver))return!1}return!0},Je}var Ze,tt;function sn(){if(tt)return Ze;tt=1;const e=fr();return Ze=(t,n,a)=>e(t,n,">",a),Ze}var Ke,nt;function an(){if(nt)return Ke;nt=1;const e=fr();return Ke=(t,n,a)=>e(t,n,"<",a),Ke}var Qe,st;function on(){if(st)return Qe;st=1;const e=G();return Qe=(t,n,a)=>(t=new e(t,a),n=new e(n,a),t.intersects(n,a)),Qe}var er,at;function un(){if(at)return er;at=1;const e=se(),r=M();return er=(t,n,a)=>{const o=[];let u=null,l=null;const i=t.sort((c,m)=>r(c,m,a));for(const c of i)e(c,n,a)?(l=c,u||(u=c)):(l&&o.push([u,l]),l=null,u=null);u&&o.push([u,null]);const d=[];for(const[c,m]of o)c===m?d.push(c):!m&&c===i[0]?d.push("*"):m?c===i[0]?d.push(`<=${m}`):d.push(`${c} - ${m}`):d.push(`>=${c}`);const s=d.join(" || "),p=typeof n.raw=="string"?n.raw:String(n);return s.length<p.length?s:n},er}var rr,it;function pn(){if(it)return rr;it=1;const e=G(),r=ne(),{ANY:t}=r,n=se(),a=M(),o=(p,c,m={})=>{if(p===c)return!0;p=new e(p,m),c=new e(c,m);let $=!1;e:for(const f of p.set){for(const L of c.set){const N=i(f,L,m);if($=$||N!==null,N)continue e}if($)return!1}return!0},u=[new r(">=0.0.0-0")],l=[new r(">=0.0.0")],i=(p,c,m)=>{if(p===c)return!0;if(p.length===1&&p[0].semver===t){if(c.length===1&&c[0].semver===t)return!0;m.includePrerelease?p=u:p=l}if(c.length===1&&c[0].semver===t){if(m.includePrerelease)return!0;c=l}const $=new Set;let f,L;for(const I of p)I.operator===">"||I.operator===">="?f=d(f,I,m):I.operator==="<"||I.operator==="<="?L=s(L,I,m):$.add(I.semver);if($.size>1)return null;let N;if(f&&L&&(N=a(f.semver,L.semver,m),N>0||N===0&&(f.operator!==">="||L.operator!=="<=")))return null;for(const I of $){if(f&&!n(I,String(f),m)||L&&!n(I,String(L),m))return null;for(const B of c)if(!n(I,String(B),m))return!1;return!0}let P,_,q,S,y=L&&!m.includePrerelease&&L.semver.prerelease.length?L.semver:!1,C=f&&!m.includePrerelease&&f.semver.prerelease.length?f.semver:!1;y&&y.prerelease.length===1&&L.operator==="<"&&y.prerelease[0]===0&&(y=!1);for(const I of c){if(S=S||I.operator===">"||I.operator===">=",q=q||I.operator==="<"||I.operator==="<=",f){if(C&&I.semver.prerelease&&I.semver.prerelease.length&&I.semver.major===C.major&&I.semver.minor===C.minor&&I.semver.patch===C.patch&&(C=!1),I.operator===">"||I.operator===">="){if(P=d(f,I,m),P===I&&P!==f)return!1}else if(f.operator===">="&&!I.test(f.semver))return!1}if(L){if(y&&I.semver.prerelease&&I.semver.prerelease.length&&I.semver.major===y.major&&I.semver.minor===y.minor&&I.semver.patch===y.patch&&(y=!1),I.operator==="<"||I.operator==="<="){if(_=s(L,I,m),_===I&&_!==L)return!1}else if(L.operator==="<="&&!I.test(L.semver))return!1}if(!I.operator&&(L||f)&&N!==0)return!1}return!(f&&q&&!L&&N!==0||L&&S&&!f&&N!==0||C||y)},d=(p,c,m)=>{if(!p)return c;const $=a(p.semver,c.semver,m);return $>0?p:$<0||c.operator===">"&&p.operator===">="?c:p},s=(p,c,m)=>{if(!p)return c;const $=a(p.semver,c.semver,m);return $<0?p:$>0||c.operator==="<"&&p.operator==="<="?c:p};return rr=o,rr}var tr,ot;function cn(){if(ot)return tr;ot=1;const e=K(),r=Z(),t=j(),n=ct(),a=U(),o=Mt(),u=Gt(),l=Ft(),i=Ut(),d=xt(),s=Xt(),p=Vt(),c=Bt(),m=M(),$=Wt(),f=Ht(),L=pr(),N=Yt(),P=zt(),_=te(),q=cr(),S=lt(),y=ht(),C=lr(),I=hr(),B=ft(),ae=Jt(),ie=Zt(),oe=ne(),ue=G(),pe=se(),ce=Qt(),le=en(),g=rn(),h=tn(),v=nn(),R=fr(),w=sn(),E=an(),b=on(),O=un(),k=pn();return tr={parse:a,valid:o,clean:u,inc:l,diff:i,major:d,minor:s,patch:p,prerelease:c,compare:m,rcompare:$,compareLoose:f,compareBuild:L,sort:N,rsort:P,gt:_,lt:q,eq:S,neq:y,gte:C,lte:I,cmp:B,coerce:ae,truncate:ie,Comparator:oe,Range:ue,satisfies:pe,toComparators:ce,maxSatisfying:le,minSatisfying:g,minVersion:h,validRange:v,outside:R,gtr:w,ltr:E,intersects:b,simplifyRange:O,subset:k,SemVer:t,re:e.re,src:e.src,tokens:e.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers},tr}var J=cn();const Wn=Lt(J),X=(e,r,t,n)=>{for(const a of r)e.push("--filter",a);t&&e.push("--recursive"),n&&e.push("--workspace-root")},ln=e=>{const r=[],t=[];return X(r,e.filter,e.recursive,e.workspaceRoot),e.silent&&r.push("--silent"),e.frozenLockfile&&r.push("--frozen-lockfile"),r.push("install"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.force&&r.push("--force"),e.ignoreScripts&&r.push("--ignore-scripts"),e.lockfileOnly&&r.push("--lockfile-only"),e.noOptional&&r.push("--no-optional"),e.offline&&r.push("--offline"),{args:r,bin:"aube",warnings:t}},hn=e=>{const r=[],t=[];return X(r,e.filter,!1,!1),r.push("add"),e.saveDev&&r.push("--save-dev"),e.exact&&r.push("--save-exact"),e.global&&r.push("--global"),e.optional&&r.push("--save-optional"),e.peer&&r.push("--save-peer"),e.workspace&&t.push("aube has no flag for the `workspace:` protocol; it auto-detects local workspace members during add. Ignoring --workspace."),e.workspaceRoot&&r.push("--workspace"),r.push(...e.packages),{args:r,bin:"aube",warnings:t}},fn=e=>{const r=[];return X(r,e.filter,e.recursive,!1),r.push("remove"),e.saveDev&&r.push("--save-dev"),e.global&&r.push("--global"),e.workspaceRoot&&r.push("--workspace"),r.push(...e.packages),{args:r,bin:"aube",warnings:[]}},mn=e=>{const r=["dedupe"];return e&&r.push("--check"),{args:r,bin:"aube",warnings:[]}},dn=e=>{const r=[],t=[];X(r,e.filter,e.recursive,!1),r.push("why"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.json&&r.push("--json"),e.long&&r.push("--long"),e.parseable&&r.push("--parseable"),e.depth!==void 0&&t.push("aube why does not accept --depth; ignoring."),e.noOptional&&t.push("aube why does not accept --no-optional; ignoring."),e.global&&t.push("aube why does not accept --global; ignoring.");const[n,...a]=e.packages;return n===void 0?t.push("aube why requires a package name; none provided."):(a.length>0&&t.push("aube why takes a single package; using the first."),r.push(n)),{args:r,bin:"aube",warnings:t}},gn=e=>{const r=[];e.silent&&r.push("--silent"),r.push("dlx");for(const t of e.additionalPackages)r.push("--package",t);return e.shellMode&&r.push("--shell-mode"),r.push(e.package),r.push(...e.args),{args:r,bin:"aube",warnings:[]}},En=e=>{const r=[];return X(r,e.filter,e.recursive,e.workspaceRoot),r.push("exec"),e.parallel&&r.push("--parallel"),e.reverse&&r.push("--reverse"),e.shellMode&&r.push("--shell-mode"),r.push(e.command),r.push(...e.args),{args:r,bin:"aube",warnings:[]}},vn=e=>{const r=["link"];return e!==null&&r.push(e),{args:r,bin:"aube",warnings:[]}},Rn=(e,r)=>{const t=[],n=[];return r&&t.push("--recursive"),t.push("unlink"),e.length>1&&n.push("aube unlink takes a single package; using the first."),e.length>0&&t.push(e[0]),{args:t,bin:"aube",warnings:n}},wn=e=>{const r=["view","--",e.package],t=[],[n,...a]=e.fields;return n!==void 0?(a.length>0&&t.push("aube view only supports a single field; using the first."),e.json&&t.push("aube view does not support --json with a field selector; printing the field without --json."),r.push(n)):e.json&&r.push("--json"),{args:r,bin:"aube",warnings:t}},Hn=e=>{const r=[],t=[];return X(r,e.filters,e.recursive,e.workspaceRoot),r.push("update"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.global&&r.push("--global"),e.interactive&&r.push("--interactive"),e.latest&&r.push("--latest"),e.noOptional&&r.push("--no-optional"),e.noSave&&r.push("--no-save"),r.push(...e.packages),{args:r,bin:"aube",warnings:t}},$n=new Set(["fund","ping","search","token"]),bn=(e,r)=>$n.has(e)?{args:[e,...r],bin:"npm",warnings:[`'${e}' is not natively supported by aube. Delegating to npm.`]}:{args:[e,...r],bin:"aube",warnings:[]},Y=256*1024,In=e=>{const r=e?{...process.env,...e}:{...process.env};return process.stderr.isTTY&&r.FORCE_COLOR===void 0&&r.NO_COLOR===void 0&&(r.FORCE_COLOR="1"),r},ut=e=>e!==""&&!/[\s"&()<>^|%!]/u.test(e)?e:`"${e.replaceAll(/(\\*)"/gu,String.raw`$1$1\"`).replace(/(\\+)$/u,"$1$1").replaceAll(/[&()<>^|%!]/gu,String.raw`^$&`)}"`,Ln=async(e,r,t)=>new Promise((n,a)=>{const o=process.platform==="win32",u=$t(o?ut(e):e,o?r.map(p=>ut(p)):[...r],{cwd:t.cwd,env:In(t.env),shell:o,stdio:["inherit","pipe","pipe"],windowsHide:!0});let l=[],i=0;const d=p=>{if(l.push(p),i+=p.length,!(i<=Y)){for(;l.length>1&&i-l[0].length>Y;)i-=l.shift().length;if(l.length===1&&i>Y){const c=l[0];l[0]=c.subarray(c.length-Y),i=Y}}},s=()=>Buffer.concat(l).toString("utf8");u.stdout?.on("data",p=>{process.stdout.write(p),d(p)}),u.stderr?.on("data",p=>{process.stderr.write(p),d(p)}),u.on("error",a),u.on("close",p=>{const c=s();l=[],n({code:p??1,output:c})})}),z=e=>{const r=J.coerce(e);return r?J.gte(r,"11.0.0"):!1},F=e=>e.name==="yarn"&&!e.version.startsWith("1."),nr=e=>e.name==="yarn"&&e.version.startsWith("1."),kn=e=>e[0]==="rm"?["remove",...e.slice(1)]:e,Sn=(e,r,t)=>{switch(r){case"audit":return F(e)?{args:["npm","audit",...t],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"config":{if(F(e)){const[n,...a]=t;return n==="delete"?{args:["config","unset",...a],bin:"yarn",kind:"rewrite",warning:"yarn berry uses `config unset`, not `config delete`."}:{kind:"passthrough"}}return e.name==="bun"?{kind:"skip",warning:"bun has no `config` CLI. Edit bunfig.toml or .npmrc directly."}:e.name==="deno"?{kind:"skip",warning:"deno has no registry-config CLI. Edit deno.json directly."}:{kind:"passthrough"}}case"dist-tag":return nr(e)?{args:["tag",...t],bin:"yarn",kind:"rewrite",warning:"yarn 1 has no `dist-tag`; using `yarn tag`."}:F(e)?{args:["npm","tag",...kn(t)],bin:"yarn",kind:"rewrite"}:e.name==="bun"||e.name==="deno"?{kind:"skip",warning:`${e.name} has no \`dist-tag\`. Use \`npm dist-tag\` instead.`}:{kind:"passthrough"};case"login":case"logout":return F(e)?{args:["npm",r,...t],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:[r,...t],bin:"npm",kind:"rewrite",warning:`bun has no \`${r}\`; falling back to \`npm ${r}\` (writes ~/.npmrc, which bun reads).`}:e.name==="deno"?{kind:"skip",warning:`deno has no \`${r}\`. JSR uses browser OAuth via \`deno publish\`.`}:{kind:"passthrough"};case"owner":return e.name==="pnpm"&&z(e.version)?{args:["owner",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `owner`; falling back to `npm owner`."}:F(e)?{args:["owner",...t],bin:"npm",kind:"rewrite",warning:"yarn berry has no `owner` (not in `yarn npm`); falling back to `npm owner`."}:e.name==="bun"?{args:["owner",...t],bin:"npm",kind:"rewrite",warning:"bun has no `owner`; falling back to `npm owner`."}:e.name==="deno"?{kind:"skip",warning:"deno has no `owner`. JSR uses scope-member roles via the web UI."}:{kind:"passthrough"};case"ping":return e.name==="pnpm"&&z(e.version)?{args:["ping",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `ping`; falling back to `npm ping`."}:{kind:"passthrough"};case"plugin":return F(e)?{kind:"passthrough"}:{kind:"skip",warning:`${e.name} does not support yarn-style plugins. Skipping (no-op).`};case"prune":return nr(e)?{kind:"skip",warning:"yarn 1 has no `prune`. Use `yarn install --production` for a prod-only tree."}:F(e)?{kind:"skip",warning:"yarn berry has no `prune`. Use `yarn workspaces focus --production` instead."}:e.name==="bun"||e.name==="deno"?{kind:"skip",warning:`${e.name} has no \`prune\`. Pruning happens automatically on install.`}:{kind:"passthrough"};case"publish":return F(e)?{args:["npm","publish",...t],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"rebuild":return nr(e)?{kind:"skip",warning:"yarn 1 has no `rebuild`. Re-install instead."}:e.name==="bun"?{kind:"skip",warning:"bun has no `rebuild`. Use `bun install --force` instead."}:e.name==="deno"?{kind:"skip",warning:"deno has no `rebuild`."}:{kind:"passthrough"};case"search":return e.name==="pnpm"&&z(e.version)?{args:["search",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `search`; falling back to `npm search`."}:{kind:"passthrough"};case"token":return e.name==="pnpm"&&z(e.version)?{args:["token",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `token`; falling back to `npm token`."}:{kind:"passthrough"};case"whoami":return e.name==="pnpm"&&z(e.version)?{args:["whoami",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `whoami`; falling back to `npm whoami`."}:F(e)?{args:["npm","whoami",...t],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:["pm","whoami",...t],bin:"bun",kind:"rewrite"}:e.name==="deno"?{kind:"skip",warning:"deno has no `whoami`. JSR uses browser auth."}:{kind:"passthrough"};default:return{kind:"passthrough"}}},sr=e=>yt(e)!==null,On=e=>{const r=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["package-lock.json","npm"],["npm-shrinkwrap.json","npm"],["bun.lock","bun"],["bun.lockb","bun"],["deno.lock","deno"]];let t=e;for(;;){for(const[a,o]of r)if(ar(ee(t,a)))return o;const n=ir(t);if(n===t||or(t).root===t)return;t=n}},Yn=(e,r)=>{if(r.name!=="aube")return;const t=On(e);if(t!==void 0)return`Resolved installer is aube but the workspace has a ${t} lockfile. Aube reads and writes ${t}'s lockfile format in place, but its byte output may differ subtly — expect a one-time churn diff on the first install, and ongoing drift if your team mixes tools on the same lockfile. To pin the choice across the team, set \`install.backend\` in vis.config; to bypass aube for this run, pass --no-aube.`},mr=e=>{if(ar(e))try{return JSON.parse(It(e,{buffer:!1}))}catch{return}},Nn=e=>{let r=e;for(;;){const t=ee(r,"package.json"),n=mr(t);if(n&&typeof n.packageManager=="string"&&n.packageManager.length>0)return n.packageManager;const a=ir(r);if(a===r||or(r).root===r)return;r=a}},mt=new Set(["npm","pnpm","yarn"]),pt=(e,r,t)=>t===!1||!mt.has(r)||!sr("corepack")?!1:t===!0?!0:Nn(e)!==void 0,zn=(e,r)=>{const t=r.backend,n=process.env.VIS_INSTALLER,a=t??n??r.configBackend,o=r.configCorepack??"auto";if(a&&a!=="auto"){if(a==="aube"&&!sr("aube"))throw new Error('install.backend is set to "aube" but the `aube` binary is not on PATH. Install it via `npm i -g @endevco/aube`, `mise use -g aube`, or `brew install endevco/tap/aube`.');return{name:a,useCorepack:pt(e,a,o),version:"latest"}}if(sr("aube"))return{name:"aube",useCorepack:!1,version:"latest"};const u=yn(e);return{...u,useCorepack:pt(e,u.name,o)}},yn=e=>{if(!ar(e))throw new Error(`Could not detect package manager in ${e}. Directory does not exist.`);const r=kt(e);return{name:r.name,version:r.version||"latest"}},dt=(e,r)=>r.useCorepack!==!0||!mt.has(r.name)||e.bin==="corepack"||e.bin!==r.name?e:{...e,args:[r.name,...e.args],bin:"corepack"},An=(e,r,t)=>{if(t===void 0)return Tt(e.bin,e.args,r);const n=bt(e.bin,e.args,{cwd:r,env:{...process.env,...t},stdio:"inherit"});if(n.error)throw n.error;return n.status??1},D=(e,r,t,n,a={})=>{const o=dt(r,e);for(const u of o.warnings)n.warn(`warning: ${u}`);return a.dry?(n.log(`[dry-run] ${o.bin} ${o.args.join(" ")}`),0):An(o,t,a.env)},V=(e,r,t,n,a={})=>D(e,r(),t,n,a),Tn=(e,r)=>r==="aube"||r==="deno"?e:{...e,args:[...e.args,"--prefer-offline"]},Cn=(e,r,t)=>r!=="yarn"||t.startsWith("1.")||!e.args.includes("--immutable")||e.args.includes("--immutable-cache")?e:{...e,args:[...e.args,"--immutable-cache"]},gt=(e,r,t)=>{let n=e.name==="aube"?ln(r):At(e.name,e.version,{...r,silent:r.silent||t.silent===!0});return t.preferOffline&&(n=Tn(n,e.name)),t.ciMode&&(n=Cn(n,e.name,e.version)),n},Jn=(e,r,t,n,a={})=>{const o=gt(e,r,a);return dr(e,o,t,n,{dry:a.dry,env:a.env})},Zn=async(e,r,t,n,a={})=>{const o=dt(gt(e,r,a),e);for(const u of o.warnings)n.warn(`warning: ${u}`);return a.dry?(n.log(`[dry-run] ${o.bin} ${o.args.join(" ")}`),{code:0,output:""}):Ln(o.bin,o.args,{cwd:t,env:a.env?{...process.env,...a.env}:process.env})},Et=(e,r)=>{const t=r==="deno"?"--quiet":"--silent";return{...e,args:[...e.args,t]}},Pn=(e,r)=>r==="yarn"||r==="aube"?null:{...e,args:[...e.args,"--dry-run"]},dr=(e,r,t,n,a)=>{if(a.dry!==!0)return D(e,r,t,n,a);const o=Pn(r,e.name);return o===null?D(e,r,t,n,a):D(e,o,t,n,{env:a.env})},qn=(e,r)=>r==="aube"?{...e,args:[...e.args,"--ignore-scripts"]}:r==="deno"?e:{...e,args:[...e.args,"--ignore-scripts"]},jn=(e,r,t,n,a={})=>{let o=e.name==="aube"?hn(r):St(e.name,e.version,r);a.ignoreScripts&&(o=qn(o,e.name)),a.silent&&(o=Et(o,e.name));const u=dr(e,o,t,n,{dry:a.dry,env:a.env});return u===0&&a.autoInstallPeers&&Gn(e,r,t,n,a),u},_n=e=>{if(e.startsWith("@")){const t=e.indexOf("/");if(t===-1)return e;const n=e.indexOf("@",t);return n===-1?e:e.slice(0,n)}const r=e.indexOf("@");return r===-1?e:e.slice(0,r)},Dn=(e,r)=>{let t=e;for(;;){const n=ee(t,"node_modules",r,"package.json"),a=mr(n);if(a)return a;const o=ir(t);if(o===t||or(t).root===t)return;t=o}},Mn=e=>{const r=mr(ee(e,"package.json")),t=new Set;if(!r)return t;for(const n of["dependencies","devDependencies","peerDependencies","optionalDependencies"]){const a=r[n];if(a)for(const o of Object.keys(a))t.add(o)}return t},Gn=(e,r,t,n,a)=>{if(e.name==="deno")return;const o=Mn(t),u=new Map;for(const d of r.packages){const s=_n(d),p=Dn(t,s);if(!p?.peerDependencies)continue;const c=p.peerDependenciesMeta??{};for(const[m,$]of Object.entries(p.peerDependencies))c[m]?.optional||o.has(m)||u.has(m)||u.set(m,$)}if(u.size===0)return;const l=[...u.entries()].map(([d,s])=>`${d}@${s}`);n.log(`auto-installing peer dependencies: ${l.join(", ")}`);const i={exact:!1,filter:r.filter,global:!1,optional:!1,packages:l,peer:!1,saveDev:r.saveDev,workspace:!1,workspaceRoot:r.workspaceRoot};jn(e,i,t,n,{ignoreScripts:a.ignoreScripts})},Kn=(e,r,t,n,a={})=>{let o=e.name==="aube"?fn(r):Ot(e.name,e.version,r);return a.silent&&(o=Et(o,e.name)),dr(e,o,t,n,{dry:a.dry,env:a.env})},Qn=(e,r,t,n,a={})=>e.name==="aube"?D(e,mn(r),t,n,a):V(e,()=>Ct(e.name,e.version,r),t,n,a),es=(e,r,t,n,a={})=>e.name==="aube"?D(e,dn(r),t,n,a):V(e,()=>Pt(e.name,e.version,r),t,n,a),Fn=(e,r)=>{if(e.name==="aube")return wn(r);const t=[],n=[],a=e.name;switch(e.name){case"bun":{const o=J.coerce(e.version);o&&J.lt(o,"1.3.0")&&n.push(`bun ${e.version} does not support \`bun pm view\` (added in bun 1.3). Upgrade bun, or run \`npm view ${r.package}\` instead.`),t.push("pm","view","--",r.package,...r.fields),r.json&&t.push("--json");break}case"deno":{const o=r.package.startsWith("npm:")||r.package.startsWith("jsr:")||r.package.startsWith("https://")||r.package.startsWith("http://")||r.package.startsWith("file:")?r.package:`npm:${r.package}`;t.push("info","--",o),r.json&&t.push("--json"),r.fields.length>0&&n.push("deno info does not accept field selectors; ignoring.");break}case"npm":case"pnpm":{t.push("view","--",r.package,...r.fields),r.json&&t.push("--json");break}case"yarn":{if(e.version.startsWith("1.")){t.push("info","--",r.package);const[o,...u]=r.fields;o!==void 0&&(u.length>0&&n.push("yarn v1 only supports querying one field at a time; using the first."),t.push(o)),r.json&&t.push("--json")}else t.push("npm","info","--",r.package),r.fields.length>0&&n.push("yarn berry does not support field arguments to 'npm info'; ignoring."),r.json&&t.push("--json");break}default:{const o=e.name;throw new Error(`Unsupported package manager: ${o}`)}}return{args:t,bin:a,warnings:n}},rs=(e,r,t,n,a={})=>D(e,Fn(e,r),t,n,a),ts=(e,r,t,n,a={})=>e.name==="aube"?D(e,vn(r),t,n,a):V(e,()=>qt(e.name,e.version,r),t,n,a),ns=(e,r,t,n,a,o={})=>e.name==="aube"?D(e,Rn(r,t),n,a,o):V(e,()=>jt(e.name,e.version,r,t),n,a,o),Un=(e,r,t)=>{if(e.args.includes("--offline")||e.args.includes("--cached-only"))return e;const n=(a,o)=>{const u=[...e.args];return u.splice(o,0,a),{...e,args:u}};switch(r){case"aube":case"pnpm":return n("--offline",1);case"bun":return{...e,warnings:[...e.warnings,"bun x does not support --offline. Pre-install the package via `vis install` so bun x resolves from the local cache."]};case"deno":return n("--cached-only",1);case"npm":return n("--offline",1);case"yarn":return t.startsWith("1.")?n("--offline",0):{...e,warnings:[...e.warnings,"yarn berry has no --offline flag for dlx. Configure `enableNetwork: false` in .yarnrc.yml or set `enableMirror: true` for offline-first behavior."]};default:{const a=r;return{...e,warnings:[...e.warnings,`applyDlxOffline: unsupported pm ${String(a)}`]}}}},ss=(e,r,t,n,a={})=>{let o=e.name==="aube"?gn(r):Nt(e.name,e.version,r);return a.offline&&(o=Un(o,e.name,e.version)),D(e,o,t,n,{dry:a.dry,env:a.env})},as=(e,r,t,n,a={})=>e.name==="aube"?D(e,En(r),t,n,a):V(e,()=>_t(e.name,e.version,r),t,n,a),is=(e,r,t,n,a,o={})=>{if(e.name==="aube")return D(e,bn(r,t),n,a,o);const u=Sn(e,r,t);return u.kind==="skip"?(a.warn(`warning: ${u.warning}`),0):u.kind==="rewrite"?D(e,{args:u.args,bin:u.bin,warnings:u.warning?[u.warning]:[]},n,a,o):V(e,()=>Dt(e.name,e.version,r,t),n,a,o)};export{ss as $,is as B,Kn as D,es as E,zn as I,jn as M,rs as P,Jn as R,ns as S,as as W,Ln as a,Zn as h,ts as j,Yn as p,J as s,Wn as u,Hn as v,yn as w,Qn as x};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as w}from"node:module";import{s as l}from"./pm-runner-pVihAfxV.js";import{f as T,a as R,m as p}from"./index-BDmTbWX1.js";import{n as A,i as M}from"../packem_chunks/bin.js";import{a as P}from"../packem_chunks/config.js";const k=w(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=t=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[e,s]=u.versions.node.split(".").map(Number);if(e>22||e===22&&s>=3||e===20&&s>=16)return u.getBuiltinModule(t)}return k(t)},{rmSync:f,writeFileSync:j}=_("node:fs"),U=8,$=async(t,e,s)=>{if(t.length===0)return[];const o=Math.max(1,Math.min(e,t.length)),a=Array.from({length:t.length});let r=0;const i=async()=>{for(;r<t.length;){const n=r;r+=1;const c=t[n];a[n]=await s(c,n)}};return await Promise.all(Array.from({length:o},()=>i())),a},g=2,C=1800*1e3,D=15e3,v=()=>p(A(),"packuments"),y=t=>p(v(),`${encodeURIComponent(t)}.json`),S=t=>{const e=y(t);if(T(e))try{const s=P(e);if(s.cacheVersion!==g){f(e,{force:!0});return}if(Date.now()-s.createdAt>s.ttlMs){f(e,{force:!0});return}return s.packument}catch{f(e,{force:!0});return}},N=(t,e,s)=>{R(v());const o={cacheVersion:g,createdAt:Date.now(),packument:e,ttlMs:s};j(y(t),JSON.stringify(o),"utf8")},O=t=>{const e={},s=t.versions??{};for(const[a,r]of Object.entries(s)){const i=r.dist,n={version:a};if(r._npmUser!==void 0&&(n._npmUser=r._npmUser),r.maintainers!==void 0&&(n.maintainers=r.maintainers),r.bin!==void 0&&(n.bin=r.bin),i!==void 0){const c={};i.signatures!==void 0&&(c.signatures=i.signatures),i.attestations!==void 0&&(c.attestations=i.attestations),typeof i.integrity=="string"&&(c.integrity=i.integrity),typeof i.tarball=="string"&&(c.tarball=i.tarball),n.dist=c}r.repository!==void 0&&(n.repository=r.repository),r.license!==void 0&&(n.license=r.license),typeof r.readme=="string"&&(n.readme=r.readme),typeof r.readmeFilename=="string"&&(n.readmeFilename=r.readmeFilename),typeof r.private=="boolean"&&(n.private=r.private),typeof r.deprecated=="string"&&(n.deprecated=r.deprecated),r.scripts!==void 0&&typeof r.scripts=="object"&&(n.scripts=r.scripts),e[a]=n}const o={name:typeof t.name=="string"?t.name:"",versions:e};return t["dist-tags"]!==void 0&&(o["dist-tags"]=t["dist-tags"]),t.time!==void 0&&(o.time=t.time),typeof t.readme=="string"&&(o.readme=t.readme),o},E=t=>{const e={Accept:"application/json"};return t!==void 0&&t!==""&&(e.Authorization=`Bearer ${t}`),e},F=async(t,e)=>{if(e.registryUrl!==void 0)return{authToken:e.authToken,url:e.registryUrl};if(e.workspaceRoot!==void 0){const{getRegistryForPackage:s,loadNpmrc:o}=await import("../packem_chunks/bin.js").then(n=>n.bD),a=o(e.workspaceRoot),{token:r,url:i}=s(t,a);return{authToken:e.authToken??r,url:i}}return{authToken:e.authToken,url:"https://registry.npmjs.org"}},V=async(t,e={})=>{const s=e.cacheTtlMs??C,o=S(t);if(o!==void 0)return o;const a=await F(t,e),r=`${a.url.endsWith("/")?a.url.slice(0,-1):a.url}/${t.replace("/","%2f")}`,i=new AbortController,n=setTimeout(()=>{i.abort()},D),c=()=>{i.abort()};e.signal?.addEventListener("abort",c,{once:!0});try{const d=await fetch(r,{headers:E(a.authToken),signal:i.signal});if(d.status===404)return;if(!d.ok)throw new Error(`Registry returned ${String(d.status)} for ${t}`);const b=await d.json(),m=O(b);return N(t,m,s),m}finally{clearTimeout(n),e.signal?.removeEventListener("abort",c)}},H=(t,e)=>{const s=Object.keys(t.versions);if(s.length===0)return;if(e===void 0||e===""||e==="latest")return t["dist-tags"]?.latest??s.at(-1);const o=t["dist-tags"]?.[e];return o!==void 0?o:Object.hasOwn(t.versions,e)?e:l.maxSatisfying(s,e)??void 0},h=(t,e)=>t.versions[e]?.dist?.attestations?.provenance!==void 0,L=(t,e)=>l.valid(e)?Object.keys(t.versions).filter(s=>l.valid(s)!==null&&l.lt(s,e)).filter(s=>l.satisfies(s,"*",{includePrerelease:!1})).filter(s=>h(t,s)).sort((s,o)=>l.lt(s,o)?1:-1)[0]:void 0,I=async(t,e={})=>{if(M("provenance"))return[];const s=new Set(e.allowlist),o=e.concurrency??U;return(await $(t,o,async({name:a,version:r})=>{if(s.has(a))return;const i=await V(a,{workspaceRoot:e.workspaceRoot});if(i===void 0||h(i,r))return;const n=L(i,r);if(n!==void 0)return{packageName:a,priorVersionWithProvenance:n,version:r}})).filter(a=>a!==void 0)};export{U as D,H as a,L as f,V as g,$ as m,I as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as g}from"node:module";import{f as l,m,a as v}from"./index-BDmTbWX1.js";import{n as b}from"../packem_chunks/bin.js";import{a as j}from"../packem_chunks/config.js";const h=g(import.meta.url),o=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=e=>{if(typeof o<"u"&&o.versions&&o.versions.node){const[t,r]=o.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return o.getBuiltinModule(e)}return h(e)},{rmSync:u,writeFileSync:k}=_("node:fs"),C=1440*60*1e3,R=15e3,w="https://registry.npmjs.org/-/npm/v1/keys",p=()=>m(b(),"registry-keys"),i=()=>m(p(),"npmjs.json"),A=()=>{const e=i();if(l(e))try{const t=j(e),r=Date.now()-t.createdAt>t.ttlMs;return{entry:t,expired:r}}catch{u(e,{force:!0});return}},M=(e,t)=>{v(p());const r={createdAt:Date.now(),keys:e,ttlMs:t};k(i(),JSON.stringify(r),"utf8")},q=async(e={})=>{const t=e.ttlMs??C,r=e.keysUrl??process.env.VIS_NPM_KEYS_URL??w,s=A();if(s!==void 0&&!s.expired&&e.forceRefresh!==!0)return{fromCache:!0,keys:s.entry.keys};const n=new AbortController,d=setTimeout(()=>{n.abort()},R),a=()=>{n.abort()};e.signal?.addEventListener("abort",a,{once:!0});try{const c=await fetch(r,{headers:{Accept:"application/json"},signal:n.signal});if(!c.ok)return s!==void 0?{fromCache:!0,keys:s.entry.keys,stale:!0}:void 0;const y=await c.json(),f=Array.isArray(y.keys)?y.keys:[];return M(f,t),{fromCache:!1,keys:f}}catch{return s!==void 0?{fromCache:!0,keys:s.entry.keys,stale:!0}:void 0}finally{clearTimeout(d),e.signal?.removeEventListener("abort",a)}},x=()=>{const e=i();return l(e)?(u(e,{force:!0}),!0):!1};export{x as c,q as f};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{createRequire as D}from"node:module";import{j as A,i as $,p as m}from"../packem_chunks/bin.js";import{h as S,M as C,r as P,a as E,b as j,c as x,d as _,e as V,f as L}from"./s1ngularity-BkfgC6NO.js";import{m as g,g as w,D as h,r as I}from"./provenance-DMuEftgc.js";import{r as O}from"./signatures-D1H6h6GH.js";import{s as B}from"./pm-runner-pVihAfxV.js";import{f as W}from"./utils-Cxree603.js";const R=D(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,M=e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[a,r]=u.versions.node.split(".").map(Number);if(a>22||a===22&&r>=3||a===20&&r>=16)return u.getBuiltinModule(e)}return R(e)},{createInterface:T}=M("node:readline"),U=15,Y=e=>{if(e===void 0)return!1;const a=e.trim().toLowerCase();return a!==""&&a!=="0"&&a!=="false"&&a!=="no"},q=e=>{const a=(e.TERM??"").toLowerCase();return a!=="dumb"&&a!=="unknown"&&a!==""},F=async e=>{const a=T({input:process.stdin,output:process.stdout});try{return await new Promise(r=>{a.question(e,s=>{r(s.trim().toLowerCase())})})}finally{a.close()}},f=async(e,a)=>{const r=await a(e);return r==="y"||r==="yes"},H=async(e,a,r,s)=>new Promise(c=>{if(s?.aborted){c(!1);return}const o=q(r)&&a.isTTY!==!1;let n=e;const i=()=>{o?a.write(`\rContinuing in ${String(n)}s... press Ctrl-C to abort. `):n===e&&a.write(`Warnings present; proceeding in ${String(e)}s.
|
|
2
|
+
`)};i();const d=setInterval(()=>{if(n-=1,n<=0){clearInterval(d),s?.removeEventListener("abort",l),o&&a.write(`\rContinuing now.
|
|
3
|
+
`),c(!0);return}i()},1e3),l=()=>{clearInterval(d),o&&a.write(`\rAborted.
|
|
4
|
+
`),c(!1)};s?.addEventListener("abort",l,{once:!0})}),G=async(e,a={})=>{if(e.length===0)return{proceed:!0};const r=a.env??process.env,s=a.isTty??!!process.stdin.isTTY,c=a.isCi??A,o=a.strict??!1,n=a.readline??F,i=a.output??{isTTY:!!process.stdout.isTTY,write:p=>process.stdout.write(p)},d=Y(r.VIS_DISABLE_AUTO_CONTINUE),l=Number.parseInt(r.VIS_AUTO_CONTINUE_SECONDS??"",10),t=a.countdownSeconds??(Number.isFinite(l)&&l>0?l:U);return e.some(p=>p.severity==="error")?o?{proceed:!1,reason:"errors-present"}:c?{proceed:!1,reason:"errors-present"}:s?await f("Proceed despite errors? [y/N] ",n)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!1,reason:"non-tty"}:o?{proceed:!1,reason:"ci-strict"}:s?d?await f("Proceed despite warnings? [y/N] ",n)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:await H(t,i,r,a.signal)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!0}},Ne=async(e,a={})=>{if(e.isEmpty())return!0;const r=e.all(),s=a.output??{isTTY:!!process.stdout.isTTY,write:c=>process.stdout.write(c)};for(const c of S(r))s.write(`${c}
|
|
5
|
+
`);return(await G(r,{countdownSeconds:a.countdownSeconds,isCi:a.isCi,isTty:a.isTty,output:s,readline:a.readline,signal:a.signal,strict:a.strict})).proceed},v=300,z=e=>{const a=e.replaceAll(new RegExp("\\p{Cc}","gu")," ").replaceAll(/\s+/gu," ").trim();return a.length>v?`${a.slice(0,v-1)}…`:a},J=e=>{const a=e["dist-tags"]?.latest;return a!==void 0&&Object.hasOwn(e.versions,a)?a:Object.keys(e.versions).at(-1)},K=async(e,a={})=>{if($("deprecation"))return[];const r=new Set(a.allowlist),s=a.concurrency??h;return(await g(e,s,async({name:c,version:o})=>{if(r.has(c))return;const n=await w(c,{workspaceRoot:a.workspaceRoot});if(n===void 0)return;const i=Object.hasOwn(n.versions,o)?o:J(n);if(i===void 0)return;const d=n.versions[i];if(d===void 0)return;const l=typeof d.deprecated=="string"?z(d.deprecated):"";if(l!=="")return{packageName:c,reason:l,version:i}})).filter(c=>c!==void 0)},k={newPackageDays:22,unmaintainedDays:365},b=1440*60*1e3,y=e=>{if(e===void 0)return;const a=Date.parse(e);return Number.isNaN(a)?void 0:a},N=e=>{const a=e.time??{};return Object.entries(a).filter(([r])=>r!=="created"&&r!=="modified").map(([,r])=>y(r)).filter(r=>r!==void 0)},Q=e=>{const a=y(e.time?.created);if(a!==void 0)return a;const r=N(e);return r.length>0?Math.min(...r):void 0},X=e=>{const a=y(e.time?.modified);if(a!==void 0)return a;const r=N(e);return r.length>0?Math.max(...r):void 0},Z=async(e,a={})=>{if($("packageAge"))return[];const r=new Set(a.allowlist),s=a.concurrency??h,c=(a.now??Date.now)(),o=a.thresholds?.newPackageDays??k.newPackageDays,n=a.thresholds?.unmaintainedDays??k.unmaintainedDays;return(await g(e,s,async({name:i})=>{if(r.has(i))return;const d=await w(i,{workspaceRoot:a.workspaceRoot});if(d===void 0)return;const l=Q(d);if(l!==void 0){const p=(c-l)/b;if(p<o)return{days:Math.max(0,Math.floor(p)),kind:"new-package",packageName:i,severity:"error"}}const t=X(d);if(t!==void 0){const p=(c-t)/b;if(p>n)return{days:Math.floor(p),kind:"unmaintained",packageName:i,severity:"warning"}}})).filter(i=>i!==void 0)},ee=e=>({marshall:"author",message:e.message,packageName:e.packageName,severity:e.severity}),ae=e=>({marshall:"provenance",message:`Prior version ${e.priorVersionWithProvenance} had provenance but ${e.version} does not.`,packageName:e.packageName,severity:"error",suggestedAction:`Investigate why ${e.version} dropped sigstore attestations.`}),se=e=>{const a=e.hookChanges.map(r=>`${r.hook} (${r.kind})`).join(", ");return{marshall:"s1ngularity",message:`${e.version} ${e.hookChanges.length===1?"has an":"has"} install-script ${e.hookChanges.length===1?"change":"changes"} [${a}] AND dropped the provenance attestation that ${e.priorVersion} carried — this is the s1ngularity compromised-publish shape.`,packageName:e.packageName,severity:"error",suggestedAction:`Do not install ${e.packageName}@${e.version}. Verify the publish against the project's release CI; pin to ${e.priorVersion} until confirmed. Allowlist via security.marshalls.s1ngularity.allowlist only if the conjunction is explained.`}},re=e=>({marshall:"deprecation",message:`${e.packageName}@${e.version} is deprecated: ${e.reason}`,packageName:e.packageName,severity:"error",suggestedAction:`Migrate off ${e.packageName} or add it to security.marshalls.deprecation.allowlist if the deprecation is acceptable.`}),ne=e=>({marshall:"packageAge",message:e.kind==="new-package"?`Package first published ${String(e.days)} day${e.days===1?"":"s"} ago — brand-new package names are a common typosquat/dependency-confusion signature.`:`No new release in ${String(e.days)} days — package may be unmaintained.`,packageName:e.packageName,severity:e.severity}),te=e=>{const a=e.newBins.map(r=>r.command).join(", ");return{marshall:"newBin",message:`${e.toVersion} adds new bin script${e.newBins.length===1?"":"s"}: ${a} (prior: ${e.fromVersion}).`,packageName:e.packageName,severity:"warning"}},oe=e=>({marshall:"metadata",message:`Missing/invalid metadata: ${e.issues.join(", ")}.`,packageName:e.packageName,severity:"warning"}),ie=e=>e.kind==="no-data"?{marshall:"downloads",message:"npm stats API returned no monthly download data.",packageName:e.packageName,severity:e.severity}:{marshall:"downloads",message:`Only ${String(e.downloadsLastMonth??0)} downloads in the past month.`,packageName:e.packageName,severity:e.severity},ce=e=>({marshall:"expiredDomains",message:e.kind==="expired"?`Maintainer email domain ${e.domain} (${e.maintainer}) is unregistered — potential hijack risk.`:`Could not verify maintainer email domain ${e.domain} (${e.maintainer}).`,packageName:e.packageName,severity:e.severity}),le=e=>({marshall:"signatures",message:e.message,packageName:e.packageName,severity:e.severity}),de=e=>({marshall:"archivedRepo",message:e.kind==="archived"?`Source repo ${e.owner}/${e.repo} is archived${e.archivedAt===void 0?"":` (since ${e.archivedAt})`}.`:`Source repo ${e.owner}/${e.repo} returned 404 from GitHub.`,packageName:e.packageName,severity:"warning"}),pe=["author","provenance","s1ngularity","newBin","metadata","deprecation","packageAge","expiredDomains","signatures","archivedRepo"],ue=e=>pe.some(a=>a==="signatures"?e.signatures?.enabled===!0:e[a]?.enabled!==!1),me=async(e,a,r,s)=>{const c=[...new Set(e.map(o=>o.name))];await g(c,a,async o=>{try{await w(o,{signal:s,workspaceRoot:r})}catch{}})},De=async(e,a={})=>{const r=new C;if(e.length===0)return r;const s=a.config??{},c=e.map(t=>t.name),o=a.signal,n=a.concurrency??h;ue(s)&&await me(e,n,a.workspaceRoot,o);const i=[],d=[],l=t=>{const p=i.length;i.push([]),d.push((async()=>{try{i[p]=await t()}catch{}})())};s.author?.enabled!==!1&&l(async()=>(await P(e,{allowlist:s.author?.allowlist,concurrency:n,signal:o,thresholds:{dormantErrorDays:s.author?.dormantErrorDays,dormantWarnDays:s.author?.dormantWarnDays,newPublisherWindowDays:s.author?.newPublisherWindowDays,recentVersionErrorDays:s.author?.recentVersionErrorDays,recentVersionWarnDays:s.author?.recentVersionWarnDays},workspaceRoot:a.workspaceRoot})).map(t=>ee(t))),s.provenance?.enabled!==!1&&l(async()=>(await I(e,{allowlist:s.provenance?.allowlist,concurrency:n,workspaceRoot:a.workspaceRoot})).map(t=>ae(t))),s.s1ngularity?.enabled!==!1&&l(async()=>(await E(e,{allowlist:s.s1ngularity?.allowlist,concurrency:n,workspaceRoot:a.workspaceRoot})).map(t=>se(t))),s.newBin?.enabled!==!1&&l(async()=>(await j(e,{allowlist:s.newBin?.allowlist,concurrency:n,workspaceRoot:a.workspaceRoot})).map(t=>te(t))),s.metadata?.enabled!==!1&&l(async()=>(await x(e,{allowlist:s.metadata?.allowlist,checks:s.metadata?.checks,concurrency:n,workspaceRoot:a.workspaceRoot})).map(t=>oe(t))),s.deprecation?.enabled!==!1&&l(async()=>(await K(e,{allowlist:s.deprecation?.allowlist,concurrency:n,workspaceRoot:a.workspaceRoot})).map(t=>re(t))),s.packageAge?.enabled!==!1&&l(async()=>(await Z(e,{allowlist:s.packageAge?.allowlist,concurrency:n,thresholds:{newPackageDays:s.packageAge?.newPackageDays,unmaintainedDays:s.packageAge?.unmaintainedDays},workspaceRoot:a.workspaceRoot})).map(t=>ne(t))),s.downloads?.enabled!==!1&&l(async()=>(await _(c,{allowlist:s.downloads?.allowlist,concurrency:n,errorThreshold:s.downloads?.errorThreshold,signal:o,warnThreshold:s.downloads?.warnThreshold})).map(t=>ie(t))),s.expiredDomains?.enabled!==!1&&l(async()=>(await V(e,{allowDomains:s.expiredDomains?.allowDomains,allowlist:s.expiredDomains?.allowlist,concurrency:n,dnsServers:s.expiredDomains?.dnsServers,perDomainTimeoutMs:s.expiredDomains?.timeoutMs,signal:o,workspaceRoot:a.workspaceRoot})).map(t=>ce(t))),s.signatures?.enabled===!0&&l(async()=>(await O(e,{allowlist:s.signatures?.allowlist,concurrency:n,keysUrl:s.signatures?.keysUrl,signal:o,treatExpiredAs:s.signatures?.treatExpiredAs,workspaceRoot:a.workspaceRoot})).map(t=>le(t))),s.archivedRepo?.enabled!==!1&&l(async()=>(await L(e,{allowlist:s.archivedRepo?.allowlist,concurrency:n,githubToken:s.archivedRepo?.githubToken,signal:o,workspaceRoot:a.workspaceRoot})).map(t=>de(t))),await Promise.all(d);for(const t of i)r.addMany(t);return r},ge=1e4,we=async(e,a=ge)=>{const r=new Map;if(e.length===0)return r;const s=new AbortController,c=setTimeout(()=>{s.abort()},a);try{await Promise.all(e.map(async o=>{try{const n=await fetch(`https://registry.npmjs.org/${o}/latest`,{headers:{Accept:"application/json"},signal:s.signal});if(n.ok){const i=await n.json();i.version?r.set(o,i.version):m.debug(`resolveLatestVersions: ${o} returned 200 but no version field; dropping.`)}else m.debug(`resolveLatestVersions: ${o} returned ${String(n.status)}; dropping.`)}catch(n){m.debug(`resolveLatestVersions: ${o} fetch failed (${n instanceof Error?n.message:String(n)}); dropping.`)}}))}finally{clearTimeout(c)}return r},Re=async e=>{const a=e.map(n=>W(n)),r=new Map;for(const n of a)if(n.versionSpec){const i=B.coerce(n.versionSpec);i&&r.set(n.name,i.version)}const s=a.filter(n=>!r.has(n.name)).map(n=>n.name),c=await we(s),o=[];for(const n of a){const i=r.get(n.name)??c.get(n.name);i?o.push({name:n.name,version:i}):m.debug(`resolveExplicitPackages: dropping ${n.name}${n.versionSpec?`@${n.versionSpec}`:""} — neither semver-coerce nor /latest resolved a version.`)}return o};export{De as a,we as b,Ne as p,Re as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as g,f as m,v as h}from"./index-BDmTbWX1.js";import{whichBin as d}from"#native";import{a as k}from"../packem_chunks/config.js";const v=r=>{for(const s of[".nvmrc",".node-version"]){const i=g(r,s);if(m(i))try{return h(i).trim().replace(/^v/,"")}catch{}}},l=(r,s)=>{const i=r.split(/[.\-+]/).map(n=>Number.parseInt(n,10)||0),c=s.split(/[.\-+]/).map(n=>Number.parseInt(n,10)||0),e=Math.max(i.length,c.length);for(let n=0;n<e;n++){const t=i[n]??0,a=c[n]??0;if(t!==a)return t-a}return 0},$=(r,s)=>{const i=s.trim();if(i===""||i==="*")return!0;const c=i.split(/\s+/).filter(Boolean);for(const e of c)if(e.startsWith(">=")){if(l(r,e.slice(2).trim())<0)return!1}else if(e.startsWith("<=")){if(l(r,e.slice(2).trim())>0)return!1}else if(e.startsWith(">")){if(l(r,e.slice(1).trim())<=0)return!1}else if(e.startsWith("<")){if(l(r,e.slice(1).trim())>=0)return!1}else if(/^\d/.test(e)){const n=r.split("."),t=e.split(".");for(const[a,o]of t.entries())if(o!==n[a])return!1}return!0},x=r=>{const s=[],i=g(r,"package.json");let c;try{c=k(i)}catch{return s}const e=process.versions.node;if(c.engines?.node){const t=c.engines.node;$(e,t)||s.push({actual:e,expected:t,kind:"node",message:`package.json engines.node requires ${t}, but the current Node.js is ${e}.`,severity:"error"})}const n=v(r);if(n){const[t,a]=n.split("."),[o,p]=e.split(".");(t!==o||a!==void 0&&a!==p)&&s.push({actual:e,expected:n,kind:"node",message:`.nvmrc pins Node ${n} but the current Node.js is ${e}. Run \`nvm use\` or switch runtimes.`,severity:"warning"})}if(c.packageManager){const[t,a]=c.packageManager.split("@"),o=(process.env.npm_config_user_agent??"").split(" ")[0]??"",[p,u]=o.split("/"),f=t==="aube"&&d("aube")!==null;p&&t&&p!==t?s.push({actual:p,expected:t,kind:"packageManager",message:`package.json packageManager pins ${c.packageManager} but the current invocation is ${o}. Install the correct package manager.`,severity:f?"warning":"error"}):u&&a&&u!==a&&s.push({actual:u,expected:a,kind:"packageManager",message:`package.json packageManager pins ${t}@${a} but the current invocation uses ${t}@${u}.`,severity:"warning"})}return s};export{x as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as K}from"node:module";import{V,s as A}from"./Table-CcVkyULl-B_ef6zfS.js";import{f as _,a as j,m as $}from"./index-BDmTbWX1.js";import{i as p,n as x}from"../packem_chunks/bin.js";import{m as g,g as b,D as w}from"./provenance-DMuEftgc.js";import{a as O}from"../packem_chunks/config.js";import{s as v}from"./pm-runner-pVihAfxV.js";const X=K(import.meta.url),M=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,T=r=>{if(typeof M<"u"&&M.versions&&M.versions.node){const[e,t]=M.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return M.getBuiltinModule(r)}return X(r)},{rmSync:k,writeFileSync:E}=T("node:fs"),{createHash:Y}=T("node:crypto"),{Resolver:Q}=T("node:dns/promises");class Ke{entries=[];add(e){this.entries.push(e)}addMany(e){for(const t of e)this.entries.push(t)}all(){return this.entries}errors(){return this.entries.filter(e=>e.severity==="error")}warnings(){return this.entries.filter(e=>e.severity==="warning")}hasErrors(){return this.entries.some(e=>e.severity==="error")}hasWarnings(){return this.entries.some(e=>e.severity==="warning")}isEmpty(){return this.entries.length===0}size(){return this.entries.length}}const Xe=r=>{if(r.length===0)return[];const e=[],t=r.filter(s=>s.severity==="error"),n=r.filter(s=>s.severity==="warning");if(t.length>0){e.push(V(`${String(t.length)} error${t.length===1?"":"s"}:`));for(const s of t)e.push(` ${V("✗")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${A("→")} ${s.suggestedAction}`)}if(n.length>0){t.length>0&&e.push(""),e.push(A(`${String(n.length)} warning${n.length===1?"":"s"}:`));for(const s of n)e.push(` ${A("⚠")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${A("→")} ${s.suggestedAction}`)}return e},Ye=r=>({errors:r.filter(e=>e.severity==="error"),findings:[...r],summary:{errorCount:r.filter(e=>e.severity==="error").length,warningCount:r.filter(e=>e.severity==="warning").length},warnings:r.filter(e=>e.severity==="warning")}),Z=1440*60*1e3,ee=15e3,re="https://api.github.com/repos",B=()=>$(x(),"archived-repo"),H=(r,e)=>$(B(),`${encodeURIComponent(r)}__${encodeURIComponent(e)}.json`),te=(r,e)=>{const t=H(r,e);if(_(t))try{const n=O(t);if(Date.now()-n.createdAt>n.ttlMs){k(t,{force:!0});return}return n}catch{k(t,{force:!0});return}},W=(r,e,t,n)=>{j(B());const s={createdAt:Date.now(),ttlMs:n,...t};E(H(r,e),JSON.stringify(s),"utf8")},ne=r=>{if(typeof r!="string"||r.trim()==="")return;const e=r.trim().replace(/^git\+/,""),t=/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(t)return{owner:t[1],repo:t[2]};const n=/^ssh:\/\/git@github\.com\/([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(n)return{owner:n[1],repo:n[2]};const s=/^https?:\/\/(?:www\.)?github\.com\/([^/]+)\/([^/?#]+?)(?:\.git)?\/?$/i.exec(e);if(s)return{owner:s[1],repo:s[2]}},se=async(r,e,t,n)=>{const s=`${re}/${encodeURIComponent(r)}/${encodeURIComponent(e)}`,c=new AbortController,o=setTimeout(()=>{c.abort()},ee),i=()=>{c.abort()};n?.addEventListener("abort",i,{once:!0});const a={Accept:"application/vnd.github+json","User-Agent":"visulima-vis-marshall"};t!==void 0&&t!==""&&(a.Authorization=`Bearer ${t}`);try{const d=await fetch(s,{headers:a,signal:c.signal});if(d.status===404)return{kind:"missing"};if(!d.ok)return{kind:"transient-error"};const l=await d.json(),u=l.archived===!0,f=typeof l.archived_at=="string"?l.archived_at:void 0;return{archived:u,archivedAt:f,kind:"ok"}}catch{return{kind:"transient-error"}}finally{clearTimeout(o),n?.removeEventListener("abort",i)}},ie=(r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),Qe=async(r,e={})=>{if(p("archivedRepo"))return[];const t=new Set(e.allowlist),n=e.cacheTtlMs??Z,s=e.githubToken??process.env.GITHUB_TOKEN,c=e.concurrency??w,o=new Map,i=async(a,d)=>{const l=`${a}/${d}`;let u=o.get(l);return u===void 0&&(u=(async()=>{const f=te(a,d);if(f!==void 0)return f.missing===!0?{archived:!1,kind:"missing"}:{archived:f.archived,archivedAt:f.archivedAt,kind:"ok"};const m=await se(a,d,s,e.signal);return m.kind==="missing"?W(a,d,{archived:!1,missing:!0},n):m.kind==="ok"&&W(a,d,{archived:m.archived===!0,archivedAt:m.archivedAt},n),m})(),o.set(l,u)),u};return(await g(r,c,async({name:a,version:d})=>{if(t.has(a))return;const l=await b(a,{workspaceRoot:e.workspaceRoot});if(l===void 0)return;const u=l.versions[d]??l.versions[ie(Object.keys(l.versions),l["dist-tags"]?.latest)??""];if(u===void 0)return;const f=ne(u.repository?.url);if(f===void 0)return;const m=await i(f.owner,f.repo);if(m.kind!=="transient-error"){if(m.kind==="missing")return{kind:"missing-repo",owner:f.owner,packageName:a,repo:f.repo};if(m.archived===!0)return{...m.archivedAt===void 0?{}:{archivedAt:m.archivedAt},kind:"archived",owner:f.owner,packageName:a,repo:f.repo}}})).filter(a=>a!==void 0)},oe={dormantErrorDays:274,dormantWarnDays:183,newPublisherWindowDays:21,recentVersionErrorDays:7,recentVersionWarnDays:30},ae=1440*60*1e3,U=(r,e)=>(r-e)/ae,R=r=>{if(r!==void 0)return r.email??r.name},ce=(r,e,t,n,s)=>{const c=r.time?.[t];if(c===void 0)return;const o=new Date(c).getTime();if(!Number.isFinite(o))return;const i=U(n,o);if(i<s.recentVersionErrorDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (error threshold: ${String(s.recentVersionErrorDays)})`,packageName:e,severity:"error",version:t};if(i<s.recentVersionWarnDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (warn threshold: ${String(s.recentVersionWarnDays)})`,packageName:e,severity:"warning",version:t}},de=(r,e,t,n,s)=>{const c=r.versions[t],o=R(c?._npmUser);if(o===void 0)return;const i=Object.keys(r.versions).filter(u=>v.valid(u)!==null).filter(u=>v.lt(u,t));if(i.length===0||i.some(u=>R(r.versions[u]?._npmUser)===o))return;const a=r.time?.[i[0]??""];if(a===void 0)return;const d=new Date(a).getTime();if(!Number.isFinite(d))return;const l=U(n,d);if(!(l<=s.newPublisherWindowDays))return{kind:"new-publisher",message:`first publish by ${o} on a ${l.toFixed(0)}-day-old package`,packageName:e,severity:"error",version:t}},le=(r,e,t,n,s)=>{const c=r.versions[t],o=R(c?._npmUser);if(o===void 0)return;const i=[];for(const[l,u]of Object.entries(r.versions)){if(l===t||R(u._npmUser)!==o)continue;const f=r.time?.[l];if(f===void 0)continue;const m=new Date(f).getTime();Number.isFinite(m)&&i.push(m)}if(i.length===0)return;const a=Math.max(...i),d=U(n,a);if(d>=s.dormantErrorDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (error threshold: ${String(s.dormantErrorDays)})`,packageName:e,severity:"error",version:t};if(d>=s.dormantWarnDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (warn threshold: ${String(s.dormantWarnDays)})`,packageName:e,severity:"warning",version:t}},Ze=async(r,e={})=>{if(p("author"))return[];const t=new Set(e.allowlist),n={...oe,...e.thresholds},s=e.now??(()=>Date.now()),c=e.concurrency??w;return(await g(r,c,async({name:o,version:i})=>{if(t.has(o))return[];const a=await b(o,{cacheTtlMs:e.cacheTtlMs,signal:e.signal,workspaceRoot:e.workspaceRoot});if(a===void 0)return[];const d=s(),l=[],u=ce(a,o,i,d,n);u!==void 0&&l.push(u);const f=de(a,o,i,d,n);f!==void 0&&l.push(f);const m=le(a,o,i,d,n);return m!==void 0&&l.push(m),l})).flat()},ue=1440*60*1e3,fe=15e3,me=20,he=1e4,ve="https://api.npmjs.org/downloads/point/last-month",J=()=>$(x(),"downloads"),q=r=>$(J(),`${encodeURIComponent(r)}.json`),pe=r=>{const e=q(r);if(_(e))try{const t=O(e);if(Date.now()-t.createdAt>t.ttlMs){k(e,{force:!0});return}return t.downloads}catch{k(e,{force:!0});return}},ge=(r,e,t)=>{j(J());const n={createdAt:Date.now(),downloads:e,observedAt:new Date().toISOString(),ttlMs:t};E(q(r),JSON.stringify(n),"utf8")},we=async(r,e)=>{const t=`${ve}/${encodeURIComponent(r)}`,n=new AbortController,s=setTimeout(()=>{n.abort()},fe),c=()=>{n.abort()};e?.addEventListener("abort",c,{once:!0});try{const o=await fetch(t,{signal:n.signal});if(o.status===404)return{kind:"no-data"};if(!o.ok)return{kind:"error"};const i=await o.json();return typeof i.downloads=="number"?{downloads:i.downloads,kind:"ok"}:{kind:"no-data"}}catch{return{kind:"error"}}finally{clearTimeout(s),e?.removeEventListener("abort",c)}},er=async(r,e={})=>{if(p("downloads"))return[];const t=new Set(e.allowlist),n=e.errorThreshold??me,s=e.warnThreshold??he,c=e.cacheTtlMs??ue,o=e.concurrency??w;return(await g(r,o,async i=>{if(t.has(i))return;let a=pe(i);if(a===void 0){const d=await we(i,e.signal);if(d.kind==="no-data"||d.kind==="error")return{downloadsLastMonth:void 0,kind:"no-data",packageName:i,severity:"warning"};a=d.downloads??0,ge(i,a,c)}if(a<n)return{downloadsLastMonth:a,kind:"below-error",packageName:i,severity:"error"};if(a<s)return{downloadsLastMonth:a,kind:"below-warning",packageName:i,severity:"warning"}})).filter(i=>i!==void 0)},ye=1440*60*1e3,ke=4e3,$e=["1.1.1.1","8.8.8.8"],z=()=>$(x(),"expired-domains"),G=r=>{const e=Y("sha256").update(r).digest("hex").slice(0,12);return $(z(),`${e}.json`)},be=r=>{const e=G(r);if(_(e))try{const t=O(e);if(Date.now()-t.createdAt>t.ttlMs){k(e,{force:!0});return}return t}catch{k(e,{force:!0});return}},Me=(r,e,t)=>{j(z());const n={createdAt:Date.now(),outcome:e,ttlMs:t};E(G(r),JSON.stringify(n),"utf8")},De=r=>{if(typeof r!="string")return;const e=r.lastIndexOf("@");if(e===-1||e===r.length-1)return;const t=r.slice(e+1).trim().toLowerCase();return t===""?void 0:t},Ae=(r,e)=>{const t=[];e!==void 0&&t.push(e);for(const n of r??[])t.push(n);return t},Re=async(r,e)=>{let t;try{return await Promise.race([r,new Promise((n,s)=>{t=setTimeout(()=>{s(new Error("ETIMEDOUT"))},e)})])}finally{t!==void 0&&clearTimeout(t)}},Ne=r=>{if(r===null||typeof r!="object")return!1;const{code:e}=r;return e==="ENOTFOUND"||e==="ENODATA"||e==="NXDOMAIN"},Se=async(r,e,t)=>{try{const n=await Re(r.resolveNs(e),t);return Array.isArray(n)&&n.length>0?{kind:"ok"}:{kind:"expired"}}catch(n){return Ne(n)?{kind:"expired"}:{kind:"transient-error"}}},Te=(r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),rr=async(r,e={})=>{if(p("expiredDomains"))return[];const t=new Set(e.allowlist),n=new Set((e.allowDomains??[]).map(u=>u.toLowerCase())),s=e.cacheTtlMs??ye,c=e.perDomainTimeoutMs??ke,o=e.dnsServers??$e,i=e.concurrency??w,a=e.createResolver===void 0?new Q:e.createResolver();typeof a.setServers=="function"&&a.setServers(o);const d=new Map,l=async u=>{let f=d.get(u);return f===void 0&&(f=(async()=>{const m=be(u);if(m!==void 0)return{kind:m.outcome==="ok"?"ok":"expired"};const h=await Se(a,u,c);return h.kind!=="transient-error"&&Me(u,h.kind,s),h})(),d.set(u,f)),f};return(await g(r,i,async({name:u,version:f})=>{if(t.has(u))return[];const m=await b(u,{workspaceRoot:e.workspaceRoot});if(m===void 0)return[];const h=m.versions[f]??m.versions[Te(Object.keys(m.versions),m["dist-tags"]?.latest)??""];if(h===void 0)return[];const N=Ae(h.maintainers,h._npmUser),C=new Set,S=[];for(const D of N){const y=De(D.email);if(y===void 0||n.has(y))continue;const F=`${y}:${D.email??""}`;if(C.has(F))continue;C.add(F);const L=await l(y);L.kind==="expired"?S.push({domain:y,kind:"expired",maintainer:D.email??"",packageName:u,severity:"error"}):L.kind==="transient-error"&&S.push({domain:y,kind:"unresolved",maintainer:D.email??"",packageName:u,severity:"warning"})}return S})).flat()},Ee=["readme","license","repo"],_e=["ERROR: No README data found!","# Security holding package"],je=r=>{const e=r.trim();return e===""?!0:_e.some(t=>e.startsWith(t))},xe=(r,e)=>{if(typeof e.readme=="string")return e.readme;if(typeof r.readme=="string")return r.readme},Oe=(r,e)=>{const t=xe(r,e);if(t===void 0)return"missing-readme";if(je(t))return"placeholder-readme"},Ue=r=>{const{license:e}=r;return e===void 0?"missing-license":typeof e=="string"?e.trim()===""?"missing-license":void 0:typeof e.type=="string"&&e.type.trim()!==""?void 0:"missing-license"},Ce=r=>{const{repository:e}=r;if(e===void 0)return"missing-repo";const t=typeof e.url=="string"?e.url.trim():"";if(t==="")return"missing-repo";let n=t.replace(/^git\+/,"");const s=/^git@([^:]+):(.+?)(?:\.git)?$/.exec(n);return s&&(n=`https://${s[1]}/${s[2]}`),URL.canParse(n)?void 0:"invalid-repo-url"},Fe=r=>{const e=r["dist-tags"]?.latest;return e!==void 0&&Object.hasOwn(r.versions,e)?e:Object.keys(r.versions).at(-1)},tr=async(r,e={})=>{if(p("metadata"))return[];const t=new Set(e.allowlist),n=new Set(e.checks??Ee),s=e.concurrency??w;return(await g(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await b(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o]??i.versions[Fe(i)??""];if(a===void 0||a.private===!0)return;const d=[];if(n.has("readme")){const l=Oe(i,a);l!==void 0&&d.push(l)}if(n.has("license")){const l=Ue(a);l!==void 0&&d.push(l)}if(n.has("repo")){const l=Ce(a);l!==void 0&&d.push(l)}if(d.length!==0)return{issues:d,packageName:c,version:o}})).filter(c=>c!==void 0)},I=(r,e)=>r===void 0?{}:typeof r=="string"?{[e.startsWith("@")?e.split("/").at(1)??e:e]:r}:{...r},Le=(r,e)=>v.valid(e)?Object.keys(r.versions).filter(t=>v.valid(t)!==null&&v.lt(t,e)).sort((t,n)=>v.lt(t,n)?1:-1)[0]:void 0,nr=async(r,e={})=>{if(p("newBin"))return[];const t=new Set(e.allowlist),n=new Set(e.allowBins),s=e.concurrency??w;return(await g(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await b(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o];if(a===void 0)return;const d=Le(i,o);if(d===void 0)return;const l=i.versions[d];if(l===void 0)return;const u=I(a.bin,c),f=I(l.bin,c),m=Object.entries(u).filter(([h])=>!(h in f)).filter(([h])=>!n.has(h)).map(([h,N])=>({command:N,name:h}));if(m.length!==0)return{fromVersion:d,newBins:m,packageName:c,toVersion:o}})).filter(c=>c!==void 0)},Ve=["preinstall","install","postinstall"],P=(r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,We=(r,e)=>{if(v.valid(e)!==null)return Object.keys(r.versions).filter(t=>v.valid(t)!==null&&v.prerelease(t)===null&&v.lt(t,e)).sort((t,n)=>v.lt(t,n)?1:-1)[0]},Ie=(r,e)=>{const t=r??{},n=e??{},s=[];for(const c of Ve){const o=t[c];if(o===void 0||o==="")continue;const i=n[c];i===void 0||i===""?s.push({command:o,hook:c,kind:"introduced"}):i!==o&&s.push({command:o,hook:c,kind:"changed"})}return s},sr=async(r,e={})=>{if(p("s1ngularity"))return[];const t=new Set(e.allowlist),n=e.concurrency??w;return(await g(r,n,async({name:s,version:c})=>{if(t.has(s))return;const o=await b(s,{workspaceRoot:e.workspaceRoot});if(o?.versions[c]===void 0)return;const i=We(o,c);if(i===void 0||!P(o,i)||P(o,c))return;const a=Ie(o.versions[c]?.scripts,o.versions[i]?.scripts);if(a.length!==0)return{hookChanges:a,packageName:s,priorVersion:i,trustSignal:"provenance-dropped",version:c}})).filter(s=>s!==void 0)};export{Ke as M,sr as a,nr as b,tr as c,er as d,rr as e,Qe as f,Ye as g,Xe as h,Ze as r};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as _}from"node:module";import{E as f,s as y,I as $,V as k}from"./Table-CcVkyULl-B_ef6zfS.js";import{a4 as r,a5 as l,g as a,$ as T,k as j,j as v,a6 as u}from"../packem_chunks/bin.js";import{o as C}from"./spinner-BXSl864p.js";import{D as x,W as S,T as I,C as R}from"./symbols-DPTlrJ3B.js";const B=_(import.meta.url),D=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const b=({rows:i})=>r.jsx(l,{flexDirection:"column",children:i.map(t=>{let s;switch(t.status){case"error":{s=r.jsx(a,{color:"red",children:R});break}case"ok":{s=r.jsx(a,{color:"green",children:I});break}case"running":{s=r.jsx(a,{color:"white",children:r.jsx(C,{type:"dots"})});break}case"warn":{s=r.jsx(a,{color:"yellow",children:S});break}default:{s=r.jsx(a,{dimColor:!0,children:x});break}}return r.jsxs(l,{children:[r.jsx(l,{width:3,children:s}),r.jsx(l,{flexGrow:1,children:r.jsx(a,{children:t.label})}),t.summary?r.jsx(l,{children:r.jsxs(a,{dimColor:!0,children:[x," ",t.summary]})}):null]},t.id)})}),E={error:k(u.failure),ok:$(u.success),pending:f(u.dash),skip:f(u.dash),warn:y(u.warning)},M=(i,t,s)=>{const p=s?`${i} ${f(`— ${s}`)}`:i;return` ${E[t]} ${p}
|
|
2
|
+
`},G=(i,t={})=>{const s=t.stream??process.stderr,p=typeof s.isTTY=="boolean"&&s.isTTY&&!v,w=t.live??p,o=new Map;for(const e of i)o.set(e.id,{id:e.id,label:e.label,status:"pending"});if(!w||i.length===0)return{finish:(e,n,m)=>{const c=o.get(e);c&&(o.set(e,{...c,status:n,summary:m}),s.write(M(c.label,n,m)))},start:e=>{const n=o.get(e);n&&o.set(e,{...n,status:"running"})},stop:()=>{}};const g=()=>i.map(e=>o.get(e.id));let d=T(j.createElement(b,{rows:g()}),{interactive:!0,patchConsole:!1});const h=()=>{d?.rerender(j.createElement(b,{rows:g()}))};return{finish:(e,n,m)=>{const c=o.get(e);c&&(o.set(e,{...c,status:n,summary:m}),h())},start:e=>{const n=o.get(e);n&&(o.set(e,{...n,status:"running"}),h())},stop:()=>{d&&(h(),d.unmount(),d=void 0)}}};export{G as s};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{createRequire as y}from"node:module";import{y as v}from"./index-BDmTbWX1.js";const h=y(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,w=t=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[r,e]=d.versions.node.split(".").map(Number);if(r>22||r===22&&e>=3||r===20&&e>=16)return d.getBuiltinModule(t)}return h(t)},{createInterface:k}=w("node:readline"),_=/^#([\w\-/]+):(.+)$/,$=/^([@\w\-/]+):(.+)$/,b=t=>{if(t==="")return;if(t.startsWith(":"))return{kind:"all",target:t.slice(1)};if(t.startsWith("~:"))return{kind:"closest",target:t.slice(2)};const r=_.exec(t);if(r?.[1]&&r[2])return{kind:"tag",tag:r[1],target:r[2]};const e=$.exec(t);return e?.[1]&&e[2]&&(e[1].startsWith("@")||e[1].includes("/")||e[1].includes("-"))?{kind:"project",projects:[e[1]],target:e[2]}:{kind:"all",target:t}},P=async(t,r,e,a)=>{const s=b(t);if(!s)throw new Error(`Invalid target selector: "${t}"`);const c=Object.keys(r.projects);if(s.kind==="all")return{projects:c,target:s.target};if(s.kind==="project")return{projects:s.projects??[],target:s.target};if(s.kind==="tag"){const o=s.tag;return{projects:c.filter(i=>r.projects[i]?.tags?.includes(o)??!1),target:s.target}}const n=v(a,e)||".";let p,l=-1;for(const[o,i]of Object.entries(r.projects)){const u=i.root;u&&(n===u||n.startsWith(`${u}/`))&&u.length>l&&(l=u.length,p=o)}if(!p){if(process.stdout.isTTY){const o=k({input:process.stdin,output:process.stderr}),i=Object.keys(r.projects).sort();process.stderr.write(`No project found at ${n}. Pick one:
|
|
2
|
+
`);for(const[g,m]of i.entries())process.stderr.write(` ${String(g+1)}) ${m}
|
|
3
|
+
`);const u=await new Promise(g=>{o.question("> ",g)});o.close();const f=Number.parseInt(u,10)-1;if(f>=0&&f<i.length)return{projects:[i[f]],target:s.target}}throw new Error(`No project found at or above ${n} for selector "${t}".`)}return{projects:[p],target:s.target}},T=/^(\w+)\s*(!?=)\s*(.+)$/,q=t=>{const r=t.trim();if(r==="")return;const e=r.split("&&").map(o=>o.trim()),a=r.split("||").map(o=>o.trim()),s=e.length>1,c=a.length>1;if(s&&c)throw new Error("Query language does not support mixed && / || — split into multiple --query flags or simplify.");const n=c?a:e,p=c?"||":"&&",l=[];for(const o of n){const i=T.exec(o);if(!i)throw new Error(`Invalid query clause: "${o}". Expected <field>=<value> or <field>!=<value>.`);const[,u,f,g]=i;l.push({field:u,op:f==="!="?"!=":"=",value:g.trim().replaceAll(/^["']|["']$/g,"")})}return{clauses:l,op:p}},j=(t,r,e)=>{const{field:a,op:s,value:c}=t,n=l=>{const o=l===c;return s==="="?o:!o},p=l=>{const o=(l??[]).includes(c);return s==="="?o:!o};switch(a){case"id":case"project":return n(r);case"language":return n(e.language);case"layer":return n(e.layer);case"projectType":case"type":return n(e.projectType);case"stack":return n(e.stack);case"tag":case"tags":return p(e.tags);default:return!1}},I=(t,r,e)=>{if(!e||e.trim()==="")return t;const a=q(e);return a?t.filter(s=>{const c=r.projects[s];return c?a.op==="&&"?a.clauses.every(n=>j(n,s,c)):a.clauses.some(n=>j(n,s,c)):!1}):t};export{I as f,b as p,P as r};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as h}from"node:module";import{m as N,g as _,D as b}from"./provenance-DMuEftgc.js";import{i as B}from"../packem_chunks/bin.js";import{f as P}from"./registry-keys-Bf2zzlcZ.js";const w=h(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,$=i=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[e,t]=g.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return g.getBuiltinModule(i)}return w(i)},{createPublicKey:x,createVerify:M}=$("node:crypto"),E=i=>{const e=["-----BEGIN PUBLIC KEY-----"],t=i.replaceAll(/\s+/g,"");for(let a=0;a<t.length;a+=64)e.push(t.slice(a,a+64));return e.push("-----END PUBLIC KEY-----"),e.join(`
|
|
2
|
+
`)},R=({keyBase64:i,message:e,signatureBase64:t})=>{try{const a=x({format:"pem",key:E(i)}),o=M("SHA256");return o.update(e),o.end(),o.verify(a,Buffer.from(t,"base64"))}catch{return!1}},j=(i,e)=>{if(i.expires===void 0||i.expires==="")return!1;const t=Date.parse(i.expires);return Number.isNaN(t)?!1:t<=e},C=(i,e,t)=>`${i}@${e}:${t}`,A=(i,e)=>e!==void 0&&i.includes(e)?e:i.at(-1),T=async(i,e={})=>{if(B("signatures"))return[];const t=new Set(e.allowlist),a=e.treatExpiredAs??"warning",o=e.concurrency??b,l=await P({keysUrl:e.keysUrl,signal:e.signal,ttlMs:e.keysTtlMs});if(l===void 0)return i.filter(({name:s})=>!t.has(s)).map(({name:s,version:r})=>({code:"fetch-failed",message:"Could not fetch registry signing keys.",packageName:s,severity:"warning",version:r}));const k=new Map;for(const s of l.keys)k.set(s.keyid,s);const m=Date.now();return(await N(i,o,async({name:s,version:r})=>{if(t.has(s))return[];const c=await _(s,{workspaceRoot:e.workspaceRoot});if(c===void 0)return[];const y=c.versions[r]??c.versions[A(Object.keys(c.versions),c["dist-tags"]?.latest)??""];if(y===void 0)return[];const f=y.dist?.signatures,p=y.dist?.integrity;if(f===void 0||f.length===0)return[{code:"missing-signature",message:`Package ${s}@${r} has no dist.signatures from the registry.`,packageName:s,severity:"warning",version:r}];if(typeof p!="string"||p==="")return[{code:"missing-signature",message:`Package ${s}@${r} has signatures but no dist.integrity to verify against.`,packageName:s,severity:"warning",version:r}];const v=C(s,r,p),u=[];for(const n of f){const d=k.get(n.keyid);if(d===void 0){u.push({code:"unknown-keyid",keyid:n.keyid,message:`Package ${s}@${r} was signed with an unrecognized keyid (${n.keyid}).`,packageName:s,severity:"error",version:r});continue}if(j(d,m)){u.push({code:"expired-key",keyid:n.keyid,message:`Package ${s}@${r} was signed with an expired key (${n.keyid}, expired ${d.expires??"unknown"}).`,packageName:s,severity:a,version:r});continue}R({keyBase64:d.key,message:v,signatureBase64:n.sig})||u.push({code:"invalid-signature",keyid:n.keyid,message:`Package ${s}@${r} signature did not verify against ${n.keyid}.`,packageName:s,severity:"error",version:r})}return u})).flat()};export{T as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as r,a7 as C,a4 as S,g as T}from"../packem_chunks/bin.js";import{V as y}from"./MultiSpinner-B9U0-aE3-B-gIXhFk.js";const A=100,g=2147483647,m={delta:0,frame:0,time:0};function j(s){const{interval:i=A,isActive:e=!0}=s??{},t=k(i),{renderThrottleMs:c,subscribe:v}=r.useContext(C),[n,E]=r.useState(0),[I,h]=r.useState(m),o=r.useRef(0),f=r.useRef(0),x=r.useRef({isActive:e,resetKey:n,safeInterval:t}),l=x.current,K=e&&(t!==l.safeInterval||!l.isActive||n!==l.resetKey),b=r.useCallback(()=>{E(u=>u+1)},[]);return r.useLayoutEffect(()=>{if(!e)return;h(m);let u=0;const{startTime:d,unsubscribe:M}=v(a=>{if(c>0&&a<o.current)return;const p=a-u,R=a-f.current;f.current=a,o.current=a+c,h({delta:R,frame:Math.floor(p/t),time:p})},t);return u=d,f.current=d,o.current=u+c,M},[t,e,v,c,n]),r.useLayoutEffect(()=>{x.current={isActive:e,resetKey:n,safeInterval:t}},[e,t,n]),K?{...m,reset:b}:{...I,reset:b}}function k(s){return Number.isFinite(s)?Math.min(g,Math.max(1,s)):A}function D({type:s="dots"}){const i=y(s)??y("dots"),e=i?.frames??[" "],{frame:t}=j({interval:i?.interval??80});return S.jsx(T,{children:e[t%e.length]})}export{D as o};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as p}from"node:module";const m=p(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=r=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[t,e]=u.versions.node.split(".").map(Number);if(t>22||t===22&&e>=3||t===20&&e>=16)return u.getBuiltinModule(r)}return m(r)},{spawnSync:f}=h("node:child_process"),l=64*1024*1024,n=(r,t)=>{const e=f("git",r,{cwd:t,encoding:"utf8",maxBuffer:l});if(e.error)throw new Error(`Failed to spawn git ${r.join(" ")}: ${e.error.message}`,{cause:e.error});return{status:typeof e.status=="number"?e.status:1,stderr:typeof e.stderr=="string"?e.stderr:"",stdout:typeof e.stdout=="string"?e.stdout:""}},g=(r,t)=>{const e=(t.stderr||t.stdout).trim();return`git ${r.join(" ")} failed (exit ${t.status})${e?`:
|
|
2
|
+
${e}`:""}`},o=(r,t,e=n)=>{const s=e(r,t);if(s.status!==0)throw new Error(g(r,s));return s.stdout.trim()},_=(r,t=n)=>{const e=t(["rev-parse","--is-inside-work-tree"],r);if(e.status!==0||e.stdout.trim()!=="true")throw new Error(`Not a git repository: ${r}. Run inside a git working tree.`)},b=(r,t=n)=>o(["status","--porcelain"],r,t).length===0,$=(r,t=n)=>{if(!b(r,t))throw new Error("Working tree has uncommitted changes. Commit or stash them before running this command.")},y=({annotate:r,branch:t,cwd:e,prefix:s,runner:i=n})=>{const a=["subtree","split",`--prefix=${s}`];return r&&a.push(`--annotate=${r}`),a.push("-b",t),o(a,e,i),o(["rev-parse",t],e,i)},j=({cwd:r,message:t,prefix:e,ref:s,repo:i,runner:a=n,squash:d})=>{const c=["subtree","add",`--prefix=${e}`];d&&c.push("--squash"),t&&c.push("-m",t),c.push(i,s),o(c,r,a)},v=({branch:r,runner:t=n,source:e,sourceBranch:s,target:i})=>{o(["init","-b",r],i,t),o(["pull",e,s],i,t)},x=(r,t,e=n)=>{o(["branch","-D",r],t,e)},B=(r,t,e,s=n)=>{o(["remote","add",r,t],e,s)},R=(r,t,e,s=n)=>{o(["push","-u",r,t],e,s)},N=(r,t,e=n)=>{const s=o(["rev-list","--count",r],t,e),i=Number.parseInt(s,10);return Number.isNaN(i)?0:i},k=(r,t,e,s=n)=>{o(["rm","-r",r],e,s),o(["commit","-m",t],e,s)};export{_ as a,$ as b,B as c,N as d,x as e,j as f,v as i,R as p,k as r,y as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=()=>process.platform==="win32"?!!process.env.WT_SESSION||process.env.TERM_PROGRAM==="vscode"||process.env.TERM==="xterm-256color":process.env.TERM!=="linux",s=o(),e=s?"✓":"√",c=s?"✖":"×",n=s?"…":"...",r=s?"—":"-",S=s?"⚠":"!";export{c as C,r as D,n as E,e as T,S as W};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a4 as u,t as n,ae as K,a5 as y,g as A}from"../packem_chunks/bin.js";function G({children:o}){return u.jsx(u.Fragment,{children:o})}const L=/^\d$/u,O=o=>o!=null&&typeof o=="object"&&"props"in o&&"name"in o.props,Y=o=>{const c=[];for(const t of n.Children.toArray(o))O(t)&&c.push(t);return c},V=(o,c)=>o.some(t=>c[t]),Z=(o,c,t)=>o?c?{backgroundColor:t?.activeTab?.backgroundColor??"green",color:t?.activeTab?.color??"black"}:{backgroundColor:"gray",color:"black"}:{backgroundColor:void 0,color:void 0};function P({children:o,colors:c,defaultValue:t,flexDirection:b="row",isFocused:x,keyMap:a,onChange:M,showIndex:q=!0,value:k,width:C}){const l=Y(o),s=l.length,f=n.useRef(l);f.current=l;const i=b==="column"||b==="column-reverse",g=k!==void 0,[z,B]=n.useState(()=>{const r=k??t;if(r==null||s===0)return 0;const e=l.findIndex(d=>d.props.name===r);return e===-1?0:e}),h=g?Math.max(0,l.findIndex(r=>r.props.name===k)):z,H=n.useCallback(()=>{},[]),p=g?H:B,m=n.useRef(M);m.current=M,n.useEffect(()=>{if(g)return;const r=f.current[h];r&&m.current(r.props.name,r)},[]);const R=n.useMemo(()=>a?.previous??[i?"upArrow":"leftArrow"],[a?.previous,i]),E=n.useMemo(()=>a?.next??[i?"downArrow":"rightArrow"],[a?.next,i]),I=a?.useNumbers??!0,D=a?.useTab??!0,v=n.useRef(h);v.current=h;const F=n.useCallback(r=>{p(r);const e=f.current[r];e&&m.current(e.props.name,e)},[p]),w=n.useCallback(()=>{const r=(v.current+1)%s;p(r);const e=f.current[r];e&&m.current(e.props.name,e)},[s,p]),j=n.useCallback(()=>{const r=(v.current-1+s)%s;p(r);const e=f.current[r];e&&m.current(e.props.name,e)},[s,p]);K(n.useCallback((r,e)=>{if(V(R,e)){j();return}if(V(E,e)){w();return}if(e.tab&&D&&x==null){e.shift?j():w();return}if(I&&e.meta&&L.test(r)){const d=r==="0"?9:Number.parseInt(r,10)-1;d<s&&F(d)}},[R,E,D,I,x,j,w,s,F]),{isActive:x!==!1});const N=typeof C=="number"?C:6,J=n.useMemo(()=>i?"─".repeat(N):" | ",[i,N]);return u.jsx(y,{flexDirection:b,width:C,children:l.map((r,e)=>{const{name:d}=r.props,S=Z(h===e,x!==!1,c);let T=null;return q&&(T=u.jsxs(A,{color:"grey",children:[e+1,"."," "]})),u.jsxs(y,{flexDirection:b,children:[e!==0&&u.jsx(A,{color:"dim",children:J}),u.jsxs(y,{children:[T,u.jsx(A,{backgroundColor:S.backgroundColor,color:S.color,children:r})]})]},d)})})}export{P as F,G as a};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{createRequire as N}from"node:module";import{m,f as u,o as I,v as y}from"./index-BDmTbWX1.js";import{a as W}from"../packem_chunks/config.js";const C=N(import.meta.url),k=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,w=o=>{if(typeof k<"u"&&k.versions&&k.versions.node){const[e,n]=k.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return k.getBuiltinModule(o)}return C(o)},{execFileSync:M}=w("node:child_process"),{randomBytes:F}=w("node:crypto"),{writeFileSync:D,renameSync:B,unlinkSync:U}=w("node:fs"),{delimiter:q}=w("node:path"),J=["proto","mise","fnm","volta","asdf","nvm","corepack"],R={asdf:["bun","deno","go","node","npm","pnpm","python","ruby","rust","yarn"],corepack:["npm","pnpm","yarn"],fnm:["node"],mise:["aube","bun","deno","go","node","npm","pnpm","python","ruby","rust","yarn"],nvm:["node"],proto:["bun","deno","go","node","npm","pnpm","python","ruby","rust","yarn"],volta:["node","npm","pnpm","yarn"]},H=["proto","mise","fnm","volta","asdf","nvm","corepack"],_={asdf:[".tool-versions"],corepack:[],fnm:[".nvmrc",".node-version"],mise:[".mise.toml",".config/mise.toml","mise.toml"],nvm:[".nvmrc"],proto:[".prototools"],volta:[]},$=new Map,h=o=>{const e=$.get(o);if(e!==void 0||$.has(o))return e;const n=process.env.PATH;if(!n){$.set(o,void 0);return}const t=process.platform==="win32"?["",...(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";")]:[""];for(const r of n.split(q)){const i=r.replaceAll(/^["']|["']$/g,"").trim();if(i!=="")for(const l of t){const s=`${i}${I}${o}${l}`;if(u(s))return $.set(o,s),s}}$.set(o,void 0)},S=(o,e=["--version"])=>{try{const n=M(o,e,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3}),t=/\d+\.\d+(?:\.\d+)?/.exec(n);return t?t[0]:n.trim()||void 0}catch{return}},P=(o,e)=>{const n=m(o,"package.json");if(!u(n))return[];try{const t=W(n)[e];if(e==="volta"&&typeof t=="object"&&t!==null&&Object.keys(t).length>0)return["package.json"];if(e==="packageManager"&&typeof t=="string"&&t.length>0)return["package.json"]}catch{}return[]},z=(o,e)=>o==="volta"?P(e,"volta"):o==="corepack"?P(e,"packageManager"):_[o].filter(n=>u(m(e,n))),j=new Map,Z=()=>{j.clear(),$.clear()},A=(o,e)=>{{const i=j.get(o);if(i)return i}const n=[],t=!!h("pnpm")||!!h("yarn");for(const i of H){const l=i==="nvm"?void 0:h(i),s=i==="nvm"&&!!process.env.NVM_DIR,c=z(i,o),a=!!l||s;i==="corepack"&&!a&&(!(c.length>0)||t)||!a&&c.length===0||n.push({binPath:l,configFiles:c,installed:a,name:i,version:l?S(l):void 0})}const r=Object.freeze(n);return j.set(o,r),r},ve=(o,e,n)=>{const t=A(o);return e?.preferredManager&&e.preferredManager!=="none"?t.find(r=>r.name===e.preferredManager)??{configFiles:[],installed:!1,name:e.preferredManager}:t.find(r=>r.installed&&r.configFiles.length>0)??t.find(r=>r.installed)??t.find(r=>r.configFiles.length>0)??{configFiles:[],installed:!1,name:"none"}},X=(o,e)=>{for(const n of e){const t=m(o,n);if(u(t))try{const r=y(t).trim();if(r!=="")return{name:n,value:r.replace(/^v/,"")}}catch{}}},G=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,L=o=>{const e=m(o,".prototools");if(!u(e))return[];const n=y(e),t=[];let r=!1;for(const i of n.split(/\r?\n/)){const l=i.trim();if(l===""||l.startsWith("#"))continue;if(l.startsWith("[")){r=!0;continue}if(r)continue;const s=G.exec(l);if(!s)continue;const[,c,a]=s,p=g(c);p&&t.push({source:".prototools",tool:p,version:a.trim()})}return t},V=/^\[tools\]\s*$/i,K=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,Y=o=>{for(const e of _.mise){const n=m(o,e);if(!u(n))continue;const t=[],r=y(n);let i=!1;for(const l of r.split(/\r?\n/)){const s=l.trim();if(s===""||s.startsWith("#"))continue;if(s.startsWith("[")){i=V.test(s);continue}if(!i)continue;const c=K.exec(s);if(!c)continue;const[,a,p]=c,v=g(a);v&&t.push({source:".mise.toml",tool:v,version:p.trim()})}if(t.length>0)return t}return[]},Q=o=>{const e=m(o,".tool-versions");if(!u(e))return[];const n=y(e),t=[];for(const r of n.split(/\r?\n/)){const i=r.trim();if(i===""||i.startsWith("#"))continue;const l=i.split(/\s+/);if(l.length<2)continue;const[s,...c]=l,a=g(s);a&&c[0]&&t.push({source:".tool-versions",tool:a,version:c[0]})}return t},g=o=>{switch(o.toLowerCase()){case"aube":return"aube";case"bun":return"bun";case"deno":return"deno";case"go":case"golang":return"go";case"node":case"nodejs":return"node";case"npm":return"npm";case"pnpm":return"pnpm";case"python":case"python3":return"python";case"ruby":return"ruby";case"rust":case"rustc":return"rust";case"yarn":return"yarn";default:return}},ee=o=>{const[e]=o.split("+",1),n=/^(pnpm|yarn|npm|bun)@(.+)$/.exec(e??"");if(!n)return;const t=g(n[1]);if(t)return{source:"packageManager",tool:t,version:n[2]}},oe=(o,e)=>{const n=new Map,t=s=>{n.set(s.tool,s)},r=m(o,"package.json");let i={};try{u(r)&&(i=W(r))}catch{}if(i.engines)for(const[s,c]of Object.entries(i.engines)){const a=g(s);a&&typeof c=="string"&&t({source:"engines",tool:a,version:c})}if(i.packageManager){const s=ee(i.packageManager);s&&t(s)}if(i.volta)for(const[s,c]of Object.entries(i.volta)){const a=g(s);a&&typeof c=="string"&&t({source:"volta",tool:a,version:c})}const l=X(o,[".nvmrc",".node-version"]);l&&t({source:l.name===".nvmrc"?".nvmrc":".node-version",tool:"node",version:l.value});for(const s of Q(o))t(s);for(const s of Y(o))t(s);for(const s of L(o))t(s);if(e?.tools)for(const[s,c]of Object.entries(e.tools)){const a=g(s);a&&typeof c=="string"&&t({source:"vis.config.ts",tool:a,version:c})}return[...n.values()]},T={aube:{args:["--version"],binaries:["aube"]},bun:{args:["--version"],binaries:["bun"]},deno:{args:["--version"],binaries:["deno"]},go:{args:["version"],binaries:["go"]},node:{args:["--version"],binaries:["node"]},npm:{args:["--version"],binaries:["npm"]},pnpm:{args:["--version"],binaries:["pnpm"]},python:{args:["--version"],binaries:["python","python3"]},ruby:{args:["--version"],binaries:["ruby"]},rust:{args:["--version"],binaries:["rustc"]},yarn:{args:["--version"],binaries:["yarn"]}},ne=o=>{const e=T[o];for(const n of e.binaries){const t=h(n);if(t)return S(t,e.args)}if(o==="node")return process.versions.node},te=(o,e)=>{const n=e.trim();if(n===""||n==="*"||n==="latest")return!0;if(/^\d[\d.]*$/.test(n))return o===n||o.startsWith(`${n}.`);const t=s=>s.split(/[.\-+]/).map(c=>Number.parseInt(c,10)||0),r=(s,c)=>{const a=t(s),p=t(c),v=Math.max(a.length,p.length);for(let f=0;f<v;f++){const b=a[f]??0,d=p[f]??0;if(b!==d)return b-d}return 0},i=s=>{for(const c of s)if(c.startsWith(">=")){if(r(o,c.slice(2).trim())<0)return!1}else if(c.startsWith("<=")){if(r(o,c.slice(2).trim())>0)return!1}else if(c.startsWith(">")){if(r(o,c.slice(1).trim())<=0)return!1}else if(c.startsWith("<")){if(r(o,c.slice(1).trim())>=0)return!1}else if(c.startsWith("^")||c.startsWith("~")){const a=c.slice(1).trim(),[p,v]=t(a),[f,b]=t(o);if(f!==p||c.startsWith("~")&&b!==v||r(o,a)<0)return!1}return!0},l=n.split("||").map(s=>s.trim().split(/\s+/).filter(Boolean)).filter(s=>s.length>0);return l.length===0?!0:l.some(s=>i(s))},re=(o,e)=>{switch(o){case".mise.toml":return["mise"];case".node-version":case".nvmrc":return["fnm","nvm","volta","proto","mise","asdf"];case".prototools":return["proto"];case".tool-versions":return["asdf","mise"];case"packageManager":return e==="pnpm"||e==="yarn"?["self-activate","volta","proto","mise","corepack"]:e==="npm"?["volta","proto","mise","asdf","corepack"]:e==="aube"?["mise"]:e==="bun"?["proto","mise","asdf"]:["volta","proto","mise"];case"volta":return["volta"];default:return["proto","mise","fnm","volta","asdf","nvm","corepack"]}},se=(o,e,n)=>{if(n?.preferredManager&&n.preferredManager!=="none"&&x(n.preferredManager,o.tool)){const r=e.find(i=>i.name===n.preferredManager);return r?{installed:r.installed,name:r.name}:{installed:!1,name:n.preferredManager,note:`${n.preferredManager} is the preferred manager but isn't on PATH`}}const t=re(o.source,o.tool);for(const r of t){if(r==="self-activate"){if((o.tool==="pnpm"||o.tool==="yarn")&&h(o.tool))return{installed:!0,name:"self-activate",note:`${o.tool} will activate ${o.version} from the packageManager field on next invocation`};continue}if(x(r,o.tool)&&e.find(i=>i.name===r)?.installed)return{installed:!0,name:r}}for(const r of t)if(!(r==="self-activate"||!x(r,o.tool)))return{installed:!1,name:r,note:`${r} can install ${o.tool} — run \`vis toolchain install\` after adding it to PATH`};return{installed:!1,name:"none",note:"No manager knows how to install this tool"}},x=(o,e)=>o==="none"?!1:o==="self-activate"?e==="pnpm"||e==="yarn":R[o].includes(e),ie=(o,e)=>{const n=A(o),t=oe(o,e).map(r=>{const i=ne(r.tool),l=i!==void 0&&te(i,r.version),s=se(r,n,e);return{actual:i,expected:r,manager:s,matches:l}});return{detected:n,tools:t}},ae=(o,e)=>{switch(o){case"asdf":return e?{args:["install",e.tool,e.version],bin:"asdf"}:void 0;case"corepack":return e?{args:["prepare",`${e.tool}@${e.version}`,"--activate"],bin:"corepack"}:{args:["prepare","--activate"],bin:"corepack",hint:"reads the packageManager field in package.json"};case"fnm":return e?.tool!=="node"?void 0:{args:["install",e.version],bin:"fnm"};case"mise":return e?{args:["install",`${e.tool}@${e.version}`],bin:"mise"}:void 0;case"none":return;case"nvm":return{args:[],bin:"nvm",hint:"nvm is a shell function — run `nvm install` / `nvm use` from your shell"};case"proto":return e?{args:["install",e.tool,e.version],bin:"proto"}:void 0;case"self-activate":return{args:[],bin:e?.tool??"pnpm",hint:`${e?.tool??"pnpm"} will self-activate on next invocation — no install needed`};case"volta":return e?{args:["install",`${e.tool}@${e.version}`],bin:"volta"}:{args:["install","node@lts"],bin:"volta",hint:"volta pins per-tool; specify <tool>@<version>"};default:{const n=o;throw new Error(`Unknown manager: ${n}`)}}},de=(o,e)=>{switch(o){case"asdf":return{args:["local",e.tool,e.version],bin:"asdf",configChange:{file:".tool-versions",hint:`Pins ${e.tool} ${e.version}`}};case"corepack":return e.tool!=="npm"&&e.tool!=="pnpm"&&e.tool!=="yarn"?void 0:{args:["use",`${e.tool}@${e.version}`],bin:"corepack",configChange:{file:"package.json",hint:`Writes packageManager: "${e.tool}@${e.version}"`}};case"fnm":return e.tool==="node"?{args:["use",e.version],bin:"fnm"}:void 0;case"mise":return{args:["use","--",`${e.tool}@${e.version}`],bin:"mise",configChange:{file:".mise.toml",hint:`Pins ${e.tool} ${e.version}`}};case"none":return;case"nvm":return e.tool==="node"?{args:[],bin:"nvm",configChange:{file:".nvmrc",hint:"Write version to .nvmrc manually (nvm doesn't persist)."}}:void 0;case"proto":return{args:["pin",e.tool,e.version],bin:"proto",configChange:{file:".prototools",hint:`Pins ${e.tool} ${e.version}`}};case"self-activate":return{args:[],bin:e.tool,configChange:{file:"package.json",hint:`Set packageManager: "${e.tool}@${e.version}" — ${e.tool} will self-activate on next invocation`}};case"volta":return{args:["pin",`${e.tool}@${e.version}`],bin:"volta",configChange:{file:"package.json",hint:`Writes volta.${e.tool}`}};default:{const n=o;throw new Error(`Unknown manager: ${n}`)}}},ge=o=>{for(const e of T[o].binaries){const n=h(e);if(n)return n}},he=(o,e)=>{const n=T[e].binaries;if(o.installed&&o.binPath&&(o.name==="proto"||o.name==="mise"||o.name==="asdf"||o.name==="volta"||o.name==="fnm"))for(const t of n)try{const r=M(o.binPath,["which",t],{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3}).trim();if(r)return r}catch{}for(const t of n){const r=h(t);if(r)return r}},O=(o,e)=>{const n=`${o}.${process.pid}.${F(6).toString("hex")}.tmp`;D(n,e);try{B(n,o)}catch(t){try{U(n)}catch{}throw t}},ce=(o,e)=>{if("packageManager"in o)return o.packageManager=e,o;const n={};let t=!1;for(const[r,i]of Object.entries(o))!t&&(r==="dependencies"||r==="devDependencies"||r==="peerDependencies"||r==="optionalDependencies")&&(n.packageManager=e,t=!0),n[r]=i;return t||(n.packageManager=e),n},be=(o,e)=>{if(e.tool!=="pnpm"&&e.tool!=="yarn"&&e.tool!=="npm"&&e.tool!=="bun")return;const n=m(o,"package.json");if(!u(n))throw new Error(`Cannot pin ${e.tool}: ${n} does not exist.`);const t=y(n),r=/\n([ \t]+)/.exec(t)?.[1]??" ";let i;try{i=JSON.parse(t)}catch(a){throw new Error(`${n} is not valid JSON — fix it before running \`vis toolchain use\`. Underlying error: ${a.message}`,{cause:a})}const l=`${e.tool}@${e.version}`,s=ce(i,l),c=t.endsWith(`
|
|
2
|
+
`)?`
|
|
3
|
+
`:"";return O(n,`${JSON.stringify(s,void 0,r)}${c}`),l},$e=(o,e)=>{const n=m(o,"package.json");if(!u(n))return;const t=y(n);let r;try{r=JSON.parse(t)}catch(s){throw new Error(`${n} is not valid JSON — fix it before running \`vis toolchain use\`. Underlying error: ${s.message}`,{cause:s})}if(r.engines?.[e.tool]===void 0||r.engines[e.tool]===e.version)return;r.engines[e.tool]=e.version;const i=/\n([ \t]+)/.exec(t)?.[1]??" ",l=t.endsWith(`
|
|
4
|
+
`)?`
|
|
5
|
+
`:"";return O(n,`${JSON.stringify(r,void 0,i)}${l}`),e.version},ye=o=>{const e=/^([a-z][\w-]*)@(.+)$/i.exec(o.trim());if(!e)return;const n=g(e[1]);if(n)return{source:"vis.config.ts",tool:n,version:e[2]}},le=async(o,e,n)=>{const t=ie(o,e),r=t.tools.filter(a=>!a.matches);if(r.length===0)return{attempted:[],failed:[],upToDate:!0};const i=t.detected.some(a=>a.installed);if(!(e?.autoInstall??i))return{attempted:[],failed:[],upToDate:!1};const l=[],s=[],c=new Map;for(const a of r){const p=c.get(a.manager.name);p?p.push(a):c.set(a.manager.name,[a])}for(const[a,p]of c){if(a==="self-activate"){for(const{expected:f}of p)n.info(`toolchain: ${f.tool} ${f.version} will self-activate on next ${f.tool} invocation`),l.push(f);continue}if(a==="none"){for(const{expected:f}of p)s.push({error:`no manager can install ${f.tool} — install one of ${J.join(", ")}`,spec:f});continue}if(!t.detected.find(f=>f.name===a)?.installed){for(const{expected:f}of p)s.push({error:`${a} is not on PATH`,spec:f});continue}const v=p.map(f=>({invocation:ae(a,f.expected),tool:f})).filter(f=>f.invocation!==void 0);for(const{invocation:f,tool:b}of v){const{expected:d}=b;if(f.bin==="nvm"&&f.args.length===0){n.warn(`toolchain: nvm requires a shell-side activation for ${d.tool} ${d.version}. Run \`nvm install\` / \`nvm use\` manually.`),s.push({error:"nvm requires shell-side activation",spec:d});continue}n.info(`toolchain: $ ${f.bin} ${f.args.join(" ")}`);try{M(f.bin,f.args,{cwd:o,stdio:"inherit"}),l.push(d),a==="fnm"&&fe(f.bin,n)}catch(E){s.push({error:E.message,spec:d});break}}}return Z(),{attempted:l,failed:s,upToDate:!1}},ke=async(o,e,n,t=!1)=>{if(t)return;const r=await le(o,e,n);for(const i of r.failed)n.warn(`toolchain: ${i.spec.tool} ${i.spec.version} — ${i.error}`)},fe=(o,e)=>{const n=process.platform==="win32"?"powershell":"bash";try{const t=M(o,["env","--shell",n],{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3});for(const r of t.split(/\r?\n/)){const i=r.trim();if(i==="")continue;const l=/^\$env:([A-Z_]\w*)\s*=\s*(.+)$/i.exec(i);if(l){const[,a,p]=l;process.env[a]=p.replaceAll(/^["']|["']$/g,"");continue}const s=/^set\s+"?([A-Z_]\w*)=(.*?)"?$/i.exec(i);if(s){const[,a,p]=s;process.env[a]=p;continue}const c=/^(?:export\s+)?([A-Z_]\w*)=(.+)$/i.exec(i);if(c){const[,a,p]=c;process.env[a]=p.replaceAll(/^["']|["']$/g,"")}}}catch(t){e.warn(`toolchain: could not activate fnm env (${t.message}). Subsequent tasks may use the previous Node version.`)}};export{J as S,ye as a,ae as b,se as c,de as d,he as e,A as f,ie as g,ge as h,ve as p,ke as r,$e as u,be as w};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as q}from"node:module";import{V as j,s as b}from"./Table-CcVkyULl-B_ef6zfS.js";import{m as M,f as T}from"./index-BDmTbWX1.js";import{g as A}from"./_commonjsHelpers-B5Y90VFO.js";import{i as g,p as c}from"../packem_chunks/bin.js";import{a as C}from"../packem_chunks/config.js";const $=q(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,z=e=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[s,r]=d.versions.node.split(".").map(Number);if(s>22||s===22&&r>=3||s===20&&r>=16)return d.getBuiltinModule(e)}return $(e)},{createInterface:_}=z("node:readline");var D=["aj","aju","av","avj","ejv","jav","jv"],O=["angula","angular-node","angularjs"],N=["auto-prefixer"],R=["aaxios","aios","axio","axioos","axios-node","axioss","axis","axiso","axois","axos","axxios"],S=["abel","babbel","babe","babel-js","babel-node","babl","bable","bbael","bebel"],B=["bcrpyt","bcrypt-node","brcypt","crypt","dcrypt"],F=["bcryptjs-node","dcryptjs"],P=["bunan","bunya","bunyan-node","buynan"],W=["cai","cha","chaijs","chal","chi","chia","hai"],E=["cahlk","calk","cchalk","ch4lk","cha1k","chaalk","chaik","chak","chakl","chalk-node","chalkk","challk","chhalk","chlak","chlk","halk","hcalk"],L=["cheero","cherio"],U=["c0lor","ccolor","clor","colo","coloor","color-js","colorjs","colorr","colr","coolor","coolr"],V=["ccolors","colors-node","colorss","colorz","colrs","coolors"],I=["c0mmander","ccommander","cmmander","cmomander","co-mmander","comamnder","comander","comm4nder","commaander","commader","commadner","commamder","command3r","commandder","commande","commandeer","commander-js","commanderr","commandr","commandre","commanedr","commaner","commannder","commender","commmander","commnader","commnder","coommander","ocmmander","ommander"],Y=["cor","corss","cos","cosr","cros","crs","ors"],G=["days"],H=["d3bug","dbeug","dbug","ddebug","debbug","debg","debgu","debu","debu9","debug-js","debug-node","debugg","debugjs","debuug","deebug","deubg","deug","ebug","edbug"],J=["dot-env","dotenv-node","dotenvjs","dotevn"],K=["3lectron","eectron","eelctron","eelectron","el3ctron","elcetron","elctron","elecctron","elecron","elecrton","electon","electorn","electr0n","electrn","electrno","electro","electrom","electron-node","electronn","electroon","electrron","electtron","eleectron","eletcron","eletron","ellectron","lectron","leectron"],Q=["asbuild","ebuild","esbuild-node","esbuildjs","ezbuild","sbuild"],X=["aslint","elint","eslint-js","eslint-node","eslit","ezlint","slint"],Z=["eexpress","epress","epxress","experss","expess","exppress","expreess","expres","express-node","expressjs","expresss","exprress","exprses","exprss","exress","exrpess","exxpress","xepress","xpress"],ee=["astify"],oe=["firebasejs"],se=["form1dable"],re=["glb","glo","glob-js","globjs","gob","golb","lob"],ae=["go","goot","gotjs","gott","gt","gto","ogt","ot","qot"],te=["helmetjs","helnet"],ne=["homo","hon","hoo","hoon","ohno","ono"],ce=["inquire","inquirer-js","nquirer"],ie=["iredis"],de=["ejst","est","jast","jes","jestjs","jestt","jet","jets","jst"],me=["imp","jim","jip","jmp"],le=["ji","jio","jo","joii","jol","oi","oji"],pe=["jdom","jsdm","jsdo","jsdom-js","jsdon","jsom","sdom"],ue=["jsonwebtoken-js","jsonwebtoken-node"],ve=["ka","kao","ko","koaa","koajs","koe","oa","oka"],he=["1odash","iodash","l0dash","ldash","ldoash","llodash","lo-dash","loadsh","loash","lobash","lod4sh","lodaash","lodah","lodahs","lodas","lodash-node","lodashh","lodassh","loddash","lodesh","lodsah","lodsh","loodash","odash","oldash"],je=["luca","luci","lucie"],be=["luon","luxo","luxon-js"],ke=["imcromatch","mciromatch","micormatch","micrmoatch","micro-match","microamtch","micromacth","micromathc","micromtach","mircomatch"],ge=["minimath"],fe=["mcha","mmocha","moca","moch","mocha-js","moha","nocha","ocha"],ye=["m0ment","mment","mmoent","mmoment","moemnt","moent","mom3nt","momeent","momemt","momen","momen7","momennt","moment-js","momentjs","momentt","momet","mometn","momment","momnet","momnt","monent","mooment","oment","omment"],xe=["mognoose","mogoose","mongoos","mongose","monqoose","moongoose"],we=["moran","organ"],qe=["muler","multer-js","muter"],$e=["mysql"],ze=["ext","mext","n3xt","naxt","net","netx","nex","next-js","next-node","nextjs","nxt"],_e=["node-mailer","nodemailer-js"],Me=["nodemo","nodemonjs","nodmeon"],Te=["oar","or","ora-node","ore","ra","roa"],Ae=["arcel","parce","parceljs"],Ce=["passport-js"],De=["phase","phaser-node"],Oe=["ino","pimo","pin","pino-node","pinojs","pio","pion"],Ne=["playright","playwright-js"],Re=["postcss-js","postcss-node","potscss"],Se=["pettier","pprettier","pretier","prettierjs","prettierr","prtetier"],Be=["prima","prism","prisma-js","prismajs","prizma"],Fe=["pupeteer"],Pe=["rada","rama","ramd","randa"],We=["eact","eract","r3act","raact","ract","raect","re4ct","reaact","reac","reac7","reacct","react-node","reactjs","reactt","reat","reatc","recat","rect","reeact","reect","rreact"],Ee=["erdis","radis","rdis","redi","redis-js","redis-node","rediss","rediz","reds","reis","rredis"],Le=["resen","rsend"],Ue=["ollup","rollup-js","rollup-node"],Ve=["ass","asss","sas","sass-node","sess","ssas","sss"],Ie=["emver","seemver","semver-node","semvre","senver","sever"],Ye=["sequelize-js","sequelize-node"],Ge=["harp","shap","shar","sharp-js","sharpjs"],He=["stipe","strip","stripe-node","tripe"],Je=["supabase-js"],Ke=["suelte","svelt3","svelte-js","sveltejs","velte"],Qe=["tailwindcss-js"],Xe=["auri","taui"],Ze=["hree","htree","thee","there","three-js","three-node","tree"],eo=["stx","sx","ts","tsxx","ttsx","tx","txs","tzx"],oo=["ttypescript","typecript","typescipt","typescript-node","typescriptjs","typescrit","typescritp"],so=["udnerscore","undercore","underscoer","underscore-node","underscroe","undersocre","undesrcore"],ro=["uid","uud","uudi","uui","uuid-js","uuid-node","uuidjs","vuid"],ao=["ite","vie","vit","vita","vite-node","vitee","vlte","vte"],to=["itest","uitest","vitestjs","vitezt","vittest","vtest"],no=["ue","uue","uve","ve","veu","vu","vu3","vua","vue-node","vuee","vuejs","vuue","vve","vvue"],co=["web-pack","weback","webpac","webpack-node","webpackjs","webpak","weebpack","wepack","wepback"],io=["winson","winston-js","winstoon"],mo=["up","uyp","yp","yu","yupjs","yupp"],lo=["od","zd","zdo","zo","zob","zod-js","zodjs"];const po={ajv:D,angular:O,autoprefixer:N,"aws-sdk":["awssdk","ews-sdk"],axios:R,babel:S,bcrypt:B,bcryptjs:F,"body-parser":["body-paresr","body-parse","body-parser-js","body_parser"],bunyan:P,chai:W,chalk:E,cheerio:L,color:U,colors:V,commander:I,"cookie-parser":["cookie-parse","cookieparser"],cors:Y,"cross-env":["crossenv"],"date-fns":["data-fns","date-fn"],dayjs:G,debug:H,dotenv:J,electron:K,esbuild:Q,eslint:X,express:Z,fastify:ee,firebase:oe,formidable:se,glob:re,got:ae,helmet:te,hono:ne,inquirer:ce,ioredis:ie,jest:de,jimp:me,joi:le,jsdom:pe,jsonwebtoken:ue,koa:ve,lodash:he,lucia:je,luxon:be,micromatch:ke,minimatch:ge,mocha:fe,moment:ye,mongoose:xe,morgan:we,multer:qe,mysql2:$e,next:ze,"node-fetch":["node-fecth","node-fethc","node.fetch"],nodemailer:_e,nodemon:Me,ora:Te,parcel:Ae,passport:Ce,phaser:De,pino:Oe,playwright:Ne,postcss:Re,prettier:Se,prisma:Be,puppeteer:Fe,ramda:Pe,react:We,"react-dom":["eact-dom","eract-dom","r3act-dom","ract-dom","raect-dom","re4ct-dom","reaact-dom","reac-dom","reac7-dom","reacct-dom","react-bom","react-d0m","react-ddom","react-dm","react-dmo","react-do","react-domm","react-don","react-doom","react-odm","react-om","react.dom","reactdom","reactt-dom","reat-dom","reatc-dom","recat-dom","rect-dom","reeact-dom","rreact-dom"],redis:Ee,resend:Le,rollup:Ue,sass:Ve,semver:Ie,sequelize:Ye,sharp:Ge,"socket.io":["ocket.io","oscket.io","scket.io","scoket.io","soccket.io","socekt.io","socet.io","sock3t.io","socke.io","socke7.io","sockeet.io","socket.1o","socket.i","socket.iio","socket.ioo","socket.lo","socket.o","socket.oi","sockett.io","sockket.io","sockt.io","sockte.io","sokcet.io","soket.io","soocket.io","ssocket.io"],stripe:He,supabase:Je,svelte:Ke,tailwindcss:Qe,tauri:Xe,three:Ze,"ts-node":["tts-node"],tsx:eo,typescript:oo,underscore:so,uuid:ro,vite:ao,vitest:to,vue:no,webpack:co,winston:io,yup:mo,zod:lo};var u,k;function uo(){return k||(k=1,u={"@tanstack/start":["start-tanstack-app","tanstack","tanstack-app","tanstack-start"]}),u}var vo=uo();const ho=A(vo),jo={a:["4","e"],b:["d"],d:["b"],e:["3","a"],g:["9","q"],i:["1","l"],l:["1","i"],m:["n"],n:["m"],o:["0"],s:["5","z"],t:["7"],u:["v"],v:["u"]},bo=["app","cli","core","kit","lib","pkg","sdk"],ko=e=>{const s=new Set;if(e.length<3)return s;for(let o=0;o<e.length;o++){const a=e[o],t=a==="-"||a==="."||a==="_";if(t||s.add(e.slice(0,o)+e.slice(o+1)),t||s.add(e.slice(0,o)+a+e.slice(o)),o<e.length-1&&e[o]!==e[o+1]){const p=e[o+1]==="-"||e[o+1]==="."||e[o+1]==="_";if(!t&&!p){const i=[...e];[i[o],i[o+1]]=[i[o+1],i[o]],s.add(i.join(""))}}const n=e[o].toLowerCase(),h=jo[n];if(h)for(const p of h)s.add(e.slice(0,o)+p+e.slice(o+1))}const r=/[-._]/g;if(r.test(e))s.add(e.replaceAll(r,"")),s.add(e.replaceAll(r,"-")),s.add(e.replaceAll(r,".")),s.add(e.replaceAll(r,"_"));else if(e.length>5)for(let o=2;o<e.length-2;o++)s.add(`${e.slice(0,o)}-${e.slice(o)}`),s.add(`${e.slice(0,o)}.${e.slice(o)}`),s.add(`${e.slice(0,o)}_${e.slice(o)}`);if(e.startsWith("@")||(s.add(`${e}-js`),s.add(`${e}js`),s.add(`${e}-node`)),e.startsWith("@")){const o=e.indexOf("/");if(o>1&&o<e.length-1){const a=e.slice(1,o),t=e.slice(o+1);a.length>=3&&s.add(a);for(const n of["","-",".","_"])s.add(`${a}${n}${t}`),s.add(`${t}${n}${a}`);for(const n of bo)s.add(`${a}-${n}`),s.add(`${t}-${a}-${n}`),s.add(`${n}-${a}-${t}`)}}return s.delete(e),s};let v,l,m;const f=()=>{if(!v){const e={};for(const s of[po,ho])for(const[r,o]of Object.entries(s)){const a=e[r]??(e[r]=[]);for(const t of o)a.includes(t)||a.push(t)}v=e}return v},go=()=>{if(!l){l=new Map;for(const[e,s]of Object.entries(f()))for(const r of s)l.set(r,e)}return l},fo=()=>{if(!m){m=new Map;for(const e of Object.keys(f()))for(const s of ko(e))m.has(s)||m.set(s,e)}return m},yo=e=>e.startsWith("@")?e.split("/")[1]??e:e,xo=e=>{const s=yo(e),r=go().get(s);if(r)return{input:e,legitimate:r,method:"blocklist"};const o=fo().get(s);if(o)return{input:e,legitimate:o,method:"heuristic"}},y=(e,s)=>{const r=s?new Set(s):void 0,o=[];for(const a of e){if(r?.has(a))continue;const t=xo(a);t&&o.push(t)}return o},x=(e,s)=>{c.warn(""),c.warn(j(`Possible typosquat${e.length===1?"":"s"} ${s}:`));for(const r of e){const o=r.method==="blocklist"?"known typosquat":"similar name";c.warn(` ${b("⚠")} ${j(r.input)} — did you mean ${b(r.legitimate)}? (${o})`)}c.warn("")},w=async e=>{if(!process.stdin.isTTY){c.warn("Aborting: potential typosquat detected in non-interactive mode. Use --no-typosquat-check to skip.");return}const s=_({input:process.stdin,output:process.stdout}),r=await new Promise(o=>{s.question(e,a=>{o(a.trim().toLowerCase())})});return s.close(),r},Do=async(e,s)=>{if(g("typosquats"))return{ok:!0,packages:e};const r=y(e,s);if(r.length===0)return{ok:!0,packages:e};x(r,"detected");const o=await w(`Use suggested package${r.length===1?"":"s"} instead? [S]uggested / [y]es, keep original / [N]o, abort (default: N) `);if(o===void 0)return{ok:!1,packages:e};if(o==="s"||o==="suggested"){const a=new Map(r.map(t=>[t.input,t.legitimate]));return{ok:!0,packages:e.map(t=>a.get(t)??t)}}return o==="y"||o==="yes"?{ok:!0,packages:e}:{ok:!1,packages:e}},wo=/^(?:npm|pnpm|yarn):(.+?)(?:@.*)?$/,qo=e=>wo.exec(e)?.[1],$o=e=>{if(!T(e))return[];const s=C(e),r={...s.dependencies,...s.devDependencies,...s.optionalDependencies,...s.peerDependencies},o=new Set;for(const[a,t]of Object.entries(r)){o.add(a);const n=qo(t);n&&o.add(n)}return[...o]},Oo=async(e,s)=>{if(g("typosquats"))return!0;const r=M(e,"package.json"),o=$o(r);if(o.length===0)return!0;const a=y(o,s);if(a.length===0)return!0;x(a,"in package.json dependencies"),c.warn("Fix the package name in package.json before proceeding.");const t=await w("Continue anyway? [y/N] ");return t==="y"||t==="yes"};export{Do as r,Oo as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as u}from"node:module";import{t,U as c}from"../packem_chunks/bin.js";const f=u(import.meta.url),l=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;const _=(o,i)=>{const r=t.useRef(null),[s,n]=t.useState(o);return t.useLayoutEffect(()=>{if(!r.current)return;const{height:e}=c(r.current);e>0&&e!==s&&(n(e),i?.(e))}),{measuredHeight:s,ref:r}};export{_ as u};
|