@visulima/vis 2.0.0 → 2.0.1
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 +13 -0
- package/README.md +1 -1
- package/dist/bin.js +1 -1
- package/dist/binx.js +2 -2
- package/dist/config/index.d.ts +1817 -1811
- package/dist/generate/index.d.ts +39 -39
- package/dist/packem_chunks/CONFIG_FILES.js +5 -5
- package/dist/packem_chunks/bloom-status.js +1 -1
- package/dist/packem_chunks/bloom-sync.js +1 -1
- package/dist/packem_chunks/cache-attestation.js +1 -1
- package/dist/packem_chunks/catalog.js +63 -61
- package/dist/packem_chunks/cli-exec.js +1 -1
- package/dist/packem_chunks/cli-main.js +133 -130
- package/dist/packem_chunks/detect.js +3 -3
- package/dist/packem_chunks/detect2.js +4 -4
- package/dist/packem_chunks/dispatch.js +3 -3
- package/dist/packem_chunks/extra-files.js +3 -3
- package/dist/packem_chunks/fix.js +8 -8
- package/dist/packem_chunks/handler.js +1 -1
- package/dist/packem_chunks/handler10.js +5 -5
- package/dist/packem_chunks/handler11.js +1 -1
- package/dist/packem_chunks/handler12.js +6 -6
- package/dist/packem_chunks/handler13.js +1 -1
- package/dist/packem_chunks/handler14.js +1 -1
- 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 +1 -1
- package/dist/packem_chunks/handler20.js +2 -2
- package/dist/packem_chunks/handler21.js +2 -2
- package/dist/packem_chunks/handler22.js +10 -10
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler25.js +1 -1
- package/dist/packem_chunks/handler26.js +5 -5
- package/dist/packem_chunks/handler27.js +1 -1
- package/dist/packem_chunks/handler28.js +3 -3
- package/dist/packem_chunks/handler29.js +1 -1
- package/dist/packem_chunks/handler3.js +2 -3
- package/dist/packem_chunks/handler30.js +1 -1
- package/dist/packem_chunks/handler31.js +2 -2
- package/dist/packem_chunks/handler35.js +3 -3
- package/dist/packem_chunks/handler4.js +3 -3
- package/dist/packem_chunks/handler40.js +10 -10
- package/dist/packem_chunks/handler42.js +3 -3
- package/dist/packem_chunks/handler43.js +3 -3
- package/dist/packem_chunks/handler5.js +5 -5
- package/dist/packem_chunks/handler50.js +2 -2
- package/dist/packem_chunks/handler51.js +13 -13
- package/dist/packem_chunks/handler52.js +3 -3
- package/dist/packem_chunks/handler53.js +1 -1
- package/dist/packem_chunks/handler54.js +2 -2
- package/dist/packem_chunks/handler55.js +1 -1
- package/dist/packem_chunks/handler57.js +5 -5
- package/dist/packem_chunks/handler58.js +4 -4
- package/dist/packem_chunks/handler59.js +8 -8
- package/dist/packem_chunks/handler6.js +6 -6
- package/dist/packem_chunks/handler60.js +2 -2
- package/dist/packem_chunks/handler61.js +13 -13
- package/dist/packem_chunks/handler62.js +3 -3
- package/dist/packem_chunks/handler63.js +3 -3
- package/dist/packem_chunks/handler64.js +4 -4
- package/dist/packem_chunks/handler65.js +6 -6
- package/dist/packem_chunks/handler66.js +2 -2
- package/dist/packem_chunks/handler67.js +16 -16
- package/dist/packem_chunks/handler68.js +7 -7
- package/dist/packem_chunks/handler69.js +25 -25
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler70.js +6 -6
- package/dist/packem_chunks/handler71.js +14 -14
- package/dist/packem_chunks/handler72.js +42 -42
- package/dist/packem_chunks/handler73.js +9 -9
- package/dist/packem_chunks/handler74.js +21 -21
- package/dist/packem_chunks/handler75.js +3 -3
- package/dist/packem_chunks/handler76.js +8 -8
- package/dist/packem_chunks/handler77.js +63 -64
- package/dist/packem_chunks/handler78.js +22 -22
- package/dist/packem_chunks/handler8.js +1 -1
- package/dist/packem_chunks/handler9.js +1 -1
- package/dist/packem_chunks/heal-accept.js +5 -5
- package/dist/packem_chunks/heal.js +8 -8
- package/dist/packem_chunks/help-command.js +26 -26
- package/dist/packem_chunks/index2.js +5 -5
- package/dist/packem_chunks/index3.js +2 -2
- package/dist/packem_chunks/index4.js +11 -11
- package/dist/packem_chunks/keys-refresh.js +1 -1
- package/dist/packem_chunks/lean.js +1 -1
- package/dist/packem_chunks/list.js +2 -2
- package/dist/packem_chunks/loader.js +4 -4
- package/dist/packem_chunks/orchestrator.js +14 -14
- package/dist/packem_chunks/pre-mode.js +2 -2
- package/dist/packem_chunks/prompts.js +3 -3
- package/dist/packem_chunks/prune.js +1 -1
- package/dist/packem_chunks/publish-guards.js +1 -1
- package/dist/packem_chunks/registry.js +17 -17
- package/dist/packem_chunks/resolveFormatter.js +5 -5
- package/dist/packem_chunks/shell-runner.js +1 -1
- package/dist/packem_chunks/snapshot.js +2 -2
- package/dist/packem_chunks/stage-publisher.js +1 -1
- package/dist/packem_chunks/staged-registry.js +2 -2
- package/dist/packem_chunks/state.js +3 -3
- package/dist/packem_chunks/status.js +1 -1
- package/dist/packem_chunks/sync.js +1 -1
- package/dist/packem_chunks/sync2.js +1 -1
- package/dist/packem_chunks/tar.js +3 -3
- package/dist/packem_chunks/tripwire.js +2 -2
- package/dist/packem_chunks/ts-loader.js +8 -8
- package/dist/packem_chunks/verify-lockfile.js +2 -2
- package/dist/packem_chunks/workspace.js +2 -2
- package/dist/packem_shared/advisories-BGeuHJQg.js +1 -0
- package/dist/packem_shared/affected-selection-B85ND6JV.js +1 -0
- package/dist/packem_shared/affected-shas-BWRRAB47.js +1 -0
- package/dist/packem_shared/ai-analysis-oNMAj1wd.js +68 -0
- package/dist/packem_shared/{ai-fix-CLfWbyqY.js → ai-fix-BgBU0TOz.js} +9 -9
- package/dist/packem_shared/{augment-BVuj3ee7.js → augment-HVeX6LpU.js} +4 -4
- package/dist/packem_shared/bin-DKod8Iqo.js +1 -0
- package/dist/packem_shared/build-scripts-CM8M1xcG.js +1 -0
- package/dist/packem_shared/{command-runtime-DTbo12cP.js → command-runtime-BVi4lL8k.js} +1 -1
- package/dist/packem_shared/cyclonedx-y7VLI-1d.js +4 -0
- package/dist/packem_shared/{dependency-scan-DZcSlSFp.js → dependency-scan-BAzKpXdW.js} +1 -1
- package/dist/packem_shared/{docker-69ybb6g7.js → docker-D1LStSlH.js} +36 -36
- package/dist/packem_shared/{en-C26W78--.js → en-BxrK-n-J.js} +10 -10
- package/dist/packem_shared/failure-log-ChuFC-8f.js +2 -0
- package/dist/packem_shared/giget-CAxjpwew.js +2 -0
- package/dist/packem_shared/glob-BUjyjdE8-BSrdzgma.js +1 -0
- package/dist/packem_shared/{index-Bhzio2RB.js → index-BJw7gKD1.js} +1 -1
- package/dist/packem_shared/index-BWl4DbMp.js +1 -0
- package/dist/packem_shared/index-DND6ptxQ.js +35 -0
- package/dist/packem_shared/{interface.d-B7VK2rcH.d.ts → interface.d-CRqRz4jt.d.ts} +39 -39
- package/dist/packem_shared/{interface.d-Cezzifoh.d.ts → interface.d-CrHOtJc1.d.ts} +37 -37
- package/dist/packem_shared/lifecycle-Db0qh6vR.js +2 -0
- package/dist/packem_shared/lockfile-CDQ0n4P5.js +1 -0
- package/dist/packem_shared/main-D_cam4hv.js +1 -0
- package/dist/packem_shared/manifests-Da_no4ZH.js +1 -0
- package/dist/packem_shared/{min-release-age-hK604veF.js → min-release-age-V6L6dpiP.js} +2 -2
- package/dist/packem_shared/missing-package-json-Jw8IEHct.js +1 -0
- package/dist/packem_shared/{native-config-sync-DDKjAy0i.js → native-config-sync-C0pUePad.js} +6 -6
- package/dist/packem_shared/osv-bloom-DNFpvSSO.js +2 -0
- package/dist/packem_shared/package-version-DjHDww_5.js +4 -0
- package/dist/packem_shared/packument-N3EWbZpL.js +1 -0
- package/dist/packem_shared/pm-runner-Bssje5qH.js +1 -0
- package/dist/packem_shared/project-name-filter-u2Q7YpQH.js +7 -0
- package/dist/packem_shared/prompt-BSAy8SMH.js +1 -0
- package/dist/packem_shared/{provenance-CRBV9cko.js → provenance-9OT8sTqn.js} +1 -1
- package/dist/packem_shared/{readJsonSync-DuMMeB3s-B9cGBVbJ.js → readJsonSync-BnWiH5-R-BpnwAB0Z.js} +1 -1
- package/dist/packem_shared/registry-keys-CYHd7qU2.js +1 -0
- package/dist/packem_shared/{resolve-explicit-BX6aMYl-.js → resolve-explicit-DC3XssJa.js} +1 -1
- package/dist/packem_shared/{resolve-runtime-COyiEML3.js → resolve-runtime-f5l4ODsH.js} +1 -1
- package/dist/packem_shared/run-file-zB4ACnUy.js +1 -0
- package/dist/packem_shared/{runtime-check-fzDkedMW.js → runtime-check-CWvAfu5u.js} +1 -1
- package/dist/packem_shared/s1ngularity-DsmC71xt.js +1 -0
- package/dist/packem_shared/{scan-progress-DQ9qIGzr.js → scan-progress-Ch8s3Uwl.js} +2 -2
- package/dist/packem_shared/selectors-CtxnIT4X.js +3 -0
- package/dist/packem_shared/signatures-Dwx5fD4g.js +2 -0
- package/dist/packem_shared/subtree-DSm0QEoE.js +2 -0
- package/dist/packem_shared/target-merge-b7bE1AEx.js +11 -0
- package/dist/packem_shared/target-options-BO4Uxt0k.js +1 -0
- package/dist/packem_shared/toolchain-BY8lJaSN.js +5 -0
- package/dist/packem_shared/typosquats-BUGgotNu.js +1 -0
- package/dist/packem_shared/{use-measured-height-DfNxp6nf.js → use-measured-height-BLZt9dW2.js} +1 -1
- package/dist/packem_shared/verify-B0ztxKMa.js +1 -0
- package/dist/packem_shared/vis-update-app-D1gLJB1O.js +1 -0
- package/dist/packem_shared/vis-user-error-DjFv8uxy.js +28 -0
- package/dist/packem_shared/watch-CGrUW_JD.js +1 -0
- package/dist/packem_shared/watch-loop-DIwSMjlA.js +11 -0
- package/dist/release/core/package-managers/index.d.ts +2 -2
- package/dist/release/core/version-actions/index.d.ts +10 -10
- package/dist/release/index.d.ts +60 -60
- package/dist/release/plugin-sdk.d.ts +80 -80
- package/dist/release/presets.d.ts +148 -148
- package/dist/release/types.d.ts +840 -840
- package/dist/runtime/preload.js +1 -1
- package/index.d.ts +204 -204
- package/index.js +52 -52
- package/package.json +12 -12
- package/schemas/project.schema.json +4 -1
- package/schemas/vis-config.schema.json +9 -3
- package/dist/packem_shared/advisories-B76fBVL-.js +0 -1
- package/dist/packem_shared/affected-shas-BOeR4vEc.js +0 -1
- package/dist/packem_shared/ai-analysis-D7HOdUwd.js +0 -68
- package/dist/packem_shared/bin-CkfFJCAM.js +0 -1
- package/dist/packem_shared/build-scripts-CfAqHBlq.js +0 -1
- package/dist/packem_shared/cyclonedx--L7NbMBH.js +0 -4
- package/dist/packem_shared/failure-log-BZQqxffZ.js +0 -2
- package/dist/packem_shared/giget-DVTFJlbR.js +0 -2
- package/dist/packem_shared/glob-DMbPwGSj-D2Hk3lFG.js +0 -1
- package/dist/packem_shared/index-2LCHaVNX.js +0 -35
- package/dist/packem_shared/index-B0EsgdzO.js +0 -1
- package/dist/packem_shared/index-Bq6YEpiq.js +0 -28
- package/dist/packem_shared/lifecycle-BcCMt9wn.js +0 -2
- package/dist/packem_shared/lockfile-Cwt0Nwr0.js +0 -1
- package/dist/packem_shared/main-B3juSU5z.js +0 -1
- package/dist/packem_shared/manifests-BshBdSb-.js +0 -1
- package/dist/packem_shared/missing-package-json-Cu0iWMT2.js +0 -1
- package/dist/packem_shared/osv-bloom-DMhXP184.js +0 -2
- package/dist/packem_shared/package-version-TsxLc6w2.js +0 -4
- package/dist/packem_shared/packument-CtVAoNo7.js +0 -1
- package/dist/packem_shared/pm-runner-CfyxALPK.js +0 -1
- package/dist/packem_shared/prompt-DjXHVgYU.js +0 -1
- package/dist/packem_shared/registry-keys-Ci2keQNi.js +0 -1
- package/dist/packem_shared/run-file-CTJfIZ0I.js +0 -1
- package/dist/packem_shared/s1ngularity-Cq1cCSpU.js +0 -1
- package/dist/packem_shared/selectors-B9dOMIMq.js +0 -3
- package/dist/packem_shared/signatures-DvD1E8Xa.js +0 -2
- package/dist/packem_shared/subtree-C7bZuiSQ.js +0 -2
- package/dist/packem_shared/target-merge-Dg25Izl5.js +0 -11
- package/dist/packem_shared/target-options-aPqByoww.js +0 -1
- package/dist/packem_shared/toolchain-CiaW3bx4.js +0 -5
- package/dist/packem_shared/typosquats-CRnvlYPw.js +0 -1
- package/dist/packem_shared/verify-23b6IfSg.js +0 -1
- package/dist/packem_shared/vis-update-app-De8JjZm0.js +0 -1
- package/dist/packem_shared/watch-B3P2dwoG.js +0 -1
- package/dist/packem_shared/watch-loop-B3_O8hF-.js +0 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{I as N}from"./index-
|
|
1
|
+
import{I as N}from"./index-BWl4DbMp.js";import{i as D}from"./en-BxrK-n-J.js";import{p as y,d as R}from"./prompt-BSAy8SMH.js";import{h as M,M as T,r as A,a as S,b as E,c as C,d as P,e as x,f as V}from"./s1ngularity-DsmC71xt.js";import{m as u,D as g,r as j}from"./provenance-9OT8sTqn.js";import{g as w}from"./packument-N3EWbZpL.js";import{i as b,p as m}from"../packem_chunks/cli-main.js";import{r as I}from"./signatures-Dwx5fD4g.js";import{s as L}from"./index-BAe6e0XE.js";import{f as O}from"./utils-CRueU43T.js";const W=15,B=e=>{const a=(e.TERM??"").toLowerCase();return a!=="dumb"&&a!=="unknown"&&a!==""},U=async(e,a,n,s)=>new Promise(c=>{if(s?.aborted){c(!1);return}const o=B(n)&&a.isTTY!==!1;let r=e;const i=()=>{o?a.write(`\rContinuing in ${String(r)}s... press Ctrl-C to abort. `):r===e&&a.write(`Warnings present; proceeding in ${String(e)}s.
|
|
2
2
|
`)};i();const d=setInterval(()=>{if(r-=1,r<=0){clearInterval(d),s?.removeEventListener("abort",l),o&&a.write(`\rContinuing now.
|
|
3
3
|
`),c(!0);return}i()},1e3),l=()=>{clearInterval(d),o&&a.write(`\rAborted.
|
|
4
4
|
`),c(!1)};s?.addEventListener("abort",l,{once:!0})}),Y=async(e,a={})=>{if(e.length===0)return{proceed:!0};const n=a.env??process.env,s=a.isTty??!!process.stdin.isTTY,c=a.isCi??N,o=a.strict??!1,r=a.readline??R,i=a.output??{isTTY:!!process.stdout.isTTY,write:p=>process.stdout.write(p)},d=D(n.VIS_DISABLE_AUTO_CONTINUE),l=Number.parseInt(n.VIS_AUTO_CONTINUE_SECONDS??"",10),t=a.countdownSeconds??(Number.isFinite(l)&&l>0?l:W);return e.some(p=>p.severity==="error")?o?{proceed:!1,reason:"errors-present"}:c?{proceed:!1,reason:"errors-present"}:s?await y("Proceed despite errors? [y/N] ",r)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!1,reason:"non-tty"}:o?{proceed:!1,reason:"ci-strict"}:s?d?await y("Proceed despite warnings? [y/N] ",r)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:await U(t,i,n,a.signal)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!0}},be=async(e,a={})=>{if(e.isEmpty())return!0;const n=e.all(),s=a.output??{isTTY:!!process.stdout.isTTY,write:c=>process.stdout.write(c)};for(const c of M(n))s.write(`${c}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as s,m as f,H as b,j as g}from"./index-DND6ptxQ.js";const j={id:"bun",label:"Bun",lockfiles:["bun.lock","bun.lockb"],scriptSource:"package.json"},v={id:"node",label:"Node.js",lockfiles:["pnpm-lock.yaml","yarn.lock","package-lock.json","npm-shrinkwrap.json"],scriptSource:"package.json"},l={bun:j,node:v},a=["node","bun"],u={"deno.lock":"deno"},$=a.flatMap(o=>l[o].lockfiles.map(e=>[e,o])),p="Deno is not supported yet (deferred — see rfc/design-runtime-multitool.md).",d=(o,e)=>{if(o==="node"||o==="bun")return o;throw o in u||o==="deno"?new Error(`${e} requested runtime "${o}", but ${p}`):new Error(`${e} requested unknown runtime "${o}". Supported: ${a.join(", ")}.`)},S=o=>{let e=o;for(;;){for(const[r,n]of $)if(s(f(e,r)))return{runtime:n};for(const r of Object.keys(u))if(s(f(e,r)))return{deferred:u[r]};const t=b(e);if(t===e||g(e).root===e)return{};e=t}},y=(o,e={})=>{const t=e.env??process.env,r=(c,m,k)=>({adapter:l[c],deferredNotice:k,runtime:c,source:m});if(e.flag!==void 0&&e.flag!=="")return r(d(e.flag,"--runtime"),"flag");const n=t.VIS_RUNTIME;if(n!==void 0&&n!=="")return r(d(n,"VIS_RUNTIME"),"env");if(e.config!==void 0)return r(d(e.config,"config runtime:"),"config");const i=S(o);return i.runtime!==void 0?r(i.runtime,"lockfile"):i.deferred!==void 0?r("node","default",`Detected a ${i.deferred} project but ${p} Falling back to node.`):r("node","default")};export{y as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as S}from"node:module";import{m as i,H as l}from"./index-DND6ptxQ.js";import{p as y}from"./augment-HVeX6LpU.js";let h;const b=r=>(h??=S(import.meta.url))(r),a=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,d=r=>{if(typeof a<"u"&&a.versions&&a.versions.node){const[e,s]=a.versions.node.split(".").map(Number);if(e>22||e===22&&s>=3||e===20&&s>=16)return a.getBuiltinModule(r)}return b(r)},{spawnSync:u}=d("node:child_process"),{existsSync:p}=d("node:fs"),w=r=>{let e=r;for(;;){const s=i(e,".pnp.cjs");if(p(s)){const t=i(e,".pnp.loader.mjs");return{esmLoader:p(t)?t:void 0,pnpCjs:s}}const o=l(e);if(o===e)return;e=o}},x=r=>{const e=w(r);if(e===void 0)return[];const s=["--require",e.pnpCjs];return e.esmLoader!==void 0&&s.push("--import",e.esmLoader),s},E=[{flag:"--enable-source-maps",key:"sourcemaps",min:[22,0]},{flag:"--experimental-sqlite",key:"sqlite",min:[22,5]},{flag:"--experimental-webstorage",key:"webstorage",min:[22,4]},{flag:"--experimental-eventsource",key:"eventsource",min:[22,3]},{flag:"--experimental-websocket",key:"websocket",max:[21,999],min:[20,10]},{flag:"--experimental-vm-modules",key:"vm-modules",min:[22,0]}],I=[22,4],P=r=>{const[e,s]=r.split(".").map(o=>Number.parseInt(o,10));return[e??0,s??0]},f=(r,e)=>r[0]>e[0]||r[0]===e[0]&&r[1]>=e[1],j=(r,e)=>r[0]<e[0]||r[0]===e[0]&&r[1]<=e[1],T=(r,e)=>f(r,e.min)&&(e.max===void 0||j(r,e.max)),L=r=>{const e=r.trim().toLowerCase();return e===""||e==="all"||e==="1"||e==="true"},m=(r,e)=>L(r)||r.split(",").some(s=>s.trim().toLowerCase()===e),g=(r,e,s)=>{const o=P(e),t=[];for(const n of E)m(r,n.key)&&T(o,n)&&t.push(n.flag);return m(r,"localstorage")&&f(o,I)&&(t.includes("--experimental-webstorage")||t.push("--experimental-webstorage"),t.push(`--localstorage-file=${s}`)),t},v="VIS_X_REEXEC",k=(r,e,s)=>{const o={...process.env},t=i(l(process.argv[1]),"runtime","preload.js");if(o.NODE_OPTIONS){const c=o.NODE_OPTIONS.replace(`--import ${JSON.stringify(t)}`,"").replace(`--import ${t}`,"").replaceAll(/\s+/gu," ").trim();c===""?delete o.NODE_OPTIONS:o.NODE_OPTIONS=c}delete o.VIS_AUGMENT_SUBPROCESS,delete o.VIS_UNFLAG,delete o.VIS_POLYFILL;const n=u(process.execPath,[r,...e],{cwd:s,env:o,stdio:"inherit"});if(n.error)throw n.error;return n.status??(n.signal===null?0:1)},_=r=>{let e=r;for(;;){if(p(i(e,"package.json"))||p(i(e,".pnp.cjs")))return i(e,".vis","localstorage");const s=l(e);if(s===e)return i(r,".vis","localstorage");e=s}},A=r=>{const e=process.env.VIS_UNFLAG;return[...e===void 0?[]:g(e,process.versions.node,_(r)),...x(r)]},C=(r,e,s)=>{const o=u("bun",["run",r,...e],{cwd:s,stdio:"inherit"});if(o.error)throw o.error.code==="ENOENT"?new Error("Runtime is set to bun but the `bun` binary is not on PATH. Install it from https://bun.sh."):o.error;return o.status??(o.signal===null?0:1)},R=(r,e,s,o)=>{const t=u(process.execPath,[...r,process.argv[1],"x",e,...s],{cwd:o,env:{...process.env,[v]:"1"},stdio:"inherit"});return t.status??(t.signal===null?0:1)},q=async(r,e,s)=>{if(process.env[v]===void 0){const n=A(s);if(n.length>0)return R(n,r,e,s)}if(process.env.VIS_AUGMENT_SUBPROCESS!==void 0){const n=i(l(process.argv[1]),"runtime","preload.js"),c=process.env.VIS_UNFLAG,O=c===void 0?[]:g(c,process.versions.node,_(s)),N=[process.env.NODE_OPTIONS??"",...O,`--import ${JSON.stringify(n)}`].filter(Boolean);process.env.NODE_OPTIONS=N.join(" ").trim()}const{importTs:o}=await import("../packem_chunks/ts-loader.js").then(n=>n.t);await y(s);const t=process.argv;process.argv=[process.execPath,r,...e];try{await o(r)}finally{process.argv=t}return typeof process.exitCode=="number"?process.exitCode:0},$=async(r,e,s,o,t={})=>t.node?k(r,e,o):s==="bun"?C(r,e,o):q(r,e,o);export{$ as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as g,
|
|
1
|
+
import{m as g,l as m,z as h}from"./index-DND6ptxQ.js";import{whichBin as d}from"#native";import{a as k}from"./readJsonSync-BnWiH5-R-BpnwAB0Z.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 R}from"./index.server-qvZ-cy29.js";import{l as _,d as j,m as $}from"./index-DND6ptxQ.js";import{g as x}from"./en-BxrK-n-J.js";import{m as p,D as g}from"./provenance-9OT8sTqn.js";import{g as b}from"./packument-N3EWbZpL.js";import{i as w}from"../packem_chunks/cli-main.js";import{a as O}from"./readJsonSync-BnWiH5-R-BpnwAB0Z.js";import{s as v}from"./index-BAe6e0XE.js";let X;const Y=r=>(X??=K(import.meta.url))(r),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 Y(r)},{rmSync:k,writeFileSync:E}=T("node:fs"),{createHash:Q}=T("node:crypto"),{Resolver:Z}=T("node:dns/promises");class Qe{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 Ze=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(` ${R("→")} ${s.suggestedAction}`)}if(n.length>0){t.length>0&&e.push(""),e.push(R(`${String(n.length)} warning${n.length===1?"":"s"}:`));for(const s of n)e.push(` ${R("⚠")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${R("→")} ${s.suggestedAction}`)}return e},er=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")}),ee=1440*60*1e3,re=15e3,te="https://api.github.com/repos",B=()=>$(x(),"archived-repo"),q=(r,e)=>$(B(),`${encodeURIComponent(r)}__${encodeURIComponent(e)}.json`),ne=(r,e)=>{const t=q(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(q(r,e),JSON.stringify(s),"utf8")},se=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]}},ie=async(r,e,t,n)=>{const s=`${te}/${encodeURIComponent(r)}/${encodeURIComponent(e)}`,c=new AbortController,o=setTimeout(()=>{c.abort()},re),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)}},oe=(r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),rr=async(r,e={})=>{if(w("archivedRepo"))return[];const t=new Set(e.allowlist),n=e.cacheTtlMs??ee,s=e.githubToken??process.env.GITHUB_TOKEN,c=e.concurrency??g,o=new Map,i=async(a,d)=>{const l=`${a}/${d}`;let u=o.get(l);return u===void 0&&(u=(async()=>{const f=ne(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 ie(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 p(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[oe(Object.keys(l.versions),l["dist-tags"]?.latest)??""];if(u===void 0)return;const f=se(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)},ae={dormantErrorDays:274,dormantWarnDays:183,newPublisherWindowDays:21,recentVersionErrorDays:7,recentVersionWarnDays:30},ce=1440*60*1e3,U=(r,e)=>(r-e)/ce,A=r=>{if(r!==void 0)return r.email??r.name},de=(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}},le=(r,e,t,n,s)=>{const c=r.versions[t],o=A(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=>A(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}},ue=(r,e,t,n,s)=>{const c=r.versions[t],o=A(c?._npmUser);if(o===void 0)return;const i=[];for(const[l,u]of Object.entries(r.versions)){if(l===t||A(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}},tr=async(r,e={})=>{if(w("author"))return[];const t=new Set(e.allowlist),n={...ae,...e.thresholds},s=e.now??(()=>Date.now()),c=e.concurrency??g;return(await p(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=de(a,o,i,d,n);u!==void 0&&l.push(u);const f=le(a,o,i,d,n);f!==void 0&&l.push(f);const m=ue(a,o,i,d,n);return m!==void 0&&l.push(m),l})).flat()},fe=1440*60*1e3,me=15e3,he=20,ve=1e4,pe="https://api.npmjs.org/downloads/point/last-month",H=()=>$(x(),"downloads"),J=r=>$(H(),`${encodeURIComponent(r)}.json`),ge=r=>{const e=J(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}},we=(r,e,t)=>{j(H());const n={createdAt:Date.now(),downloads:e,observedAt:new Date().toISOString(),ttlMs:t};E(J(r),JSON.stringify(n),"utf8")},ye=async(r,e)=>{const t=`${pe}/${encodeURIComponent(r)}`,n=new AbortController,s=setTimeout(()=>{n.abort()},me),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)}},nr=async(r,e={})=>{if(w("downloads"))return[];const t=new Set(e.allowlist),n=e.errorThreshold??he,s=e.warnThreshold??ve,c=e.cacheTtlMs??fe,o=e.concurrency??g;return(await p(r,o,async i=>{if(t.has(i))return;let a=ge(i);if(a===void 0){const d=await ye(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,we(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)},ke=1440*60*1e3,$e=4e3,be=["1.1.1.1","8.8.8.8"],z=()=>$(x(),"expired-domains"),G=r=>{const e=Q("sha256").update(r).digest("hex").slice(0,12);return $(z(),`${e}.json`)},Me=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}},De=(r,e,t)=>{j(z());const n={createdAt:Date.now(),outcome:e,ttlMs:t};E(G(r),JSON.stringify(n),"utf8")},Re=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},Ne=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)}},Se=r=>{if(r===null||typeof r!="object")return!1;const{code:e}=r;return e==="ENOTFOUND"||e==="ENODATA"||e==="NXDOMAIN"},Te=async(r,e,t)=>{try{const n=await Ne(r.resolveNs(e),t);return Array.isArray(n)&&n.length>0?{kind:"ok"}:{kind:"expired"}}catch(n){return Se(n)?{kind:"expired"}:{kind:"transient-error"}}},Ee=(r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),sr=async(r,e={})=>{if(w("expiredDomains"))return[];const t=new Set(e.allowlist),n=new Set((e.allowDomains??[]).map(u=>u.toLowerCase())),s=e.cacheTtlMs??ke,c=e.perDomainTimeoutMs??$e,o=e.dnsServers??be,i=e.concurrency??g,a=e.createResolver===void 0?new Z: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=Me(u);if(m!==void 0)return{kind:m.outcome==="ok"?"ok":"expired"};const h=await Te(a,u,c);return h.kind!=="transient-error"&&De(u,h.kind,s),h})(),d.set(u,f)),f};return(await p(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[Ee(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=Re(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()},_e=["readme","license","repo"],je=["ERROR: No README data found!","# Security holding package"],xe=r=>{const e=r.trim();return e===""?!0:je.some(t=>e.startsWith(t))},Oe=(r,e)=>{if(typeof e.readme=="string")return e.readme;if(typeof r.readme=="string")return r.readme},Ue=(r,e)=>{const t=Oe(r,e);if(t===void 0)return"missing-readme";if(xe(t))return"placeholder-readme"},Ce=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"},Fe=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"},Le=r=>{const e=r["dist-tags"]?.latest;return e!==void 0&&Object.hasOwn(r.versions,e)?e:Object.keys(r.versions).at(-1)},ir=async(r,e={})=>{if(w("metadata"))return[];const t=new Set(e.allowlist),n=new Set(e.checks??_e),s=e.concurrency??g;return(await p(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[Le(i)??""];if(a===void 0||a.private===!0)return;const d=[];if(n.has("readme")){const l=Ue(i,a);l!==void 0&&d.push(l)}if(n.has("license")){const l=Ce(a);l!==void 0&&d.push(l)}if(n.has("repo")){const l=Fe(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},Ve=(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,or=async(r,e={})=>{if(w("newBin"))return[];const t=new Set(e.allowlist),n=new Set(e.allowBins),s=e.concurrency??g;return(await p(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=Ve(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)},We=["preinstall","install","postinstall"],P=(r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,Ie=(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]},Pe=(r,e)=>{const t=r??{},n=e??{},s=[];for(const c of We){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},ar=async(r,e={})=>{if(w("s1ngularity"))return[];const t=new Set(e.allowlist),n=e.concurrency??g;return(await p(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=Ie(o,c);if(i===void 0||!P(o,i)||P(o,c))return;const a=Pe(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{Qe as M,ar as a,or as b,ir as c,nr as d,sr as e,rr as f,er as g,Ze as h,tr as r};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{E as x,s as
|
|
2
|
-
`},
|
|
1
|
+
import{E as x,s as k,I as y,V as S}from"./index.server-qvZ-cy29.js";import{j as e,l as c,e as i,d as $,a as g}from"../packem_chunks/catalog.js";import"./en-BxrK-n-J.js";import{I as C}from"./index-BWl4DbMp.js";import{S as m}from"../packem_chunks/cli-main.js";import{Spinner as T}from"@visulima/tui-kit/spinner";import{D as j,W as I,T as E,C as R}from"./symbols-DPTlrJ3B.js";const w=({rows:a})=>e.jsx(c,{flexDirection:"column",children:a.map(t=>{let r;switch(t.status){case"error":{r=e.jsx(i,{color:"red",children:R});break}case"ok":{r=e.jsx(i,{color:"green",children:E});break}case"running":{r=e.jsx(i,{color:"white",children:e.jsx(T,{type:"dots"})});break}case"warn":{r=e.jsx(i,{color:"yellow",children:I});break}default:{r=e.jsx(i,{dimColor:!0,children:j});break}}return e.jsxs(c,{children:[e.jsx(c,{width:3,children:r}),e.jsx(c,{flexGrow:1,children:e.jsx(i,{children:t.label})}),t.summary?e.jsx(c,{children:e.jsxs(i,{dimColor:!0,children:[j," ",t.summary]})}):null]},t.id)})}),v={error:S(m.failure),ok:y(m.success),pending:x(m.dash),skip:x(m.dash),warn:k(m.warning)},D=(a,t,r)=>{const h=r?`${a} ${x(`— ${r}`)}`:a;return` ${v[t]} ${h}
|
|
2
|
+
`},V=(a,t={})=>{const r=t.stream??process.stderr,h=typeof r.isTTY=="boolean"&&r.isTTY&&!C,b=t.live??h,o=new Map;for(const s of a)o.set(s.id,{id:s.id,label:s.label,status:"pending"});if(!b||a.length===0)return{finish:(s,n,u)=>{const l=o.get(s);l&&(o.set(s,{...l,status:n,summary:u}),r.write(D(l.label,n,u)))},start:s=>{const n=o.get(s);n&&o.set(s,{...n,status:"running"})},stop:()=>{}};const f=()=>a.map(s=>o.get(s.id));let d=$(g.createElement(w,{rows:f()}),{interactive:!0,patchConsole:!1});const p=()=>{d?.rerender(g.createElement(w,{rows:f()}))};return{finish:(s,n,u)=>{const l=o.get(s);l&&(o.set(s,{...l,status:n,summary:u}),p())},start:s=>{const n=o.get(s);n&&(o.set(s,{...n,status:"running"}),p())},stop:()=>{d&&(p(),d.unmount(),d=void 0)}}};export{V as s};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{createRequire as y}from"node:module";import{y as v}from"./index-DND6ptxQ.js";let h;const w=t=>(h??=y(import.meta.url))(t),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=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 w(t)},{createInterface:k}=_("node:readline"),$=/^#([\w\-/]+):(.+)$/,b=/^([@\w\-/]+):(.+)$/,T=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=b.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}},E=async(t,r,e,a)=>{const s=T(t);if(!s)throw new Error(`Invalid target selector: "${t}"`);const o=Object.keys(r.projects);if(s.kind==="all")return{projects:o,target:s.target};if(s.kind==="project")return{projects:s.projects??[],target:s.target};if(s.kind==="tag"){const c=s.tag;return{projects:o.filter(i=>r.projects[i]?.tags?.includes(c)??!1),target:s.target}}const n=v(a,e)||".";let l,u=-1;for(const[c,i]of Object.entries(r.projects)){const p=i.root;p&&(n===p||n.startsWith(`${p}/`))&&p.length>u&&(u=p.length,l=c)}if(!l){if(process.stdout.isTTY){const c=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 p=await new Promise(g=>{c.question("> ",g)});c.close();const f=Number.parseInt(p,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:[l],target:s.target}},q=/^(\w+)\s*(!?=)\s*(.+)$/,x=t=>{const r=t.trim();if(r==="")return;const e=r.split("&&").map(c=>c.trim()),a=r.split("||").map(c=>c.trim()),s=e.length>1,o=a.length>1;if(s&&o)throw new Error("Query language does not support mixed && / || — split into multiple --query flags or simplify.");const n=o?a:e,l=o?"||":"&&",u=[];for(const c of n){const i=q.exec(c);if(!i)throw new Error(`Invalid query clause: "${c}". Expected <field>=<value> or <field>!=<value>.`);const[,p,f,g]=i;u.push({field:p,op:f==="!="?"!=":"=",value:g.trim().replaceAll(/^["']|["']$/g,"")})}return{clauses:u,op:l}},j=(t,r,e)=>{const{field:a,op:s,value:o}=t,n=u=>{const c=u===o;return s==="="?c:!c},l=u=>{const c=(u??[]).includes(o);return s==="="?c:!c};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 l(e.tags);default:return!1}},I=(t,r,e)=>{const a=(e??[]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(Boolean);if(a.length===0)return t;const s=new Set(a);return t.filter(o=>{const n=r.projects[o]?.tags;return Array.isArray(n)&&n.some(l=>s.has(l))})},N=(t,r,e)=>{if(!e||e.trim()==="")return t;const a=x(e);return a?t.filter(s=>{const o=r.projects[s];return o?a.op==="&&"?a.clauses.every(n=>j(n,s,o)):a.clauses.some(n=>j(n,s,o)):!1}):t};export{I as a,N as f,T as p,E as r};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as h}from"node:module";import{m as N,D as b}from"./provenance-9OT8sTqn.js";import{g as B}from"./packument-N3EWbZpL.js";import{i as P}from"../packem_chunks/cli-main.js";import{f as x}from"./registry-keys-CYHd7qU2.js";let w;const _=s=>(w??=h(import.meta.url))(s),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,$=s=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[e,r]=g.versions.node.split(".").map(Number);if(e>22||e===22&&r>=3||e===20&&r>=16)return g.getBuiltinModule(s)}return _(s)},{createPublicKey:M,createVerify:R}=$("node:crypto"),j=s=>{const e=["-----BEGIN PUBLIC KEY-----"],r=s.replaceAll(/\s+/g,"");for(let a=0;a<r.length;a+=64)e.push(r.slice(a,a+64));return e.push("-----END PUBLIC KEY-----"),e.join(`
|
|
2
|
+
`)},E=({keyBase64:s,message:e,signatureBase64:r})=>{try{const a=M({format:"pem",key:j(s)}),o=R("SHA256");return o.update(e),o.end(),o.verify(a,Buffer.from(r,"base64"))}catch{return!1}},C=(s,e)=>{if(s.expires===void 0||s.expires==="")return!1;const r=Date.parse(s.expires);return Number.isNaN(r)?!1:r<=e},A=(s,e,r)=>`${s}@${e}:${r}`,D=(s,e)=>e!==void 0&&s.includes(e)?e:s.at(-1),K=async(s,e={})=>{if(P("signatures"))return[];const r=new Set(e.allowlist),a=e.treatExpiredAs??"warning",o=e.concurrency??b,l=await x({keysUrl:e.keysUrl,signal:e.signal,ttlMs:e.keysTtlMs});if(l===void 0)return s.filter(({name:i})=>!r.has(i)).map(({name:i,version:t})=>({code:"fetch-failed",message:"Could not fetch registry signing keys.",packageName:i,severity:"warning",version:t}));const m=new Map;for(const i of l.keys)m.set(i.keyid,i);const k=Date.now();return(await N(s,o,async({name:i,version:t})=>{if(r.has(i))return[];const c=await B(i,{workspaceRoot:e.workspaceRoot});if(c===void 0)return[];const y=c.versions[t]??c.versions[D(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 ${i}@${t} has no dist.signatures from the registry.`,packageName:i,severity:"warning",version:t}];if(typeof p!="string"||p==="")return[{code:"missing-signature",message:`Package ${i}@${t} has signatures but no dist.integrity to verify against.`,packageName:i,severity:"warning",version:t}];const v=A(i,t,p),u=[];for(const n of f){const d=m.get(n.keyid);if(d===void 0){u.push({code:"unknown-keyid",keyid:n.keyid,message:`Package ${i}@${t} was signed with an unrecognized keyid (${n.keyid}).`,packageName:i,severity:"error",version:t});continue}if(C(d,k)){u.push({code:"expired-key",keyid:n.keyid,message:`Package ${i}@${t} was signed with an expired key (${n.keyid}, expired ${d.expires??"unknown"}).`,packageName:i,severity:a,version:t});continue}E({keyBase64:d.key,message:v,signatureBase64:n.sig})||u.push({code:"invalid-signature",keyid:n.keyid,message:`Package ${i}@${t} signature did not verify against ${n.keyid}.`,packageName:i,severity:"error",version:t})}return u})).flat()};export{K as r};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as p}from"node:module";let m;const h=t=>(m??=p(import.meta.url))(t),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=t=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[r,e]=u.versions.node.split(".").map(Number);if(r>22||r===22&&e>=3||r===20&&e>=16)return u.getBuiltinModule(t)}return h(t)},{spawnSync:l}=f("node:child_process"),g=64*1024*1024,n=(t,r)=>{const e=l("git",t,{cwd:r,encoding:"utf8",maxBuffer:g});if(e.error)throw new Error(`Failed to spawn git ${t.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:""}},b=(t,r)=>{const e=(r.stderr||r.stdout).trim();return`git ${t.join(" ")} failed (exit ${r.status})${e?`:
|
|
2
|
+
${e}`:""}`},o=(t,r,e=n)=>{const s=e(t,r);if(s.status!==0)throw new Error(b(t,s));return s.stdout.trim()},$=(t,r=n)=>{const e=r(["rev-parse","--is-inside-work-tree"],t);if(e.status!==0||e.stdout.trim()!=="true")throw new Error(`Not a git repository: ${t}. Run inside a git working tree.`)},_=(t,r=n)=>o(["status","--porcelain"],t,r).length===0,j=(t,r=n)=>{if(!_(t,r))throw new Error("Working tree has uncommitted changes. Commit or stash them before running this command.")},y=({annotate:t,branch:r,cwd:e,prefix:s,runner:i=n})=>{const a=["subtree","split",`--prefix=${s}`];return t&&a.push(`--annotate=${t}`),a.push("-b",r),o(a,e,i),o(["rev-parse",r],e,i)},R=({cwd:t,message:r,prefix:e,ref:s,repo:i,runner:a=n,squash:d})=>{const c=["subtree","add",`--prefix=${e}`];d&&c.push("--squash"),r&&c.push("-m",r),c.push(i,s),o(c,t,a)},v=({branch:t,runner:r=n,source:e,sourceBranch:s,target:i})=>{o(["init","-b",t],i,r),o(["pull",e,s],i,r)},x=(t,r,e=n)=>{o(["branch","-D",t],r,e)},B=(t,r,e,s=n)=>{o(["remote","add",t,r],e,s)},q=(t,r,e,s=n)=>{o(["push","-u",t,r],e,s)},N=(t,r,e=n)=>{const s=o(["rev-list","--count",t],r,e),i=Number.parseInt(s,10);return Number.isNaN(i)?0:i},k=(t,r,e,s=n)=>{o(["rm","-r",t],e,s),o(["commit","-m",r],e,s)};export{$ as a,j as b,B as c,N as d,x as e,R as f,v as i,q as p,k as r,y as s};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{createRequire as ao}from"node:module";let po;const co=e=>(po??=ao(import.meta.url))(e),de=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,fo=e=>{if(typeof de<"u"&&de.versions&&de.versions.node){const[t,o]=de.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return de.getBuiltinModule(e)}return co(e)},{createRequire:go}=fo("node:module");let ho;const bo=e=>(ho??=go(import.meta.url))(e),be=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Xt=e=>{if(typeof be<"u"&&be.versions&&be.versions.node){const[t,o]=be.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return be.getBuiltinModule(e)}return bo(e)},{homedir:yo,tmpdir:pt}=Xt("node:os"),{env:et,cwd:mo,platform:$t}=be,{createRequire:k}=Xt("node:module"),vo=0,Wt=2,Ao=Symbol("findUpStop"),Ro=/^[A-Z]:\//i,ot=(e="")=>e&&e.replaceAll("\\","/").replace(Ro,t=>t.toUpperCase()),Eo=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Z]:[/\\]/i,_o=/^[A-Z]:$/i,xo=/.(\.[^./]+)$/,To=/^[/\\]|^[a-z]:[/\\]/i,Co=/\/$/,$o=()=>typeof process.cwd=="function"?process.cwd().replaceAll("\\","/"):"/",So=(e,t)=>{let o="",c=0,p=-1,r=0,u;for(let a=0;a<=e.length;++a){if(a<e.length)u=e[a];else{if(u==="/")break;u="/"}if(u==="/"){if(!(p===a-1||r===1))if(r===2){if(o.length<2||c!==2||!o.endsWith(".")||o.at(-2)!=="."){if(o.length>2){const f=o.lastIndexOf("/");f===-1?(o="",c=0):(o=o.slice(0,f),c=o.length-1-o.lastIndexOf("/")),p=a,r=0;continue}else if(o.length>0){o="",c=0,p=a,r=0;continue}}t&&(o+=o.length>0?"/..":"..",c=2)}else o.length>0?o+=`/${e.slice(p+1,a)}`:o=e.slice(p+1,a),c=a-p-1;p=a,r=0}else u==="."&&r!==-1?++r:r=-1}return o},tt=e=>Eo.test(e),ct=function(...e){e=e.map(c=>ot(c));let t="",o=!1;for(let c=e.length-1;c>=-1&&!o;c--){const p=c>=0?e[c]:$o();!p||p.length===0||(t=`${p}/${t}`,o=tt(p))}return t=So(t,!o),o&&!tt(t)?`/${t}`:t.length>0?t:"."},Oo=function(e){return xo.exec(ot(e))?.[1]??""},qt=e=>{const t=ot(e).replace(Co,""),o=t.lastIndexOf("/");if(o===-1)return tt(e)?"/":".";const c=t.slice(0,o);return _o.test(c)?`${c}/`:c||(tt(e)?"/":".")},ko=(e,t)=>{const o=ot(e);return o.slice(o.lastIndexOf("/")+1)},wo=function(e){const t=To.exec(e)?.[0]?.replaceAll("\\","/")??"",o=ko(e),c=Oo(o);return{base:o,dir:qt(e),ext:c,name:o.slice(0,o.length-c.length),root:t}},Ho=k(import.meta.url),ye=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,No=e=>{if(typeof ye<"u"&&ye.versions&&ye.versions.node){const[t,o]=ye.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return ye.getBuiltinModule(e)}return Ho(e)},{fileURLToPath:Lo}=No("node:url");function Bo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var St,Ot;function Io(){return Ot||(Ot=1,St=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cr3","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),St}var Mo=Io();const Do=Bo(Mo);new Set(Do);const ut=e=>ot(e instanceof URL?Lo(e):e),Qt=e=>{if(!e||!(e instanceof URL)&&typeof e!="string")throw new TypeError("Path must be a non-empty string or URL.")},Go=k(import.meta.url),me=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Po=e=>{if(typeof me<"u"&&me.versions&&me.versions.node){const[t,o]=me.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return me.getBuiltinModule(e)}return Go(e)};Po("node:fs/promises");const Uo=k(import.meta.url),ve=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Fo=e=>{if(typeof ve<"u"&&ve.versions&&ve.versions.node){const[t,o]=ve.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return ve.getBuiltinModule(e)}return Uo(e)};Fo("node:fs");const kt=e=>{if(e.isFile())return"file";if(e.isDirectory())return"dir";if(e.isSymbolicLink())return"symlink"},jo=k(import.meta.url),Ae=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,zo=e=>{if(typeof Ae<"u"&&Ae.versions&&Ae.versions.node){const[t,o]=Ae.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ae.getBuiltinModule(e)}return jo(e)};zo("node:fs/promises");const Ko=k(import.meta.url),Re=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Xo=e=>{if(typeof Re<"u"&&Re.versions&&Re.versions.node){const[t,o]=Re.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Re.getBuiltinModule(e)}return Ko(e)},{lstatSync:wt,mkdirSync:Wo}=Xo("node:fs"),Ee=e=>{Qt(e);try{const t=wt(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(kt(t))}'`);return}catch(t){if(t.code!=="ENOENT")throw t}try{Wo(e,{recursive:!0})}catch(t){if(t.code!=="EEXIST")throw t;const o=wt(e);if(!o.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(kt(o))}'`,{cause:t})}},qo=k(import.meta.url),_e=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Qo=e=>{if(typeof _e<"u"&&_e.versions&&_e.versions.node){const[t,o]=_e.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return _e.getBuiltinModule(e)}return qo(e)};Qo("node:fs/promises");const Zo=k(import.meta.url),xe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Yo=e=>{if(typeof xe<"u"&&xe.versions&&xe.versions.node){const[t,o]=xe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return xe.getBuiltinModule(e)}return Zo(e)};Yo("node:fs");const Vo=k(import.meta.url),Te=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Jo=e=>{if(typeof Te<"u"&&Te.versions&&Te.versions.node){const[t,o]=Te.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Te.getBuiltinModule(e)}return Vo(e)};Jo("node:fs/promises");const er=k(import.meta.url),Ce=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,tr=e=>{if(typeof Ce<"u"&&Ce.versions&&Ce.versions.node){const[t,o]=Ce.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ce.getBuiltinModule(e)}return er(e)};tr("node:fs");const or=k(import.meta.url),$e=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,rr=e=>{if(typeof $e<"u"&&$e.versions&&$e.versions.node){const[t,o]=$e.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return $e.getBuiltinModule(e)}return or(e)};rr("node:fs/promises");const sr=k(import.meta.url),Se=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,nr=e=>{if(typeof Se<"u"&&Se.versions&&Se.versions.node){const[t,o]=Se.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Se.getBuiltinModule(e)}return sr(e)};nr("node:fs");k(import.meta.url);const ur=k(import.meta.url),Oe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ir=e=>{if(typeof Oe<"u"&&Oe.versions&&Oe.versions.node){const[t,o]=Oe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Oe.getBuiltinModule(e)}return ur(e)};ir("node:fs/promises");const lr=k(import.meta.url),ke=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ar=e=>{if(typeof ke<"u"&&ke.versions&&ke.versions.node){const[t,o]=ke.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return ke.getBuiltinModule(e)}return lr(e)};ar("node:fs");const pr=k(import.meta.url),we=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,cr=e=>{if(typeof we<"u"&&we.versions&&we.versions.node){const[t,o]=we.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return we.getBuiltinModule(e)}return pr(e)};cr("node:fs/promises");const fr=k(import.meta.url),He=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,gr=e=>{if(typeof He<"u"&&He.versions&&He.versions.node){const[t,o]=He.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return He.getBuiltinModule(e)}return fr(e)},{statSync:hr,lstatSync:br}=gr("node:fs"),dr=(e,t={})=>{const o=t.cwd?ut(t.cwd):process.cwd();let c=ct(o);const{root:p}=wo(c),r=ut(t.stopAt??p),u=ct(c,r),a=t.type??"file",f=function(h){return[e]};t.allowSymlinks??=!0;const $=t.allowSymlinks?hr:br;for(;c&&c!==u&&c!==p;){for(let h of f()){if(h===Ao)return;if(h===void 0)continue;Buffer.isBuffer(h)?h=h.toString():h instanceof URL&&(h=ut(h));const x=tt(h)?h:ct(c,h);try{const T=$(x);if(a==="file"&&T.isFile()||a==="directory"&&T.isDirectory())return x}catch{}}c=qt(c)}};function xt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ht={},ft,Nt;function lt(){if(Nt)return ft;Nt=1;const e="[^\\\\/]",t=Symbol("unignore"),o="\\.",c="\\+",p="\\?",r="\\/",u="(?=.)",a="[^/]",f=`(?:${r}|$)`,$=`(?:^|${r})`,h=`${o}{1,2}${f}`,x=`(?!${o})`,T=`(?!${$}${h})`,E=`(?!${o}{0,1}${f})`,B=`(?!${h})`,te=`[^.${r}]`,Q=`${a}*?`,K="/",b={DOT_LITERAL:o,PLUS_LITERAL:c,QMARK_LITERAL:p,SLASH_LITERAL:r,ONE_CHAR:u,QMARK:a,END_ANCHOR:f,DOTS_SLASH:h,NO_DOT:x,NO_DOTS:T,NO_DOT_SLASH:E,NO_DOTS_SLASH:B,QMARK_NO_DOT:te,STAR:Q,START_ANCHOR:$,SEP:K},y={...b,SLASH_LITERAL:"[\\\\/]",QMARK:e,STAR:`${e}*?`,DOTS_SLASH:`${o}{1,2}(?:[\\\\/]|$)`,NO_DOT:`(?!${o})`,NO_DOTS:`(?!(?:^|[\\\\/])${o}{1,2}(?:[\\\\/]|$))`,NO_DOT_SLASH:`(?!${o}{0,1}(?:[\\\\/]|$))`,NO_DOTS_SLASH:`(?!${o}{1,2}(?:[\\\\/]|$))`,QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},s={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};return ft={DEFAULT_MAX_EXTGLOB_RECURSION:0,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:s,UNIGNORE:t,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(m){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${m.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(m){return m===!0?y:b}},ft}var Lt;function at(){return Lt||(Lt=1,(function(e){const{REGEX_BACKSLASH:t,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:c,REGEX_SPECIAL_CHARS_GLOBAL:p}=lt();e.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),e.hasRegexChars=r=>c.test(r),e.isRegexChar=r=>r.length===1&&e.hasRegexChars(r),e.escapeRegex=r=>r.replace(p,"\\$1"),e.toPosixSlashes=r=>r.replace(t,"/"),e.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){const r=navigator.platform.toLowerCase();return r==="win32"||r==="windows"}return process.platform?process.platform==="win32":!1},e.removeBackslashes=r=>r.replace(o,u=>u==="\\"?"":u),e.escapeLast=(r,u,a)=>{const f=r.lastIndexOf(u,a);return f===-1?r:r[f-1]==="\\"?e.escapeLast(r,u,f-1):`${r.slice(0,f)}\\${r.slice(f)}`},e.removePrefix=(r,u={})=>{let a=r;return a.startsWith("./")&&(a=a.slice(2),u.prefix="./"),a},e.wrapOutput=(r,u={},a={})=>{const f=a.contains?"":"^",$=a.contains?"":"$";let h=`${f}(?:${r})${$}`;return u.negated===!0&&(h=`(?:^(?!${h}).*$)`),h},e.basename=(r,{windows:u}={})=>{const a=r.split(u?/[\\/]/:"/"),f=a[a.length-1];return f===""?a[a.length-2]:f}})(Ht)),Ht}var gt,Bt;function yr(){if(Bt)return gt;Bt=1;const e=at(),{CHAR_ASTERISK:t,CHAR_AT:o,CHAR_BACKWARD_SLASH:c,CHAR_COMMA:p,CHAR_DOT:r,CHAR_EXCLAMATION_MARK:u,CHAR_FORWARD_SLASH:a,CHAR_LEFT_CURLY_BRACE:f,CHAR_LEFT_PARENTHESES:$,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_PLUS:x,CHAR_QUESTION_MARK:T,CHAR_RIGHT_CURLY_BRACE:E,CHAR_RIGHT_PARENTHESES:B,CHAR_RIGHT_SQUARE_BRACKET:te}=lt(),Q=b=>b===a||b===c,K=b=>{b.isPrefix!==!0&&(b.depth=b.isGlobstar?1/0:1)};return gt=(b,y)=>{const s=y||{},m=b.length-1,A=s.parts===!0||s.scanToEnd===!0,R=[],v=[],w=[];let X=b,Z=-1,U=0,re=0,W=!1,se=!1,M=!1,ae=!1,ge=!1,ne=!1,L=!1,ue=!1,he=!1,q=!1,z=0,V,_,O={value:"",depth:0,isGlob:!1};const l=()=>Z>=m,Y=()=>X.charCodeAt(Z+1),F=()=>(V=_,X.charCodeAt(++Z));for(;Z<m;){_=F();let H;if(_===c){L=O.backslashes=!0,_=F(),_===f&&(ne=!0);continue}if(ne===!0||_===f){for(z++;l()!==!0&&(_=F());){if(_===c){L=O.backslashes=!0,F();continue}if(_===f){z++;continue}if(ne!==!0&&_===r&&(_=F())===r){if(W=O.isBrace=!0,M=O.isGlob=!0,q=!0,A===!0)continue;break}if(ne!==!0&&_===p){if(W=O.isBrace=!0,M=O.isGlob=!0,q=!0,A===!0)continue;break}if(_===E&&(z--,z===0)){ne=!1,W=O.isBrace=!0,q=!0;break}}if(A===!0)continue;break}if(_===a){if(R.push(Z),v.push(O),O={value:"",depth:0,isGlob:!1},q===!0)continue;if(V===r&&Z===U+1){U+=2;continue}re=Z+1;continue}if(s.noext!==!0&&(_===x||_===o||_===t||_===T||_===u)&&Y()===$){if(M=O.isGlob=!0,ae=O.isExtglob=!0,q=!0,_===u&&Z===U&&(he=!0),A===!0){for(;l()!==!0&&(_=F());){if(_===c){L=O.backslashes=!0,_=F();continue}if(_===B){M=O.isGlob=!0,q=!0;break}}continue}break}if(_===t){if(V===t&&(ge=O.isGlobstar=!0),M=O.isGlob=!0,q=!0,A===!0)continue;break}if(_===T){if(M=O.isGlob=!0,q=!0,A===!0)continue;break}if(_===h){for(;l()!==!0&&(H=F());){if(H===c){L=O.backslashes=!0,F();continue}if(H===te){se=O.isBracket=!0,M=O.isGlob=!0,q=!0;break}}if(A===!0)continue;break}if(s.nonegate!==!0&&_===u&&Z===U){ue=O.negated=!0,U++;continue}if(s.noparen!==!0&&_===$){if(M=O.isGlob=!0,A===!0){for(;l()!==!0&&(_=F());){if(_===$){L=O.backslashes=!0,_=F();continue}if(_===B){q=!0;break}}continue}break}if(M===!0){if(q=!0,A===!0)continue;break}}s.noext===!0&&(ae=!1,M=!1);let P=X,n="",i="";U>0&&(n=X.slice(0,U),X=X.slice(U),re-=U),P&&M===!0&&re>0?(P=X.slice(0,re),i=X.slice(re)):M===!0?(P="",i=X):P=X,P&&P!==""&&P!=="/"&&P!==X&&Q(P.charCodeAt(P.length-1))&&(P=P.slice(0,-1)),s.unescape===!0&&(i&&(i=e.removeBackslashes(i)),P&&L===!0&&(P=e.removeBackslashes(P)));const ee={prefix:n,input:b,start:U,base:P,glob:i,isBrace:W,isBracket:se,isGlob:M,isExtglob:ae,isGlobstar:ge,negated:ue,negatedExtglob:he};if(s.tokens===!0&&(ee.maxDepth=0,Q(_)||v.push(O),ee.tokens=v),s.parts===!0||s.tokens===!0){let H;for(let D=0;D<R.length;D++){const pe=H?H+1:U,J=R[D],ce=b.slice(pe,J);s.tokens&&(D===0&&U!==0?(v[D].isPrefix=!0,v[D].value=n):v[D].value=ce,K(v[D]),ee.maxDepth+=v[D].depth),(D!==0||ce!=="")&&w.push(ce),H=J}if(H&&H+1<b.length){const D=b.slice(H+1);w.push(D),s.tokens&&(v[v.length-1].value=D,K(v[v.length-1]),ee.maxDepth+=v[v.length-1].depth)}ee.slashes=R,ee.parts=w}return ee},gt}var ht,It;function mr(){if(It)return ht;It=1;const e=lt(),t=at(),{MAX_LENGTH:o,POSIX_REGEX_SOURCE:c,REGEX_NON_SPECIAL_CHARS:p,REGEX_SPECIAL_CHARS_BACKREF:r,REPLACEMENTS:u}=e,a=(b,y)=>typeof y.expandRange=="function"?y.expandRange(...b,y):(b.sort(),`[${b.join("-")}]`),f=(b,y)=>`Missing ${b}: "${y}" - use "\\\\${y}" to match literal characters`,$=b=>{const y=[];let s=0,m=0,A=0,R="",v=!1;for(const w of b){if(v===!0){R+=w,v=!1;continue}if(w==="\\"){R+=w,v=!0;continue}if(w==='"'){A=A===1?0:1,R+=w;continue}if(A===0){if(w==="[")s++;else if(w==="]"&&s>0)s--;else if(s===0){if(w==="(")m++;else if(w===")"&&m>0)m--;else if(w==="|"&&m===0){y.push(R),R="";continue}}}R+=w}return y.push(R),y},h=b=>{let y=!1;for(const s of b){if(y===!0){y=!1;continue}if(s==="\\"){y=!0;continue}if(/[?*+@!()[\]{}]/.test(s))return!1}return!0},x=b=>{let y=b.trim(),s=!0;for(;s===!0;)s=!1,/^@\([^\\()[\]{}|]+\)$/.test(y)&&(y=y.slice(2,-1),s=!0);if(h(y))return y.replace(/\\(.)/g,"$1")},T=b=>{const y=b.map(x).filter(Boolean);for(let s=0;s<y.length;s++)for(let m=s+1;m<y.length;m++){const A=y[s],R=y[m],v=A[0];if(!(!v||A!==v.repeat(A.length)||R!==v.repeat(R.length))&&(A===R||A.startsWith(R)||R.startsWith(A)))return!0}return!1},E=(b,y=!0)=>{if(b[0]!=="+"&&b[0]!=="*"||b[1]!=="(")return;let s=0,m=0,A=0,R=!1;for(let v=1;v<b.length;v++){const w=b[v];if(R===!0){R=!1;continue}if(w==="\\"){R=!0;continue}if(w==='"'){A=A===1?0:1;continue}if(A!==1){if(w==="["){s++;continue}if(w==="]"&&s>0){s--;continue}if(!(s>0)){if(w==="("){m++;continue}if(w===")"&&(m--,m===0))return y===!0&&v!==b.length-1?void 0:{type:b[0],body:b.slice(2,v),end:v}}}}},B=b=>{let y=0;const s=[];for(;y<b.length;){const m=E(b.slice(y),!1);if(!m||m.type!=="*")return;const A=$(m.body).map(v=>v.trim());if(A.length!==1)return;const R=x(A[0]);if(!R||R.length!==1)return;s.push(R),y+=m.end+1}return s.length<1?void 0:`${s.length===1?t.escapeRegex(s[0]):`[${s.map(m=>t.escapeRegex(m)).join("")}]`}*`},te=b=>{let y=0,s=b.trim(),m=E(s);for(;m;)y++,s=m.body.trim(),m=E(s);return y},Q=(b,y)=>{if(y.maxExtglobRecursion===!1)return{risky:!1};const s=typeof y.maxExtglobRecursion=="number"?y.maxExtglobRecursion:e.DEFAULT_MAX_EXTGLOB_RECURSION,m=$(b).map(A=>A.trim());if(m.length>1&&(m.some(A=>A==="")||m.some(A=>/^[*?]+$/.test(A))||T(m)))return{risky:!0};for(const A of m){const R=B(A);if(R)return{risky:!0,safeOutput:R};if(te(A)>s)return{risky:!0}}return{risky:!1}},K=(b,y)=>{if(typeof b!="string")throw new TypeError("Expected a string");b=u[b]||b;const s={...y},m=typeof s.maxLength=="number"?Math.min(o,s.maxLength):o;let A=b.length;if(A>m)throw new SyntaxError(`Input length: ${A}, exceeds maximum allowed length: ${m}`);const R={type:"bos",value:"",output:s.prepend||""},v=[R],w=s.capture?"":"?:",X=e.globChars(s.windows),Z=e.extglobChars(X),{DOT_LITERAL:U,PLUS_LITERAL:re,SLASH_LITERAL:W,ONE_CHAR:se,DOTS_SLASH:M,NO_DOT:ae,NO_DOT_SLASH:ge,NO_DOTS_SLASH:ne,QMARK:L,QMARK_NO_DOT:ue,STAR:he,START_ANCHOR:q}=X,z=d=>`(${w}(?:(?!${q}${d.dot?M:U}).)*?)`,V=s.dot?"":ae,_=s.dot?L:ue;let O=s.bash===!0?z(s):he;s.capture&&(O=`(${O})`),typeof s.noext=="boolean"&&(s.noextglob=s.noext);const l={input:b,index:-1,start:0,dot:s.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:v};b=t.removePrefix(b,l),A=b.length;const Y=[],F=[],P=[];let n=R,i;const ee=()=>l.index===A-1,H=l.peek=(d=1)=>b[l.index+d],D=l.advance=()=>b[++l.index]||"",pe=()=>b.slice(l.index+1),J=(d="",I=0)=>{l.consumed+=d,l.index+=I},ce=d=>{l.output+=d.output!=null?d.output:d.value,J(d.value)},io=()=>{let d=1;for(;H()==="!"&&(H(2)!=="("||H(3)==="?");)D(),l.start++,d++;return d%2===0?!1:(l.negated=!0,l.start++,!0)},st=d=>{l[d]++,P.push(d)},fe=d=>{l[d]--,P.pop()},C=d=>{if(n.type==="globstar"){const I=l.braces>0&&(d.type==="comma"||d.type==="brace"),g=d.extglob===!0||Y.length&&(d.type==="pipe"||d.type==="paren");d.type!=="slash"&&d.type!=="paren"&&!I&&!g&&(l.output=l.output.slice(0,-n.output.length),n.type="star",n.value="*",n.output=O,l.output+=n.output)}if(Y.length&&d.type!=="paren"&&(Y[Y.length-1].inner+=d.value),(d.value||d.output)&&ce(d),n&&n.type==="text"&&d.type==="text"){n.output=(n.output||n.value)+d.value,n.value+=d.value;return}d.prev=n,v.push(d),n=d},nt=(d,I)=>{const g={...Z[I],conditions:1,inner:""};g.prev=n,g.parens=l.parens,g.output=l.output,g.startIndex=l.index,g.tokensIndex=v.length;const S=(s.capture?"(":"")+g.open;st("parens"),C({type:d,value:I,output:l.output?"":se}),C({type:"paren",extglob:!0,value:D(),output:S}),Y.push(g)},lo=d=>{const I=b.slice(d.startIndex,l.index+1),g=b.slice(d.startIndex+2,l.index),S=Q(g,s);if((d.type==="plus"||d.type==="star")&&S.risky){const N=S.safeOutput?(d.output?"":se)+(s.capture?`(${S.safeOutput})`:S.safeOutput):void 0,ie=v[d.tokensIndex];ie.type="text",ie.value=I,ie.output=N||t.escapeRegex(I);for(let le=d.tokensIndex+1;le<v.length;le++)v[le].value="",v[le].output="",delete v[le].suffix;l.output=d.output+ie.output,l.backtrack=!0,C({type:"paren",extglob:!0,value:i,output:""}),fe("parens");return}let G=d.close+(s.capture?")":""),j;if(d.type==="negate"){let N=O;if(d.inner&&d.inner.length>1&&d.inner.includes("/")&&(N=z(s)),(N!==O||ee()||/^\)+$/.test(pe()))&&(G=d.close=`)$))${N}`),d.inner.includes("*")&&(j=pe())&&/^\.[^\\/.]+$/.test(j)){const ie=K(j,{...y,fastpaths:!1}).output;G=d.close=`)${ie})${N})`}d.prev.type==="bos"&&(l.negatedExtglob=!0)}C({type:"paren",extglob:!0,value:i,output:G}),fe("parens")};if(s.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(b)){let d=!1,I=b.replace(r,(g,S,G,j,N,ie)=>j==="\\"?(d=!0,g):j==="?"?S?S+j+(N?L.repeat(N.length):""):ie===0?_+(N?L.repeat(N.length):""):L.repeat(G.length):j==="."?U.repeat(G.length):j==="*"?S?S+j+(N?O:""):O:S?g:`\\${g}`);return d===!0&&(s.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,g=>g.length%2===0?"\\\\":g?"\\":"")),I===b&&s.contains===!0?(l.output=b,l):(l.output=t.wrapOutput(I,l,y),l)}for(;!ee();){if(i=D(),i==="\0")continue;if(i==="\\"){const g=H();if(g==="/"&&s.bash!==!0||g==="."||g===";")continue;if(!g){i+="\\",C({type:"text",value:i});continue}const S=/^\\+/.exec(pe());let G=0;if(S&&S[0].length>2&&(G=S[0].length,l.index+=G,G%2!==0&&(i+="\\")),s.unescape===!0?i=D():i+=D(),l.brackets===0){C({type:"text",value:i});continue}}if(l.brackets>0&&(i!=="]"||n.value==="["||n.value==="[^")){if(s.posix!==!1&&i===":"){const g=n.value.slice(1);if(g.includes("[")&&(n.posix=!0,g.includes(":"))){const S=n.value.lastIndexOf("["),G=n.value.slice(0,S),j=n.value.slice(S+2),N=c[j];if(N){n.value=G+N,l.backtrack=!0,D(),!R.output&&v.indexOf(n)===1&&(R.output=se);continue}}}(i==="["&&H()!==":"||i==="-"&&H()==="]")&&(i=`\\${i}`),i==="]"&&(n.value==="["||n.value==="[^")&&(i=`\\${i}`),s.posix===!0&&i==="!"&&n.value==="["&&(i="^"),n.value+=i,ce({value:i});continue}if(l.quotes===1&&i!=='"'){i=t.escapeRegex(i),n.value+=i,ce({value:i});continue}if(i==='"'){l.quotes=l.quotes===1?0:1,s.keepQuotes===!0&&C({type:"text",value:i});continue}if(i==="("){st("parens"),C({type:"paren",value:i});continue}if(i===")"){if(l.parens===0&&s.strictBrackets===!0)throw new SyntaxError(f("opening","("));const g=Y[Y.length-1];if(g&&l.parens===g.parens+1){lo(Y.pop());continue}C({type:"paren",value:i,output:l.parens?")":"\\)"}),fe("parens");continue}if(i==="["){if(s.nobracket===!0||!pe().includes("]")){if(s.nobracket!==!0&&s.strictBrackets===!0)throw new SyntaxError(f("closing","]"));i=`\\${i}`}else st("brackets");C({type:"bracket",value:i});continue}if(i==="]"){if(s.nobracket===!0||n&&n.type==="bracket"&&n.value.length===1){C({type:"text",value:i,output:`\\${i}`});continue}if(l.brackets===0){if(s.strictBrackets===!0)throw new SyntaxError(f("opening","["));C({type:"text",value:i,output:`\\${i}`});continue}fe("brackets");const g=n.value.slice(1);if(n.posix!==!0&&g[0]==="^"&&!g.includes("/")&&(i=`/${i}`),n.value+=i,ce({value:i}),s.literalBrackets===!1||t.hasRegexChars(g))continue;const S=t.escapeRegex(n.value);if(l.output=l.output.slice(0,-n.value.length),s.literalBrackets===!0){l.output+=S,n.value=S;continue}n.value=`(${w}${S}|${n.value})`,l.output+=n.value;continue}if(i==="{"&&s.nobrace!==!0){st("braces");const g={type:"brace",value:i,output:"(",outputIndex:l.output.length,tokensIndex:l.tokens.length};F.push(g),C(g);continue}if(i==="}"){const g=F[F.length-1];if(s.nobrace===!0||!g){C({type:"text",value:i,output:i});continue}let S=")";if(g.dots===!0){const G=v.slice(),j=[];for(let N=G.length-1;N>=0&&(v.pop(),G[N].type!=="brace");N--)G[N].type!=="dots"&&j.unshift(G[N].value);S=a(j,s),l.backtrack=!0}if(g.comma!==!0&&g.dots!==!0){const G=l.output.slice(0,g.outputIndex),j=l.tokens.slice(g.tokensIndex);g.value=g.output="\\{",i=S="\\}",l.output=G;for(const N of j)l.output+=N.output||N.value}C({type:"brace",value:i,output:S}),fe("braces"),F.pop();continue}if(i==="|"){Y.length>0&&Y[Y.length-1].conditions++,C({type:"text",value:i});continue}if(i===","){let g=i;const S=F[F.length-1];S&&P[P.length-1]==="braces"&&(S.comma=!0,g="|"),C({type:"comma",value:i,output:g});continue}if(i==="/"){if(n.type==="dot"&&l.index===l.start+1){l.start=l.index+1,l.consumed="",l.output="",v.pop(),n=R;continue}C({type:"slash",value:i,output:W});continue}if(i==="."){if(l.braces>0&&n.type==="dot"){n.value==="."&&(n.output=U);const g=F[F.length-1];n.type="dots",n.output+=i,n.value+=i,g.dots=!0;continue}if(l.braces+l.parens===0&&n.type!=="bos"&&n.type!=="slash"){C({type:"text",value:i,output:U});continue}C({type:"dot",value:i,output:U});continue}if(i==="?"){if(!(n&&n.value==="(")&&s.noextglob!==!0&&H()==="("&&H(2)!=="?"){nt("qmark",i);continue}if(n&&n.type==="paren"){const g=H();let S=i;(n.value==="("&&!/[!=<:]/.test(g)||g==="<"&&!/<([!=]|\w+>)/.test(pe()))&&(S=`\\${i}`),C({type:"text",value:i,output:S});continue}if(s.dot!==!0&&(n.type==="slash"||n.type==="bos")){C({type:"qmark",value:i,output:ue});continue}C({type:"qmark",value:i,output:L});continue}if(i==="!"){if(s.noextglob!==!0&&H()==="("&&(H(2)!=="?"||!/[!=<:]/.test(H(3)))){nt("negate",i);continue}if(s.nonegate!==!0&&l.index===0){io();continue}}if(i==="+"){if(s.noextglob!==!0&&H()==="("&&H(2)!=="?"){nt("plus",i);continue}if(n&&n.value==="("||s.regex===!1){C({type:"plus",value:i,output:re});continue}if(n&&(n.type==="bracket"||n.type==="paren"||n.type==="brace")||l.parens>0){C({type:"plus",value:i});continue}C({type:"plus",value:re});continue}if(i==="@"){if(s.noextglob!==!0&&H()==="("&&H(2)!=="?"){C({type:"at",extglob:!0,value:i,output:""});continue}C({type:"text",value:i});continue}if(i!=="*"){(i==="$"||i==="^")&&(i=`\\${i}`);const g=p.exec(pe());g&&(i+=g[0],l.index+=g[0].length),C({type:"text",value:i});continue}if(n&&(n.type==="globstar"||n.star===!0)){n.type="star",n.star=!0,n.value+=i,n.output=O,l.backtrack=!0,l.globstar=!0,J(i);continue}let d=pe();if(s.noextglob!==!0&&/^\([^?]/.test(d)){nt("star",i);continue}if(n.type==="star"){if(s.noglobstar===!0){J(i);continue}const g=n.prev,S=g.prev,G=g.type==="slash"||g.type==="bos",j=S&&(S.type==="star"||S.type==="globstar");if(s.bash===!0&&(!G||d[0]&&d[0]!=="/")){C({type:"star",value:i,output:""});continue}const N=l.braces>0&&(g.type==="comma"||g.type==="brace"),ie=Y.length&&(g.type==="pipe"||g.type==="paren");if(!G&&g.type!=="paren"&&!N&&!ie){C({type:"star",value:i,output:""});continue}for(;d.slice(0,3)==="/**";){const le=b[l.index+4];if(le&&le!=="/")break;d=d.slice(3),J("/**",3)}if(g.type==="bos"&&ee()){n.type="globstar",n.value+=i,n.output=z(s),l.output=n.output,l.globstar=!0,J(i);continue}if(g.type==="slash"&&g.prev.type!=="bos"&&!j&&ee()){l.output=l.output.slice(0,-(g.output+n.output).length),g.output=`(?:${g.output}`,n.type="globstar",n.output=z(s)+(s.strictSlashes?")":"|$)"),n.value+=i,l.globstar=!0,l.output+=g.output+n.output,J(i);continue}if(g.type==="slash"&&g.prev.type!=="bos"&&d[0]==="/"){const le=d[1]!==void 0?"|$":"";l.output=l.output.slice(0,-(g.output+n.output).length),g.output=`(?:${g.output}`,n.type="globstar",n.output=`${z(s)}${W}|${W}${le})`,n.value+=i,l.output+=g.output+n.output,l.globstar=!0,J(i+D()),C({type:"slash",value:"/",output:""});continue}if(g.type==="bos"&&d[0]==="/"){n.type="globstar",n.value+=i,n.output=`(?:^|${W}|${z(s)}${W})`,l.output=n.output,l.globstar=!0,J(i+D()),C({type:"slash",value:"/",output:""});continue}if(N&&d[0]==="/"){n.type="globstar",n.value+=i,n.output=`(?:^|${W}|${z(s)}${W})`,l.output+=n.output,l.globstar=!0,J(i+D()),C({type:"slash",value:"/",output:""});continue}l.output=l.output.slice(0,-n.output.length),n.type="globstar",n.output=z(s),n.value+=i,l.output+=n.output,l.globstar=!0,J(i);continue}const I={type:"star",value:i,output:O};if(s.bash===!0){I.output=".*?",(n.type==="bos"||n.type==="slash")&&(I.output=V+I.output),C(I);continue}if(n&&(n.type==="bracket"||n.type==="paren")&&s.regex===!0){I.output=i,C(I);continue}(l.index===l.start||n.type==="slash"||n.type==="dot")&&(n.type==="dot"?(l.output+=ge,n.output+=ge):s.dot===!0?(l.output+=ne,n.output+=ne):(l.output+=V,n.output+=V),H()!=="*"&&(l.output+=se,n.output+=se)),C(I)}for(;l.brackets>0;){if(s.strictBrackets===!0)throw new SyntaxError(f("closing","]"));l.output=t.escapeLast(l.output,"["),fe("brackets")}for(;l.parens>0;){if(s.strictBrackets===!0)throw new SyntaxError(f("closing",")"));l.output=t.escapeLast(l.output,"("),fe("parens")}for(;l.braces>0;){if(s.strictBrackets===!0)throw new SyntaxError(f("closing","}"));l.output=t.escapeLast(l.output,"{"),fe("braces")}if(s.strictSlashes!==!0&&(n.type==="star"||n.type==="bracket")&&C({type:"maybe_slash",value:"",output:`${W}?`}),l.backtrack===!0){l.output="";for(const d of l.tokens)l.output+=d.output!=null?d.output:d.value,d.suffix&&(l.output+=d.suffix)}return l};return K.fastpaths=(b,y)=>{const s={...y},m=typeof s.maxLength=="number"?Math.min(o,s.maxLength):o,A=b.length;if(A>m)throw new SyntaxError(`Input length: ${A}, exceeds maximum allowed length: ${m}`);b=u[b]||b;const{DOT_LITERAL:R,SLASH_LITERAL:v,ONE_CHAR:w,DOTS_SLASH:X,NO_DOT:Z,NO_DOTS:U,NO_DOTS_SLASH:re,STAR:W,START_ANCHOR:se}=e.globChars(s.windows),M=s.dot?U:Z,ae=s.dot?re:Z,ge=s.capture?"":"?:",ne={negated:!1,prefix:""};let L=s.bash===!0?".*?":W;s.capture&&(L=`(${L})`);const ue=V=>V.noglobstar===!0?L:`(${ge}(?:(?!${se}${V.dot?X:R}).)*?)`,he=V=>{switch(V){case"*":return`${M}${w}${L}`;case".*":return`${R}${w}${L}`;case"*.*":return`${M}${L}${R}${w}${L}`;case"*/*":return`${M}${L}${v}${w}${ae}${L}`;case"**":return M+ue(s);case"**/*":return`(?:${M}${ue(s)}${v})?${ae}${w}${L}`;case"**/*.*":return`(?:${M}${ue(s)}${v})?${ae}${L}${R}${w}${L}`;case"**/.*":return`(?:${M}${ue(s)}${v})?${R}${w}${L}`;default:{const _=/^(.*?)\.(\w+)$/.exec(V);if(!_)return;const O=he(_[1]);return O?O+R+_[2]:void 0}}},q=t.removePrefix(b,ne);let z=he(q);return z&&s.strictSlashes!==!0&&(z+=`${v}?`),z},ht=K,ht}var bt,Mt;function vr(){if(Mt)return bt;Mt=1;const e=yr(),t=mr(),o=at(),c=lt(),p=u=>u&&typeof u=="object"&&!Array.isArray(u),r=(u,a,f=!1)=>{if(Array.isArray(u)){const Q=u.map(K=>r(K,a,f));return K=>{for(const b of Q){const y=b(K);if(y)return y}return!1}}const $=p(u)&&u.tokens&&u.input;if(u===""||typeof u!="string"&&!$)throw new TypeError("Expected pattern to be a non-empty string");const h=a||{},x=h.windows,T=$?r.compileRe(u,a):r.makeRe(u,a,!1,!0),E=T.state;delete T.state;let B=()=>!1;if(h.ignore){const Q={...a,ignore:null,onMatch:null,onResult:null};B=r(h.ignore,Q,f)}const te=(Q,K=!1)=>{const{isMatch:b,match:y,output:s}=r.test(Q,T,a,{glob:u,posix:x}),m={glob:u,state:E,regex:T,posix:x,input:Q,output:s,match:y,isMatch:b};if(typeof h.onResult=="function"&&h.onResult(m),b===!1)return m.isMatch=!1,K?m:!1;e:if(B(Q)){if(typeof h.onIgnore=="function"&&h.onIgnore(m)===c.UNIGNORE){m.isMatch=!0;break e}return m.isMatch=!1,K?m:!1}return typeof h.onMatch=="function"&&h.onMatch(m),K?m:!0};return f&&(te.state=E),te};return r.test=(u,a,f,{glob:$,posix:h}={})=>{if(typeof u!="string")throw new TypeError("Expected input to be a string");if(u==="")return{isMatch:!1,output:""};const x=f||{},T=x.format||(h?o.toPosixSlashes:null);let E=u===$,B=E&&T?T(u):u;return E===!1&&(B=T?T(u):u,E=B===$),(E===!1||x.capture===!0)&&(x.matchBase===!0||x.basename===!0?E=r.matchBase(u,a,f,h):E=a.exec(B)),{isMatch:!!E,match:E,output:B}},r.matchBase=(u,a,f)=>(a instanceof RegExp?a:r.makeRe(a,f)).test(o.basename(u)),r.isMatch=(u,a,f)=>r(a,f)(u),r.parse=(u,a)=>Array.isArray(u)?u.map(f=>r.parse(f,a)):t(u,{...a,fastpaths:!1}),r.scan=(u,a)=>e(u,a),r.compileRe=(u,a,f=!1,$=!1)=>{if(f===!0)return u.output;const h=a||{},x=h.contains?"":"^",T=h.contains?"":"$";let E=`${x}(?:${u.output})${T}`;u&&u.negated===!0&&(E=`^(?!${E}).*$`);const B=r.toRegex(E,a);return $===!0&&(B.state=u),B},r.makeRe=(u,a={},f=!1,$=!1)=>{if(!u||typeof u!="string")throw new TypeError("Expected a non-empty string");let h={negated:!1,fastpaths:!0};return a.fastpaths!==!1&&(u[0]==="."||u[0]==="*")&&(h.output=t.fastpaths(u,a)),h.output||(h=t(u,a)),r.compileRe(h,a,f,$)},r.toRegex=(u,a)=>{try{const f=a||{};return new RegExp(u,f.flags||(f.nocase?"i":""))}catch(f){if(a&&a.debug===!0)throw f;return/$^/}},r.constants=c,bt=r,bt}var dt,Dt;function Ar(){if(Dt)return dt;Dt=1;const e=vr(),t=at();function o(c,p,r=!1){return p&&(p.windows===null||p.windows===void 0)&&(p={...p,windows:t.isWindows()}),e(c,p,r)}return Object.assign(o,e),dt=o,dt}var Rr=Ar();xt(Rr);const Er=k(import.meta.url),Ne=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,rt=e=>{if(typeof Ne<"u"&&Ne.versions&&Ne.versions.node){const[t,o]=Ne.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ne.getBuiltinModule(e)}return Er(e)};rt("fs");rt("fs");rt("path");rt("url");const{createRequire:_r}=rt("module");var Gt=_r(import.meta.url);try{Gt.resolve("picomatch"),Gt("picomatch")}catch{}var yt,Pt;function xr(){if(Pt)return yt;Pt=1;/*!
|
|
2
|
+
* is-extglob <https://github.com/jonschlinkert/is-extglob>
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2014-2016, Jon Schlinkert.
|
|
5
|
+
* Licensed under the MIT License.
|
|
6
|
+
*/return yt=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1},yt}var mt,Ut;function Zt(){if(Ut)return mt;Ut=1;/*!
|
|
7
|
+
* is-glob <https://github.com/jonschlinkert/is-glob>
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
10
|
+
* Released under the MIT License.
|
|
11
|
+
*/var e=xr(),t={"{":"}","(":")","[":"]"},o=function(p){if(p[0]==="!")return!0;for(var r=0,u=-2,a=-2,f=-2,$=-2,h=-2;r<p.length;){if(p[r]==="*"||p[r+1]==="?"&&/[\].+)]/.test(p[r])||a!==-1&&p[r]==="["&&p[r+1]!=="]"&&(a<r&&(a=p.indexOf("]",r)),a>r&&(h===-1||h>a||(h=p.indexOf("\\",r),h===-1||h>a)))||f!==-1&&p[r]==="{"&&p[r+1]!=="}"&&(f=p.indexOf("}",r),f>r&&(h=p.indexOf("\\",r),h===-1||h>f))||$!==-1&&p[r]==="("&&p[r+1]==="?"&&/[:!=]/.test(p[r+2])&&p[r+3]!==")"&&($=p.indexOf(")",r),$>r&&(h=p.indexOf("\\",r),h===-1||h>$))||u!==-1&&p[r]==="("&&p[r+1]!=="|"&&(u<r&&(u=p.indexOf("|",r)),u!==-1&&p[u+1]!==")"&&($=p.indexOf(")",u),$>u&&(h=p.indexOf("\\",u),h===-1||h>$))))return!0;if(p[r]==="\\"){var x=p[r+1];r+=2;var T=t[x];if(T){var E=p.indexOf(T,r);E!==-1&&(r=E+1)}if(p[r]==="!")return!0}else r++}return!1},c=function(p){if(p[0]==="!")return!0;for(var r=0;r<p.length;){if(/[*?{}()[\]]/.test(p[r]))return!0;if(p[r]==="\\"){var u=p[r+1];r+=2;var a=t[u];if(a){var f=p.indexOf(a,r);f!==-1&&(r=f+1)}if(p[r]==="!")return!0}else r++}return!1};return mt=function(p,r){if(typeof p!="string"||p==="")return!1;if(e(p))return!0;var u=o;return r&&r.strict===!1&&(u=c),u(p)},mt}const Tr=k(import.meta.url),Le=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Yt=e=>{if(typeof Le<"u"&&Le.versions&&Le.versions.node){const[t,o]=Le.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Le.getBuiltinModule(e)}return Tr(e)},Cr=Yt("path"),$r=Yt("os");var vt,Ft;function Sr(){if(Ft)return vt;Ft=1;var e=Zt(),t=Cr.posix.dirname,o=$r.platform()==="win32",c="/",p=/\\/g,r=/\\([!*?|[\](){}])/g;vt=function(f,$){var h=Object.assign({flipBackslashes:!0},$);h.flipBackslashes&&o&&f.indexOf(c)<0&&(f=f.replace(p,c)),u(f)&&(f+=c),f+="a";do f=t(f);while(a(f));return f.replace(r,"$1")};function u(f){var $=f.slice(-1),h;switch($){case"}":h="{";break;case"]":h="[";break;default:return!1}var x=f.indexOf(h);return x<0?!1:f.slice(x+1,-1).includes(c)}function a(f){return/\([^()]+$/.test(f)||f[0]==="{"||f[0]==="["||/[^\\][{[]/.test(f)?!0:e(f)}return vt}var Or=Sr();xt(Or);const kr=k(import.meta.url),Be=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,wr=e=>{if(typeof Be<"u"&&Be.versions&&Be.versions.node){const[t,o]=Be.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Be.getBuiltinModule(e)}return kr(e)};wr("node:fs/promises");const Hr=k(import.meta.url),Ie=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Nr=e=>{if(typeof Ie<"u"&&Ie.versions&&Ie.versions.node){const[t,o]=Ie.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ie.getBuiltinModule(e)}return Hr(e)},{accessSync:Lr}=Nr("node:fs");function _t(e,t=vo){Qt(e),e=ut(e);try{return Lr(e,t),!0}catch{return!1}}var Br=Zt();xt(Br);const Ir=k(import.meta.url),Me=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Vt=e=>{if(typeof Me<"u"&&Me.versions&&Me.versions.node){const[t,o]=Me.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Me.getBuiltinModule(e)}return Ir(e)};Vt("node:fs/promises");Vt("node:fs");let Mr=class extends Error{constructor(e){super(`ENOENT: ${e}`)}get code(){return"ENOENT"}set code(e){throw new Error("Cannot overwrite code ENOENT")}get name(){return"NotFoundError"}set name(e){throw new Error("Cannot overwrite name of NotFoundError")}};const Dr=k(import.meta.url),De=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Jt=e=>{if(typeof De<"u"&&De.versions&&De.versions.node){const[t,o]=De.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return De.getBuiltinModule(e)}return Dr(e)};Jt("node:fs/promises");Jt("node:zlib");const Gr=k(import.meta.url),Ge=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,eo=e=>{if(typeof Ge<"u"&&Ge.versions&&Ge.versions.node){const[t,o]=Ge.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ge.getBuiltinModule(e)}return Gr(e)};eo("node:fs");eo("node:zlib");const Pr=k(import.meta.url),Pe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ur=e=>{if(typeof Pe<"u"&&Pe.versions&&Pe.versions.node){const[t,o]=Pe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Pe.getBuiltinModule(e)}return Pr(e)},{createRequire:to}=Ur("node:module"),Fr=new Map([["Error",Error],["EvalError",EvalError],["RangeError",RangeError],["ReferenceError",ReferenceError],["SyntaxError",SyntaxError],["TypeError",TypeError],["URIError",URIError]]);typeof AggregateError<"u"&&Fr.set("AggregateError",AggregateError);const jr=to(import.meta.url),Ue=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,zr=e=>{if(typeof Ue<"u"&&Ue.versions&&Ue.versions.node){const[t,o]=Ue.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ue.getBuiltinModule(e)}return jr(e)};zr("node:util");const Kr=to(import.meta.url),Fe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Tt=e=>{if(typeof Fe<"u"&&Fe.versions&&Fe.versions.node){const[t,o]=Fe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Fe.getBuiltinModule(e)}return Kr(e)};Tt("node:fs");Tt("node:path");Tt("node:url");const Xr=k(import.meta.url),je=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,oo=e=>{if(typeof je<"u"&&je.versions&&je.versions.node){const[t,o]=je.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return je.getBuiltinModule(e)}return Xr(e)};oo("node:fs");oo("node:fs/promises");const Wr=k(import.meta.url),ze=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,qr=e=>{if(typeof ze<"u"&&ze.versions&&ze.versions.node){const[t,o]=ze.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return ze.getBuiltinModule(e)}return Wr(e)};qr("node:fs");const Qr=k(import.meta.url),Ke=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Zr=e=>{if(typeof Ke<"u"&&Ke.versions&&Ke.versions.node){const[t,o]=Ke.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ke.getBuiltinModule(e)}return Qr(e)};Zr("node:fs/promises");const Yr=k(import.meta.url),Xe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Vr=e=>{if(typeof Xe<"u"&&Xe.versions&&Xe.versions.node){const[t,o]=Xe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Xe.getBuiltinModule(e)}return Yr(e)};Vr("node:fs");k(import.meta.url);const Jr=k(import.meta.url),We=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,es=e=>{if(typeof We<"u"&&We.versions&&We.versions.node){const[t,o]=We.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return We.getBuiltinModule(e)}return Jr(e)};es("node:crypto");new TextEncoder;const ts=k(import.meta.url),qe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,os=e=>{if(typeof qe<"u"&&qe.versions&&qe.versions.node){const[t,o]=qe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return qe.getBuiltinModule(e)}return ts(e)};os("node:fs/promises");const rs=k(import.meta.url),Qe=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ss=e=>{if(typeof Qe<"u"&&Qe.versions&&Qe.versions.node){const[t,o]=Qe.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Qe.getBuiltinModule(e)}return rs(e)};ss("node:fs");const ns=k(import.meta.url),Ze=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,us=e=>{if(typeof Ze<"u"&&Ze.versions&&Ze.versions.node){const[t,o]=Ze.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ze.getBuiltinModule(e)}return ns(e)};us("node:fs/promises");const is=k(import.meta.url),Ye=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ls=e=>{if(typeof Ye<"u"&&Ye.versions&&Ye.versions.node){const[t,o]=Ye.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ye.getBuiltinModule(e)}return is(e)};ls("node:fs");const as=k(import.meta.url),Ve=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ct=e=>{if(typeof Ve<"u"&&Ve.versions&&Ve.versions.node){const[t,o]=Ve.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return Ve.getBuiltinModule(e)}return as(e)},ps=Ct("fs"),cs=Ct("os"),fs=Ct("path");var At={},jt;function gs(){if(jt)return At;jt=1;var e=Object.defineProperty,t=(h,x)=>e(h,"name",{value:x,configurable:!0}),o=ps,c=cs,p=fs;const r=t(h=>{let x="";for(let T=0;T<h.length;T+=1){const E=h[T],B=E.toUpperCase();x+=E===B?E.toLowerCase():B}return x},"invertCase"),u=new Map,a=t((h,x)=>{const T=p.join(h,`.is-fs-case-sensitive-test-${process.pid}`);try{return x.writeFileSync(T,""),!x.existsSync(r(T))}finally{try{x.unlinkSync(T)}catch{}}},"checkDirectoryCaseWithWrite"),f=t((h,x,T)=>{try{return a(h,T)}catch(E){if(x===void 0)return a(c.tmpdir(),T);throw E}},"checkDirectoryCaseWithFallback"),$=t((h,x=o,T=!0)=>{const E=h??process.cwd();if(T&&u.has(E))return u.get(E);let B;const te=r(E);return te!==E&&x.existsSync(E)?B=!x.existsSync(te):B=f(E,h,x),T&&u.set(E,B),B},"isFsCaseSensitive");return At.isFsCaseSensitive=$,At}gs();const hs=/^[A-Z]:\//i,ro=(e="")=>e&&e.replaceAll("\\","/").replace(hs,t=>t.toUpperCase()),bs=/^[/\\]{2}/,ds=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Z]:[/\\]/i,so=/^[A-Z]:$/i,ys=/\/$/,Rt="/",ms=(e,t)=>{let o="",c=0,p=-1,r=0,u;for(let a=0;a<=e.length;++a){if(a<e.length)u=e[a];else{if(u==="/")break;u="/"}if(u==="/"){if(!(p===a-1||r===1))if(r===2){if(o.length<2||c!==2||!o.endsWith(".")||o.at(-2)!=="."){if(o.length>2){const f=o.lastIndexOf("/");f===-1?(o="",c=0):(o=o.slice(0,f),c=o.length-1-o.lastIndexOf("/")),p=a,r=0;continue}else if(o.length>0){o="",c=0,p=a,r=0;continue}}t&&(o+=o.length>0?"/..":"..",c=2)}else o.length>0?o+=`/${e.slice(p+1,a)}`:o=e.slice(p+1,a),c=a-p-1;p=a,r=0}else u==="."&&r!==-1?++r:r=-1}return o},it=e=>ds.test(e),no=function(e){if(e.length===0)return".";e=ro(e);const t=bs.exec(e),o=it(e),c=e.at(-1)==="/";return e=ms(e,!o),e.length===0?o?"/":c?"./":".":(c&&(e+="/"),so.test(e)&&(e+="/"),t?o?`//${e}`:`//./${e}`:o&&!it(e)?`/${e}`:e)},oe=(...e)=>{let t="";for(const o of e)if(o)if(t.length>0){const c=t.at(-1)==="/",p=o[0]==="/";c&&p?t+=o.slice(1):t+=c||p?o:`/${o}`}else t+=o;return no(t)},vs=e=>{const t=ro(e).replace(ys,""),o=t.lastIndexOf("/");if(o===-1)return it(e)?"/":".";const c=t.slice(0,o);return so.test(c)?`${c}/`:c||(it(e)?"/":".")},uo=e=>e instanceof URL?new URL(e).pathname:e,zt=e=>{const t=yo();if($t==="win32"){const c=et.LOCALAPPDATA??(t?oe(t,"AppData","Local"):pt());return oe(c,e,"Cache")}if($t==="darwin"){const c=t?oe(t,"Library","Caches"):pt();return oe(c,e)}const o=et.XDG_CACHE_HOME??(t?oe(t,".cache"):pt());return oe(o,e)},As=e=>{if(e.length===0)return;const t=e.map(r=>no(uo(r)).split(Rt));let o=Number.POSITIVE_INFINITY;for(const r of t)r.length<o&&(o=r.length);const c=[];for(let r=0;r<o;r+=1){const u=t[0][r];if(t.every(a=>a[r]===u))c.push(u);else break}const p=c.join(Rt);return p===""?Rt:p},Je=(e,t)=>{if(e!==void 0)return t?(...o)=>oe(e,...o):e},Rs=e=>{if(e?.files&&e.files.length>0){const t=As(e.files);if(t!==void 0)return t}return e?.cwd??mo()},Es=e=>new Mr(`No package.json found searching upwards from '${uo(e)}'.`),Et=e=>!_t(e,Wt)&&_t(e),_s=(e,t)=>{if(et.CACHE_DIR&&!["0","1","false","true"].includes(et.CACHE_DIR)){const a=oe(et.CACHE_DIR,e);return t?.create&&Ee(a),Je(a,t?.thunk)}const o=Rs(t),c=dr("package.json",{cwd:o,type:"file"});if(!c){if(t?.useGlobalCacheFallback){const a=zt(e);return t.create&&Ee(a),Je(a,t.thunk)}if(t?.throwError)throw Es(o);return}const p=oe(vs(c),"node_modules"),r=oe(p,".cache"),u=oe(r,e);if(_t(u,Wt))return t?.create&&Ee(u),Je(u,t?.thunk);if(Et(u)||Et(r)||Et(p)){if(t?.useGlobalCacheFallback){const a=zt(e);return t.create&&Ee(a),Je(a,t.thunk)}return}return t?.create&&Ee(u),Je(u,t?.thunk)},$s=_s,Kt="@inherit",xs=["aliases","dependsOn","inputs","outputs"],Ts=(e,t)=>{if(t===void 0)return e===void 0?void 0:[...e];if(!t.includes(Kt))return[...t];const o=[];for(const c of t){if(c===Kt){e!==void 0&&o.push(...e);continue}o.push(c)}return o},Ss=(e,t)=>{const o={...e,...t};for(const c of xs){const p=e?.[c],r=t?.[c],u=Ts(p,r);u===void 0?delete o[c]:o[c]=u}return o};export{$s as k,Ss as m};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as w}from"node:module";import{A as m,m as v,l as I,z as j}from"./index-DND6ptxQ.js";let y;const b=e=>(y??=w(import.meta.url))(e),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,T=e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[s,r]=h.versions.node.split(".").map(Number);if(s>22||s===22&&r>=3||s===20&&r>=16)return h.getBuiltinModule(e)}return b(e)},{platform:C}=T("node:os"),x={server:{cache:!1,interactive:!1,persistent:!0,runInCI:!1},utility:{cache:!1,runInCI:!1}},q=e=>{const s=e.preset??e.options?.preset;if(!s)return e;const r=x[s];if(!r)return e;const{cache:n,...t}=r;return{...e,cache:e.cache??n,options:{...t,...e.options}}},$=()=>{const e=C();return e==="darwin"?"macos":e==="win32"?"windows":"linux"},A=(e,s)=>{if(!s||s.size===0)return!0;const r=e?.runnerTags;return!r||r.length===0?!0:r.some(n=>s.has(n))},k=(e,s,r=!0)=>{const n=e?.runInCI??!0;return n===!0||n==="always"?!0:n===!1?!s:n==="affected"?!s||r:!0},z=(e,s,r)=>r||!s?e:m(s)?s:v(e,s),B=(e,s)=>{if(s===!1)return{};const r=s===!0?O("production"):Array.isArray(s)?s:[s],n={};for(const t of r)Object.assign(n,R(e,t,n));return n},g=(e,s)=>{const r=t=>{const c=s[t];return c!==void 0?c:process.env[t]??""};let n="";for(let t=0;t<e.length;t+=1){const c=e[t];if(c==="\\"&&e[t+1]==="$"){n+="$",t+=1;continue}if(c!=="$"){n+=c;continue}const a=e[t+1];if(a==="{"){let o=1,l=t+2;for(;l<e.length;){const d=e[l];if(d==="}"){if(o-=1,o===0)break}else d==="{"&&e[l-1]==="$"&&(o+=1);l+=1}if(o!==0){n+=e.slice(t);break}const f=l,i=e.slice(t+2,f),u=i.indexOf(":-");if(u===-1)n+=r(i);else{const d=i.slice(0,u),_=i.slice(u+2),p=s[d]??process.env[d];n+=p!==void 0&&p!==""?p:g(_,s)}t=f;continue}if(a!==void 0&&/[A-Z_]/i.test(a)){let o=t+1;for(;o<e.length&&/\w/.test(e[o]);)o+=1;n+=r(e.slice(t+1,o)),t=o-1;continue}n+=c}return n},O=e=>{const s=[".env"];return e&&s.push(`.env.${e}`),e!=="test"&&s.push(".env.local"),e&&e!=="test"&&s.push(`.env.${e}.local`),s},R=(e,s,r={})=>{const n=m(s)?s:v(e,s);if(!I(n))return{};let t;try{t=j(n)}catch{return{}}const c={};for(const a of t.split(/\r?\n/)){const o=a.trim();if(o===""||o.startsWith("#"))continue;const l=o.indexOf("=");if(l===-1)continue;const f=o.slice(0,l).trim();if(f==="")continue;let i=o.slice(l+1).trim();const u=i.length>=2&&i.startsWith("'")&&i.endsWith("'");(i.startsWith('"')&&i.endsWith('"')||u)&&(i=i.slice(1,-1)),u||(i=g(i,{...r,...c})),c[f]=i}return c},F=(e,s=$())=>{if(e)return s==="windows"&&e.windowsShell?e.windowsShell:(s==="linux"||s==="macos")&&e.unixShell?e.unixShell:e.shell},M=e=>{if(e==="run")return!1;if(e==="build"||e==="test")return!0};export{F as a,M as b,q as c,$ as d,B as l,A as m,z as r,k as s};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{createRequire as F}from"node:module";import{m as v,l as m,o as J,z as y}from"./index-DND6ptxQ.js";import{a as W}from"./readJsonSync-BnWiH5-R-BpnwAB0Z.js";let D;const q=o=>(D??=F(import.meta.url))(o),w=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,M=o=>{if(typeof w<"u"&&w.versions&&w.versions.node){const[e,n]=w.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return w.getBuiltinModule(o)}return q(o)},{execFileSync:x}=M("node:child_process"),{randomBytes:B}=M("node:crypto"),{writeFileSync:I,renameSync:R,unlinkSync:U}=M("node:fs"),{delimiter:z}=M("node:path"),H=["proto","mise","fnm","volta","asdf","nvm","corepack"],Z={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"]},X=["proto","mise","fnm","volta","asdf","nvm","corepack"],A={asdf:[".tool-versions"],corepack:[],fnm:[".nvmrc",".node-version"],mise:[".mise.toml",".config/mise.toml","mise.toml"],nvm:[".nvmrc"],proto:[".prototools"],volta:[]},b=new Map,h=o=>{const e=b.get(o);if(e!==void 0||b.has(o))return e;const n=process.env.PATH;if(!n){b.set(o,void 0);return}const t=process.platform==="win32"?["",...(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";")]:[""];for(const r of n.split(z)){const i=r.replaceAll(/^["']|["']$/g,"").trim();if(i!=="")for(const l of t){const s=`${i}${J}${o}${l}`;if(m(s))return b.set(o,s),s}}b.set(o,void 0)},S=(o,e=["--version"])=>{try{const n=x(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}},T=(o,e)=>{const n=v(o,"package.json");if(!m(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[]},G=(o,e)=>o==="volta"?T(e,"volta"):o==="corepack"?T(e,"packageManager"):A[o].filter(n=>m(v(e,n))),_=new Map,L=()=>{_.clear(),b.clear()},O=(o,e)=>{{const i=_.get(o);if(i)return i}const n=[],t=!!h("pnpm")||!!h("yarn");for(const i of X){const l=i==="nvm"?void 0:h(i),s=i==="nvm"&&!!process.env.NVM_DIR,c=G(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 _.set(o,r),r},de=(o,e,n)=>{const t=O(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"}},V=(o,e)=>{for(const n of e){const t=v(o,n);if(m(t))try{const r=y(t).trim();if(r!=="")return{name:n,value:r.replace(/^v/,"")}}catch{}}},K=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,Y=o=>{const e=v(o,".prototools");if(!m(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=K.exec(l);if(!s)continue;const[,c,a]=s,p=g(c);p&&t.push({source:".prototools",tool:p,version:a.trim()})}return t},Q=/^\[tools\]\s*$/i,ee=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,oe=o=>{for(const e of A.mise){const n=v(o,e);if(!m(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=Q.test(s);continue}if(!i)continue;const c=ee.exec(s);if(!c)continue;const[,a,p]=c,d=g(a);d&&t.push({source:".mise.toml",tool:d,version:p.trim()})}if(t.length>0)return t}return[]},ne=o=>{const e=v(o,".tool-versions");if(!m(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}},te=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]}},re=(o,e)=>{const n=new Map,t=s=>{n.set(s.tool,s)},r=v(o,"package.json");let i={};try{m(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=te(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=V(o,[".nvmrc",".node-version"]);l&&t({source:l.name===".nvmrc"?".nvmrc":".node-version",tool:"node",version:l.value});for(const s of ne(o))t(s);for(const s of oe(o))t(s);for(const s of Y(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()]},P={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"]}},E=o=>{const e=P[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},N=(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),d=Math.max(a.length,p.length);for(let f=0;f<d;f++){const $=a[f]??0,u=p[f]??0;if($!==u)return $-u}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,d]=t(a),[f,$]=t(o);if(f!==p||c.startsWith("~")&&$!==d||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))},se=(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"]}},ie=(o,e,n)=>{if(n?.preferredManager&&n.preferredManager!=="none"&&j(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=se(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(j(r,o.tool)&&e.find(i=>i.name===r)?.installed)return{installed:!0,name:r}}for(const r of t)if(!(r==="self-activate"||!j(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"}},j=(o,e)=>o==="none"?!1:o==="self-activate"?e==="pnpm"||e==="yarn":Z[o].includes(e),ae=(o,e)=>{const n=O(o),t=re(o,e).map(r=>{const i=E(r.tool),l=i!==void 0&&N(i,r.version),s=ie(r,n,e);return{actual:i,expected:r,manager:s,matches:l}});return{detected:n,tools:t}},ce=(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}`)}}},ge=(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}`)}}},he=o=>{for(const e of P[o].binaries){const n=h(e);if(n)return n}},$e=(o,e)=>{const n=P[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=x(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}},C=(o,e)=>{const n=`${o}.${process.pid}.${B(6).toString("hex")}.tmp`;I(n,e);try{R(n,o)}catch(t){try{U(n)}catch{}throw t}},le=(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=v(o,"package.json");if(!m(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=le(i,l),c=t.endsWith(`
|
|
2
|
+
`)?`
|
|
3
|
+
`:"";return C(n,`${JSON.stringify(s,void 0,r)}${c}`),l},ye=(o,e)=>{const n=v(o,"package.json");if(!m(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 C(n,`${JSON.stringify(r,void 0,i)}${l}`),e.version},ke=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]}},fe=async(o,e,n)=>{const t=ae(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 ${H.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 d=p.map(f=>({invocation:ce(a,f.expected),tool:f})).filter(f=>f.invocation!==void 0);for(const{invocation:f,tool:$}of d){const{expected:u}=$;if(f.bin==="nvm"&&f.args.length===0){const k=E(u.tool);if(k!==void 0&&N(k,u.version)){n.info(`toolchain: ${u.tool} ${k} already satisfies ${u.version}; skipping nvm shell activation`),l.push(u);continue}n.warn(`toolchain: nvm requires a shell-side activation for ${u.tool} ${u.version}. Run \`nvm install\` / \`nvm use\` manually.`),s.push({error:"nvm requires shell-side activation",spec:u});continue}n.info(`toolchain: $ ${f.bin} ${f.args.join(" ")}`);try{x(f.bin,f.args,{cwd:o,stdio:"inherit"}),l.push(u),a==="fnm"&&pe(f.bin,n)}catch(k){s.push({error:k.message,spec:u});break}}}return L(),{attempted:l,failed:s,upToDate:!1}},we=async(o,e,n,t=!1)=>{if(t)return;const r=await fe(o,e,n);for(const i of r.failed)n.warn(`toolchain: ${i.spec.tool} ${i.spec.version} — ${i.error}`)},pe=(o,e)=>{const n=process.platform==="win32"?"powershell":"bash";try{const t=x(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{H as S,ke as a,ce as b,ie as c,ge as d,$e as e,O as f,ae as g,he as h,de as p,we as r,ye as u,be as w};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as q}from"node:module";import{V as j,s as b}from"./index.server-qvZ-cy29.js";import{m as T,l as A}from"./index-DND6ptxQ.js";import{g as C}from"./_commonjsHelpers-B5Y90VFO.js";import{i as g,p as c}from"../packem_chunks/cli-main.js";import{a as D}from"./readJsonSync-BnWiH5-R-BpnwAB0Z.js";let $;const _=e=>($??=q(import.meta.url))(e),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:M}=z("node:readline");var O=["aj","aju","av","avj","ejv","jav","jv"],R=["angula","angular-node","angularjs"],N=["auto-prefixer"],S=["aaxios","aios","axio","axioos","axios-node","axioss","axis","axiso","axois","axos","axxios"],B=["abel","babbel","babe","babel-js","babel-node","babl","bable","bbael","bebel"],F=["bcrpyt","bcrypt-node","brcypt","crypt","dcrypt"],P=["bcryptjs-node","dcryptjs"],W=["bunan","bunya","bunyan-node","buynan"],E=["cai","cha","chaijs","chal","chi","chia","hai"],L=["cahlk","calk","cchalk","ch4lk","cha1k","chaalk","chaik","chak","chakl","chalk-node","chalkk","challk","chhalk","chlak","chlk","halk","hcalk"],U=["cheero","cherio"],V=["c0lor","ccolor","clor","colo","coloor","color-js","colorjs","colorr","colr","coolor","coolr"],I=["ccolors","colors-node","colorss","colorz","colrs","coolors"],Y=["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"],G=["cor","corss","cos","cosr","cros","crs","ors"],H=["days"],J=["d3bug","dbeug","dbug","ddebug","debbug","debg","debgu","debu","debu9","debug-js","debug-node","debugg","debugjs","debuug","deebug","deubg","deug","ebug","edbug"],K=["dot-env","dotenv-node","dotenvjs","dotevn"],Q=["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"],X=["asbuild","ebuild","esbuild-node","esbuildjs","ezbuild","sbuild"],Z=["aslint","elint","eslint-js","eslint-node","eslit","ezlint","slint"],ee=["eexpress","epress","epxress","experss","expess","exppress","expreess","expres","express-node","expressjs","expresss","exprress","exprses","exprss","exress","exrpess","exxpress","xepress","xpress"],oe=["astify"],se=["firebasejs"],re=["form1dable"],ae=["glb","glo","glob-js","globjs","gob","golb","lob"],te=["go","goot","gotjs","gott","gt","gto","ogt","ot","qot"],ne=["helmetjs","helnet"],ce=["homo","hon","hoo","hoon","ohno","ono"],ie=["inquire","inquirer-js","nquirer"],de=["iredis"],me=["ejst","est","jast","jes","jestjs","jestt","jet","jets","jst"],le=["imp","jim","jip","jmp"],pe=["ji","jio","jo","joii","jol","oi","oji"],ue=["jdom","jsdm","jsdo","jsdom-js","jsdon","jsom","sdom"],ve=["jsonwebtoken-js","jsonwebtoken-node"],he=["ka","kao","ko","koaa","koajs","koe","oa","oka"],je=["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"],be=["luca","luci","lucie"],ke=["luon","luxo","luxon-js"],ge=["imcromatch","mciromatch","micormatch","micrmoatch","micro-match","microamtch","micromacth","micromathc","micromtach","mircomatch"],fe=["minimath"],ye=["mcha","mmocha","moca","moch","mocha-js","moha","nocha","ocha"],xe=["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"],we=["mognoose","mogoose","mongoos","mongose","monqoose","moongoose"],qe=["moran","organ"],$e=["muler","multer-js","muter"],_e=["mysql"],ze=["ext","mext","n3xt","naxt","net","netx","nex","next-js","next-node","nextjs","nxt"],Me=["node-mailer","nodemailer-js"],Te=["nodemo","nodemonjs","nodmeon"],Ae=["oar","or","ora-node","ore","ra","roa"],Ce=["arcel","parce","parceljs"],De=["passport-js"],Oe=["phase","phaser-node"],Re=["ino","pimo","pin","pino-node","pinojs","pio","pion"],Ne=["playright","playwright-js"],Se=["postcss-js","postcss-node","potscss"],Be=["pettier","pprettier","pretier","prettierjs","prettierr","prtetier"],Fe=["prima","prism","prisma-js","prismajs","prizma"],Pe=["pupeteer"],We=["rada","rama","ramd","randa"],Ee=["eact","eract","r3act","raact","ract","raect","re4ct","reaact","reac","reac7","reacct","react-node","reactjs","reactt","reat","reatc","recat","rect","reeact","reect","rreact"],Le=["erdis","radis","rdis","redi","redis-js","redis-node","rediss","rediz","reds","reis","rredis"],Ue=["resen","rsend"],Ve=["ollup","rollup-js","rollup-node"],Ie=["ass","asss","sas","sass-node","sess","ssas","sss"],Ye=["emver","seemver","semver-node","semvre","senver","sever"],Ge=["sequelize-js","sequelize-node"],He=["harp","shap","shar","sharp-js","sharpjs"],Je=["stipe","strip","stripe-node","tripe"],Ke=["supabase-js"],Qe=["suelte","svelt3","svelte-js","sveltejs","velte"],Xe=["tailwindcss-js"],Ze=["auri","taui"],eo=["hree","htree","thee","there","three-js","three-node","tree"],oo=["stx","sx","ts","tsxx","ttsx","tx","txs","tzx"],so=["ttypescript","typecript","typescipt","typescript-node","typescriptjs","typescrit","typescritp"],ro=["udnerscore","undercore","underscoer","underscore-node","underscroe","undersocre","undesrcore"],ao=["uid","uud","uudi","uui","uuid-js","uuid-node","uuidjs","vuid"],to=["ite","vie","vit","vita","vite-node","vitee","vlte","vte"],no=["itest","uitest","vitestjs","vitezt","vittest","vtest"],co=["ue","uue","uve","ve","veu","vu","vu3","vua","vue-node","vuee","vuejs","vuue","vve","vvue"],io=["web-pack","weback","webpac","webpack-node","webpackjs","webpak","weebpack","wepack","wepback"],mo=["winson","winston-js","winstoon"],lo=["up","uyp","yp","yu","yupjs","yupp"],po=["od","zd","zdo","zo","zob","zod-js","zodjs"];const uo={ajv:O,angular:R,autoprefixer:N,"aws-sdk":["awssdk","ews-sdk"],axios:S,babel:B,bcrypt:F,bcryptjs:P,"body-parser":["body-paresr","body-parse","body-parser-js","body_parser"],bunyan:W,chai:E,chalk:L,cheerio:U,color:V,colors:I,commander:Y,"cookie-parser":["cookie-parse","cookieparser"],cors:G,"cross-env":["crossenv"],"date-fns":["data-fns","date-fn"],dayjs:H,debug:J,dotenv:K,electron:Q,esbuild:X,eslint:Z,express:ee,fastify:oe,firebase:se,formidable:re,glob:ae,got:te,helmet:ne,hono:ce,inquirer:ie,ioredis:de,jest:me,jimp:le,joi:pe,jsdom:ue,jsonwebtoken:ve,koa:he,lodash:je,lucia:be,luxon:ke,micromatch:ge,minimatch:fe,mocha:ye,moment:xe,mongoose:we,morgan:qe,multer:$e,mysql2:_e,next:ze,"node-fetch":["node-fecth","node-fethc","node.fetch"],nodemailer:Me,nodemon:Te,ora:Ae,parcel:Ce,passport:De,phaser:Oe,pino:Re,playwright:Ne,postcss:Se,prettier:Be,prisma:Fe,puppeteer:Pe,ramda:We,react:Ee,"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:Le,resend:Ue,rollup:Ve,sass:Ie,semver:Ye,sequelize:Ge,sharp:He,"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:Je,supabase:Ke,svelte:Qe,tailwindcss:Xe,tauri:Ze,three:eo,"ts-node":["tts-node"],tsx:oo,typescript:so,underscore:ro,uuid:ao,vite:to,vitest:no,vue:co,webpack:io,winston:mo,yup:lo,zod:po};var u,k;function vo(){return k||(k=1,u={"@tanstack/start":["start-tanstack-app","tanstack","tanstack-app","tanstack-start"]}),u}var ho=vo();const jo=C(ho),bo={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"]},ko=["app","cli","core","kit","lib","pkg","sdk"],go=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=bo[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 ko)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[uo,jo])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},fo=()=>{if(!l){l=new Map;for(const[e,s]of Object.entries(f()))for(const r of s)l.set(r,e)}return l},yo=()=>{if(!m){m=new Map;for(const e of Object.keys(f()))for(const s of go(e))m.has(s)||m.set(s,e)}return m},xo=e=>e.startsWith("@")?e.split("/")[1]??e:e,wo=e=>{const s=xo(e),r=fo().get(s);if(r)return{input:e,legitimate:r,method:"blocklist"};const o=yo().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=wo(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=M({input:process.stdin,output:process.stdout}),r=await new Promise(o=>{s.question(e,a=>{o(a.trim().toLowerCase())})});return s.close(),r},Oo=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}},qo=/^(?:npm|pnpm|yarn):(.+?)(?:@.*)?$/,$o=e=>qo.exec(e)?.[1],_o=e=>{if(!A(e))return[];const s=D(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=$o(t);n&&o.add(n)}return[...o]},Ro=async(e,s)=>{if(g("typosquats"))return!0;const r=T(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{Oo as r,Ro as s};
|
package/dist/packem_shared/{use-measured-height-DfNxp6nf.js → use-measured-height-BLZt9dW2.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,Y as a}from"../packem_chunks/catalog.js";import"./en-
|
|
1
|
+
import{r,Y as a}from"../packem_chunks/catalog.js";import"./en-BxrK-n-J.js";const f=(s,o)=>{const t=r.useRef(null),[u,n]=r.useState(s);return r.useLayoutEffect(()=>{if(!t.current)return;const{height:e}=a(t.current);e>0&&e!==u&&(n(e),o?.(e))}),{measuredHeight:u,ref:t}};export{f as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as g}from"node:module";import{m as i,l as a,z as d,u as b}from"./index-DND6ptxQ.js";import"./public-api-WqUCiyIe.js";let h;const u=n=>(h??=g(import.meta.url))(n),p=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,m=n=>{if(typeof p<"u"&&p.versions&&p.versions.node){const[s,e]=p.versions.node.split(".").map(Number);if(s>22||s===22&&e>=3||s===20&&e>=16)return p.getBuiltinModule(n)}return u(n)},{readdirSync:j}=m("node:fs"),v=[".husky/pre-commit",".vis/hooks/pre-commit",".git/hooks/pre-commit"],$=[".secretlintrc",".secretlintrc.json",".secretlintrc.js",".secretlintrc.mjs",".secretlintrc.cjs",".secretlintrc.yml",".secretlintrc.yaml"],w=[".syncpackrc",".syncpackrc.json",".syncpackrc.yaml",".syncpackrc.yml",".syncpackrc.cjs",".syncpackrc.js",".syncpackrc.mjs",".syncpackrc.ts","syncpack.config.cjs","syncpack.config.js","syncpack.config.mjs","syncpack.config.ts"],_=n=>{const s=i(n,"package.json");if(!a(s))return[];let e;try{e=JSON.parse(d(s))}catch{return[]}const o=[];if(e.scripts)for(const[t,c]of Object.entries(e.scripts))typeof c=="string"&&(/\bgitleaks\b/.test(c)&&o.push({detail:`Script "${t}" still invokes gitleaks: ${c}`,kind:"script",location:"package.json",tool:"gitleaks"}),/\bsecretlint\b/.test(c)&&o.push({detail:`Script "${t}" still invokes secretlint: ${c}`,kind:"script",location:"package.json",tool:"secretlint"}),/\bsyncpack\b/.test(c)&&o.push({detail:`Script "${t}" still invokes syncpack: ${c}`,kind:"script",location:"package.json",tool:"syncpack"}),/\bsherif\b/.test(c)&&o.push({detail:`Script "${t}" still invokes sherif: ${c}`,kind:"script",location:"package.json",tool:"sherif"}));if(e.devDependencies)for(const t of Object.keys(e.devDependencies))(t==="gitleaks"||t==="@gitleaks/cli")&&o.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"gitleaks"}),(t==="secretlint"||t.startsWith("@secretlint/"))&&o.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"secretlint"}),t==="syncpack"&&o.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"syncpack"}),t==="sherif"&&o.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"sherif"});return e.sherif&&o.push({detail:"`sherif` config block still present in package.json",kind:"config",location:"package.json",tool:"sherif"}),o},D=n=>{const s=[];for(const e of v){const o=i(n,e);if(!a(o))continue;const t=d(o);/\bgitleaks\b/.test(t)&&s.push({detail:"gitleaks invocation still present in hook",kind:"hook",location:e,tool:"gitleaks"}),/\bsecretlint\b/.test(t)&&s.push({detail:"secretlint invocation still present in hook",kind:"hook",location:e,tool:"secretlint"}),/\bsyncpack\b/.test(t)&&s.push({detail:"syncpack invocation still present in hook",kind:"hook",location:e,tool:"syncpack"}),/\bsherif\b/.test(t)&&s.push({detail:"sherif invocation still present in hook",kind:"hook",location:e,tool:"sherif"})}return s},S=n=>{const s=[];for(const e of $)a(i(n,e))&&s.push({detail:"secretlint config should be removed after migration",kind:"config",location:e,tool:"secretlint"});for(const e of w)a(i(n,e))&&s.push({detail:"syncpack config should be removed after migration",kind:"config",location:e,tool:"syncpack"});return s},O=[".github/workflows",".gitlab-ci.yml",".circleci/config.yml",".woodpecker.yml",".drone.yml"],q=n=>{const s=[],e=o=>{const t=i(n,o);if(!a(t))return;const c=d(t);/\bsyncpack\b/.test(c)&&s.push({detail:"syncpack invocation still present in CI",kind:"ci",location:o,tool:"syncpack"}),/\bsherif\b/.test(c)&&s.push({detail:"sherif invocation still present in CI",kind:"ci",location:o,tool:"sherif"})};for(const o of O){const t=i(n,o);if(a(t)){if(o===".github/workflows"){try{for(const c of j(t))(c.endsWith(".yml")||c.endsWith(".yaml"))&&e(`.github/workflows/${c}`)}catch{}continue}e(o)}}return s},M=n=>{const s=[],e=i(n,"pnpm-workspace.yaml");if(a(e)){let t;try{t=b(e)}catch{t=void 0}if(t&&typeof t=="object"){const c=t.catalog;c&&typeof c.syncpack=="string"&&s.push({detail:"`syncpack` still listed in pnpm-workspace.yaml#catalog",kind:"catalog",location:"pnpm-workspace.yaml",tool:"syncpack"});const l=t.catalogs;if(l&&typeof l=="object")for(const[k,r]of Object.entries(l))r&&typeof r.syncpack=="string"&&s.push({detail:`\`syncpack\` still listed in pnpm-workspace.yaml#catalogs.${k}`,kind:"catalog",location:"pnpm-workspace.yaml",tool:"syncpack"})}}const o=i(n,"package.json");if(a(o)){let t;try{t=JSON.parse(d(o))}catch{return s}const c=t.workspaces;if(c&&typeof c=="object"&&!Array.isArray(c)){const k=c.catalog;k&&typeof k.syncpack=="string"&&s.push({detail:"`syncpack` still listed in package.json#workspaces.catalog",kind:"catalog",location:"package.json",tool:"syncpack"});const r=c.catalogs;if(r&&typeof r=="object")for(const[y,f]of Object.entries(r))f&&typeof f.syncpack=="string"&&s.push({detail:`\`syncpack\` still listed in package.json#workspaces.catalogs.${y}`,kind:"catalog",location:"package.json",tool:"syncpack"})}const l=t.catalog;l&&typeof l.syncpack=="string"&&s.push({detail:"`syncpack` still listed in package.json#catalog",kind:"catalog",location:"package.json",tool:"syncpack"})}return s},N=n=>[..._(n),...D(n),...S(n),...q(n),...M(n)],W=(n,s)=>{const e=N(n);if(e.length===0)return s.info("✓ No unmigrated gitleaks/secretlint/sherif/syncpack references found."),[];s.warn(`Found ${String(e.length)} unmigrated reference(s):`);for(const o of e)s.warn(` [${o.kind}] ${o.location} — ${o.detail}`);return e};export{N as s,W as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,l,e as r,r as g}from"../packem_chunks/catalog.js";import{I as ae,J as je,K as ge,M as ne}from"../packem_chunks/cli-main.js";import{Spinner as me}from"@visulima/tui-kit/spinner";import{Dialog as J}from"@visulima/tui-kit/dialog";import{ScrollView as fe}from"@visulima/tui-kit/scroll-view";import{B as ue}from"./en-BxrK-n-J.js";import{ScrollBar as ye}from"@visulima/tui-kit/scroll-bar";import{Tab as we}from"@visulima/tui-kit/tab";import{Tabs as Ce}from"@visulima/tui-kit/tabs";import{u as ke}from"./use-measured-height-BLZt9dW2.js";const We=({current:a,total:t})=>{const{columns:i}=ae(),s=i||80,d=t>0?Math.min(1,a/t):0,h=`${String(Math.round(d*100)).padStart(3)}%`,f=`${String(a)}/${String(t)}`,y=Math.max(10,s-2-h.length-1),p=Math.round(y*d),j=y-p;return e.jsxs(l,{flexDirection:"column",paddingX:1,children:[e.jsxs(l,{children:[e.jsx(me,{type:"dots"}),e.jsx(r,{children:" Checking catalog dependencies "}),e.jsx(r,{dimColor:!0,children:f})]}),e.jsxs(l,{children:[e.jsx(r,{color:"cyan",children:"━".repeat(p)}),e.jsx(r,{dimColor:!0,children:"─".repeat(j)}),e.jsxs(r,{dimColor:!0,children:[" ",h]})]})]})},_=["default","name","updateType","severity"],ce=a=>{const t=a.vulnerabilities?.map(i=>i.severity)??[];return t.includes("CRITICAL")?4:t.includes("HIGH")?3:t.includes("MODERATE")?2:t.includes("LOW")?1:0},de={digest:0,major:3,minor:2,patch:1,pin:0,unknown:0},he=(a,t)=>{if(t==="default")return a;const i=[...a];return t==="name"?i.sort((s,d)=>s.packageName.localeCompare(d.packageName)):t==="updateType"?i.sort((s,d)=>(de[d.updateType]??0)-(de[s.updateType]??0)||s.packageName.localeCompare(d.packageName)):i.sort((s,d)=>ce(d)-ce(s)||s.packageName.localeCompare(d.packageName)),i},Z=a=>`${a.ecosystem}|${a.file}:${String(a.line)}|${a.name}`,A=a=>`${a.catalogName} ${a.packageName}`,Y=a=>{const t=new Map;for(const i of a){const s=t.get(i.catalogName);s?s.push(i):t.set(i.catalogName,[i])}return t},G=(a,t,i)=>{let s=a;if(t!=="all"&&(s=t==="security"?s.filter(d=>d.vulnerabilities&&d.vulnerabilities.length>0||d.socketReport&&d.socketReport.alerts.length>0):s.filter(d=>d.updateType===t)),i){const d=i.toLowerCase();s=s.filter(h=>h.packageName.toLowerCase().includes(d))}return s};class ze{#e;#l=new Set;#t;#s;#i=null;constructor(t,i=null,s=[]){this.#t=t,this.#s=s,i&&(this.#i=new Map(i.recommendations.map(d=>[d.package,d]))),this.#e={aiResult:i,allChecked:!0,applyProgress:null,checkedEcosystemKeys:new Set(s.map(d=>Z(d))),checkedEntries:new Set(t.map(d=>A(d))),ecosystemEntries:s,entries:t,error:null,filterActive:!1,filterText:"",filterType:"all",focusedPanel:"list",groupedByCatalog:Y(t),phase:"browsing",selectedIndex:0,sortMode:"default"}}getSnapshot=()=>this.#e;subscribe=t=>(this.#l.add(t),()=>{this.#l.delete(t)});getFilteredEntries(){return he(G(this.#t,this.#e.filterType,this.#e.filterText),this.#e.sortMode)}setSortMode(t){if(t===this.#e.sortMode)return;const i=this.getFilteredEntries()[this.#e.selectedIndex]?.packageName,s=he(G(this.#t,this.#e.filterType,this.#e.filterText),t),d=i?Math.max(0,s.findIndex(h=>h.packageName===i)):0;this.#r({...this.#e,selectedIndex:d,sortMode:t})}cycleSortMode(){const t=_.indexOf(this.#e.sortMode),i=_[(t+1)%_.length]??"default";this.setSortMode(i)}getRecommendation(t){return this.#i?.get(t)}getCheckedEntries(){return this.#t.filter(t=>this.#e.checkedEntries.has(A(t)))}getCheckedEcosystemEntries(){return this.#s.filter(t=>this.#e.checkedEcosystemKeys.has(Z(t)))}toggleEcosystemCheck(t){const i=new Set(this.#e.checkedEcosystemKeys);i.has(t)?i.delete(t):i.add(t),this.#r({...this.#e,checkedEcosystemKeys:i})}checkAllEcosystem(){this.#r({...this.#e,checkedEcosystemKeys:new Set(this.#s.map(t=>Z(t)))})}uncheckAllEcosystem(){this.#r({...this.#e,checkedEcosystemKeys:new Set})}setSelectedIndex(t){const i=this.getFilteredEntries(),s=Math.max(0,Math.min(t,i.length-1));s!==this.#e.selectedIndex&&this.#r({...this.#e,selectedIndex:s})}setFocusedPanel(t){t!==this.#e.focusedPanel&&this.#r({...this.#e,focusedPanel:t})}setFilterType(t){if(t!==this.#e.filterType){const i=G(this.#t,t,this.#e.filterText);this.#r({...this.#e,entries:i,filterType:t,groupedByCatalog:Y(i),selectedIndex:0})}}setFilter(t){const i=G(this.#t,this.#e.filterType,t);this.#r({...this.#e,entries:i,filterText:t,groupedByCatalog:Y(i),selectedIndex:0})}setFilterActive(t){if(t!==this.#e.filterActive)if(t)this.#r({...this.#e,filterActive:!0});else{const i=G(this.#t,this.#e.filterType,"");this.#r({...this.#e,entries:i,filterActive:!1,filterText:"",groupedByCatalog:Y(i),selectedIndex:0})}}toggleCheck(t){const i=A(t),s=new Set(this.#e.checkedEntries);s.has(i)?s.delete(i):s.add(i),this.#r({...this.#e,allChecked:s.size===this.#t.length,checkedEntries:s})}checkAll(){this.#r({...this.#e,allChecked:!0,checkedEntries:new Set(this.#t.map(t=>A(t)))})}uncheckAll(){this.#r({...this.#e,allChecked:!1,checkedEntries:new Set})}toggleAll(){this.#e.allChecked?this.uncheckAll():this.checkAll()}startApply(){const t=this.getCheckedEntries();this.#r({...this.#e,applyProgress:{current:0,total:t.length},phase:"applying"})}updateApplyProgress(t){this.#e.applyProgress&&this.#r({...this.#e,applyProgress:{...this.#e.applyProgress,current:t}})}markDone(){this.#r({...this.#e,phase:"done"})}setError(t){this.#r({...this.#e,error:t,phase:"error"})}#r(t){this.#e=t;for(const i of this.#l)try{i()}catch{}}}const be={major:"red",minor:"yellow",patch:"green"},Te={CRITICAL:"red",HIGH:"red",LOW:"gray",MODERATE:"yellow",UNKNOWN:"gray"},Se={critical:"red",high:"red",low:"gray",medium:"yellow"},Ee={critical:"red",high:"red",low:"green",medium:"yellow"},ve={defer:"gray",review:"yellow",skip:"red",update:"green"},Re=({changelogUrl:a,entry:t,focused:i,recommendation:s,scrollRef:d})=>{const h=i?"white":"gray";if(!t)return e.jsx(l,{alignItems:"center",borderColor:"gray",borderStyle:"single",flexDirection:"column",flexGrow:1,justifyContent:"center",children:e.jsx(r,{dimColor:!0,children:"No package selected"})});const f=be[t.updateType]??"white",y=t.vulnerabilities&&t.vulnerabilities.length>0,p=t.socketReport?.score.overall??0,j=t.socketReport?ue(p):"gray";return e.jsxs(l,{borderColor:h,borderStyle:"single",flexDirection:"column",flexGrow:1,children:[e.jsx(l,{flexShrink:0,paddingTop:1,paddingX:2,children:e.jsx(r,{bold:!0,color:"white",children:t.displayName??t.packageName})}),e.jsxs(fe,{flexGrow:1,flexShrink:1,paddingX:2,ref:d,scrollbar:!0,scrollbarColor:"gray",scrollbarStyle:"block",children:[e.jsx(r,{}),e.jsxs(l,{children:[e.jsx(l,{width:12,children:e.jsx(r,{dimColor:!0,children:"Current:"})}),e.jsx(r,{children:t.currentRange})]}),e.jsxs(l,{children:[e.jsx(l,{width:12,children:e.jsx(r,{dimColor:!0,children:"Target:"})}),e.jsx(r,{children:t.newRange}),e.jsxs(r,{bold:!0,color:f,children:[" ","(",t.updateType,")"]})]}),e.jsxs(l,{children:[e.jsx(l,{width:12,children:e.jsx(r,{dimColor:!0,children:"Version:"})}),e.jsx(r,{children:t.targetVersion})]}),e.jsxs(l,{children:[e.jsx(l,{width:12,children:e.jsx(r,{dimColor:!0,children:t.kind==="ecosystem"?"Source:":"Catalog:"})}),e.jsx(r,{color:t.kind==="ecosystem"?"cyan":void 0,children:t.catalogName})]}),t.acceptedRisk&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{color:"gray",children:"── "}),e.jsx(r,{bold:!0,color:"gray",children:"ACKNOWLEDGED RISK"}),e.jsxs(l,{flexDirection:"column",paddingLeft:2,children:[e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Reason: "}),e.jsx(r,{children:t.acceptedRisk.reason})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Accepted: "}),e.jsx(r,{children:t.acceptedRisk.acceptedAt.slice(0,10)})]})]})]}),y&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"red",children:"SECURITY"}),e.jsx(r,{}),t.vulnerabilities.map(n=>e.jsxs(l,{flexDirection:"column",marginBottom:1,children:[e.jsxs(l,{gap:1,children:[e.jsxs(r,{bold:!0,color:Te[n.severity]??"gray",children:["⚠"," ",n.severity]}),e.jsx(r,{bold:!0,children:n.id})]}),e.jsx(l,{paddingLeft:2,children:e.jsx(r,{children:n.summary})}),e.jsxs(l,{gap:2,paddingLeft:2,children:[n.cvssScore!==void 0&&e.jsxs(r,{dimColor:!0,children:["CVSS:",String(n.cvssScore)]}),n.fixedVersions.length>0&&e.jsxs(r,{dimColor:!0,children:["Fixed in:",n.fixedVersions.join(", ")]})]})]},n.id))]}),t.socketReport&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"cyan",children:"SOCKET.DEV"}),e.jsx(r,{}),e.jsxs(l,{gap:2,children:[e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Overall: "}),e.jsxs(r,{bold:!0,color:j,children:[String(Math.round(p*100)),"%"]})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Supply Chain: "}),e.jsxs(r,{children:[String(Math.round(t.socketReport.score.supplyChain*100)),"%"]})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Quality: "}),e.jsxs(r,{children:[String(Math.round(t.socketReport.score.quality*100)),"%"]})]})]}),e.jsxs(l,{gap:2,children:[e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Maintenance: "}),e.jsxs(r,{children:[String(Math.round(t.socketReport.score.maintenance*100)),"%"]})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Vulnerability: "}),e.jsxs(r,{children:[String(Math.round(t.socketReport.score.vulnerability*100)),"%"]})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"License: "}),e.jsxs(r,{children:[t.socketReport.license||"unknown"," ","(",String(Math.round(t.socketReport.score.license*100)),"%)"]})]})]}),t.socketReport.alerts.length>0&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsxs(r,{bold:!0,color:"yellow",children:["⚠"," ",String(t.socketReport.alerts.length)," ","alert",t.socketReport.alerts.length===1?"":"s",":"]}),t.socketReport.alerts.map(n=>e.jsxs(l,{gap:1,paddingLeft:2,children:[e.jsxs(r,{bold:!0,color:Se[n.severity]??"gray",children:["[",n.severity.toUpperCase(),"]"]}),e.jsx(r,{children:n.type}),e.jsxs(r,{dimColor:!0,children:["(",n.category,")"]})]},n.key))]})]}),s&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"AI ANALYSIS"}),e.jsx(r,{}),e.jsxs(l,{gap:2,children:[e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Action: "}),e.jsx(r,{bold:!0,color:ve[s.action]??"white",children:s.action})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Risk: "}),e.jsx(r,{bold:!0,color:Ee[s.riskLevel]??"white",children:s.riskLevel})]}),e.jsxs(l,{children:[e.jsx(r,{dimColor:!0,children:"Effort: "}),e.jsx(r,{bold:!0,children:s.effort})]})]}),s.reason&&e.jsx(l,{marginTop:1,paddingLeft:2,children:e.jsx(r,{children:s.reason})}),s.breakingChanges.length>0&&e.jsxs(l,{flexDirection:"column",marginTop:1,paddingLeft:2,children:[e.jsx(r,{bold:!0,color:"yellow",children:"Breaking changes:"}),s.breakingChanges.map((n,I)=>e.jsxs(r,{children:[" ","•"," ",n]},String(I)))]})]}),a&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"CHANGELOG"}),e.jsx(l,{marginTop:1,paddingLeft:2,children:e.jsx(r,{color:"cyan",underline:!0,children:a})})]}),e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"LINKS"}),e.jsx(l,{flexDirection:"column",marginTop:1,paddingLeft:2,children:t.kind==="ecosystem"?e.jsx(r,{color:"cyan",underline:!0,children:t.detailUrl??t.displayName??t.packageName}):e.jsxs(r,{color:"cyan",underline:!0,children:["https://npmx.dev/",t.packageName]})})]}),!s&&t.kind!=="ecosystem"&&e.jsxs(l,{flexDirection:"column",marginTop:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"GUIDANCE"}),e.jsxs(l,{flexDirection:"column",marginTop:1,paddingLeft:2,children:[t.updateType==="major"&&e.jsxs(e.Fragment,{children:[e.jsxs(r,{color:"red",children:["⚠"," ","Major update — likely contains breaking changes."]}),e.jsx(r,{dimColor:!0,children:" Review the changelog before updating."}),e.jsx(r,{dimColor:!0,children:" Use --changelog to fetch release URLs."})]}),t.updateType==="minor"&&e.jsxs(e.Fragment,{children:[e.jsxs(r,{color:"yellow",children:["ℹ"," ","Minor update — new features, backward compatible."]}),e.jsx(r,{dimColor:!0,children:" Generally safe to update."})]}),t.updateType==="patch"&&e.jsxs(e.Fragment,{children:[e.jsxs(r,{color:"green",children:["✓"," ","Patch update — bug fixes only."]}),e.jsx(r,{dimColor:!0,children:" Safe to update."})]}),!s&&e.jsx(r,{dimColor:!0,children:" Use --ai to get AI-powered analysis."})]})]})]})]})},Ae={major:"red",minor:"yellow",patch:"green"},Ie=[{id:"all",label:"All"},{id:"major",label:"Major"},{id:"minor",label:"Minor"},{id:"patch",label:"Patch"},{id:"security",label:"Security"}],De=({checked:a,entry:t,isSelected:i})=>{const s=Ae[t.updateType]??"white",d=t.vulnerabilities&&t.vulnerabilities.length>0,h=t.socketReport&&t.socketReport.alerts.length>0,f=!!t.acceptedRisk,y=a?"☑":"☐",p=t.socketReport?`${String(Math.round(t.socketReport.score.overall*100))}%`:"",j=t.socketReport?ue(t.socketReport.score.overall):"gray";return e.jsxs(l,{flexShrink:0,height:1,children:[e.jsx(r,{children:i?">":" "}),e.jsxs(r,{color:a?"white":"gray",children:[" ",y," "]}),d||h?e.jsx(r,{color:f?"gray":"red",children:f?"✓ ":"⚠ "}):e.jsx(r,{children:" "}),e.jsx(l,{flexGrow:1,children:e.jsxs(r,{bold:i,inverse:i,wrap:"truncate",children:[t.displayName??t.packageName,f?" [ack]":""]})}),p&&e.jsxs(r,{color:j,children:[" ",p]}),e.jsxs(r,{dimColor:!0,children:[" ",t.currentRange]}),e.jsxs(r,{dimColor:!0,children:[" ","→"," "]}),e.jsxs(r,{children:[t.newRange," "]}),e.jsx(r,{bold:!0,color:s,children:t.updateType})]})},Me=({count:a,ecosystem:t=!1,name:i})=>e.jsxs(l,{flexShrink:0,height:1,marginTop:1,children:[e.jsxs(r,{color:t?"cyan":void 0,dimColor:!t,children:[t?"◈":"▼"," "]}),e.jsx(r,{bold:!0,color:t?"cyan":"white",children:i.toUpperCase()}),e.jsxs(r,{dimColor:!0,children:[" ","(",a,")"]}),t&&e.jsxs(r,{color:"cyan",dimColor:!0,children:[" ","ci/cd refs"]})]}),Ne=({checkedEntries:a,entries:t,filterActive:i,filteredOutCount:s,filterText:d,filterType:h,focused:f,groupedByCatalog:y,isDryRun:p,onViewportHeightChange:j,scrollOffset:n,selectedIndex:I,totalCatalogEntries:D,totalChecked:E,totalEntries:H,viewportHeight:L})=>{const P=f?"white":"gray",{measuredHeight:m,ref:v}=ke(L,j);let F=0,S=0,M=0,R=0;for(const x of t)x.updateType==="major"?F++:x.updateType==="minor"?S++:M++,(x.vulnerabilities&&x.vulnerabilities.length>0||x.socketReport&&x.socketReport.alerts.length>0)&&R++;const C=[];F>0&&C.push(`${F} major`),S>0&&C.push(`${S} minor`),M>0&&C.push(`${M} patch`),R>0&&C.push(`${R} vulnerable`);const N=C.length>0?` (${C.join(", ")})`:"",w=t.filter(x=>x.kind==="ecosystem").length,k=t.length-w;let O=0;for(const x of t)a.has(A(x))&&O++;const U=[];let $=0;for(const[x,b]of y){U.push(e.jsx(Me,{count:b.length,ecosystem:b[0]?.kind==="ecosystem",name:x},`hdr-${x}`));for(const T of b){const W=$;U.push(e.jsx(De,{checked:a.has(A(T)),entry:T,isSelected:W===I},A(T))),$++}}let B=0;for(const[,x]of y)B+=2+x.length;const V=B>m&&m>0;return e.jsxs(l,{borderColor:P,borderStyle:"single",flexDirection:"column",flexGrow:1,children:[e.jsxs(l,{flexShrink:0,gap:1,paddingX:1,children:[e.jsx(r,{bold:!0,inverse:!0,children:" VIS "}),e.jsxs(r,{wrap:"truncate",children:[w>0?k:H,E>0?`/${E}`:""," ",w>0?"pkgs":"outdated",N,D>E?` · ${D-E} dupes`:""]}),w>0&&e.jsxs(r,{color:"cyan",children:[" ","◈",w," ","ci/cd"]}),!p&&O>0&&e.jsxs(r,{dimColor:!0,children:[" ","—",O," ","selected"]})]}),e.jsx(l,{flexShrink:0,paddingX:1,paddingY:1,children:e.jsx(Ce,{isFocused:f,keyMap:{next:[],previous:[],useNumbers:!1,useTab:!1},onChange:()=>{},showIndex:!1,value:h,children:Ie.map(({id:x,label:b})=>e.jsx(we,{name:x,children:b},x))})}),i&&e.jsxs(l,{flexShrink:0,paddingX:1,children:[e.jsx(r,{bold:!0,color:"white",children:"/ "}),e.jsx(r,{children:d}),e.jsx(r,{inverse:!0,children:" "})]}),s>0&&e.jsx(l,{flexShrink:0,paddingX:1,children:e.jsxs(r,{color:"yellow",children:["⚠"," ",s," ","package",s===1?"":"s"," ","filtered out by target constraint — press"," ",e.jsx(r,{bold:!0,color:"white",children:"f"})," ","to view"]})}),e.jsxs(l,{flexDirection:"row",flexGrow:1,overflow:"hidden",ref:v,children:[e.jsx(l,{flexDirection:"column",flexGrow:1,overflow:"hidden",paddingLeft:1,children:e.jsx(l,{flexDirection:"column",marginTop:-n,children:U})}),V&&e.jsx(l,{flexShrink:0,marginLeft:1,marginRight:1,children:e.jsx(ye,{contentHeight:B,placement:"inset",scrollOffset:n,style:"block",viewportHeight:m})})]},`list-${h}-${d}`)]})},Be=100,Le=40,Pe=10,Fe=[],K=["all","major","minor","patch","security"],Qe=({autoExitSeconds:a=0,changelogUrls:t,checkedCount:i=0,filteredOutEntries:s=Fe,isDryRun:d,store:h,totalCatalogEntries:f=0})=>{const{exit:y}=je(),{columns:p,rows:j}=ae(),n=g.useSyncExternalStore(h.subscribe,h.getSnapshot),[I,D]=g.useState(!1),[E,H]=g.useState(!1),L=g.useRef(null),P=g.useRef(null),m=g.useRef(null),v=g.useRef(null),[F,S]=g.useState(0),[M,R]=g.useState(!1),[C,N]=g.useState(!1),w=g.useMemo(()=>h.getFilteredEntries(),[n.entries,n.filterType,n.filterText,n.sortMode]),k=w[n.selectedIndex]??null,O=k?h.getRecommendation(k.packageName):void 0,U=k&&t?t.get(k.packageName):void 0,$=g.useCallback(o=>{let c=0,u=0;for(const[,Q]of n.groupedByCatalog){c+=2;for(let oe=0;oe<Q.length;oe++){if(u===o)return c;c+=1,u++}}return c},[n.groupedByCatalog]),B=Math.max(1,j-8-(n.filterActive?1:0)),[V,x]=g.useState(B),b=V>0?V:B,T=g.useCallback(o=>{const c=$(o);S(u=>c>u+b-2?Math.max(0,c-b+2):c<u+1?Math.max(0,c-1):u)},[$,b]);if(g.useEffect(()=>{m.current?.scrollToTop()},[k?.packageName]),ge((o,c)=>{if(o==="c"&&c.ctrl){y();return}if(!C){if(E){c.escape||o==="f"||o==="q"?H(!1):c.downArrow||o==="j"?P.current?.scrollBy(1):(c.upArrow||o==="k")&&P.current?.scrollBy(-1);return}if(M){o==="u"||c.return?(R(!1),h.startApply(),y(h.getCheckedEntries())):c.escape||o==="q"?R(!1):c.downArrow||o==="j"?v.current?.scrollBy(1):c.upArrow||o==="k"?v.current?.scrollBy(-1):c.pageDown?v.current?.scrollBy(5):c.pageUp&&v.current?.scrollBy(-5);return}if(I){c.escape||o==="?"?D(!1):o==="q"?(D(!1),N(!0)):c.downArrow||o==="j"?L.current?.scrollBy(1):(c.upArrow||o==="k")&&L.current?.scrollBy(-1);return}if(o==="?"){D(!0);return}if(o==="q"){N(!0);return}if(c.tab){h.setFocusedPanel(n.focusedPanel==="list"?"detail":"list");return}if(n.focusedPanel==="list"&&(c.leftArrow||c.rightArrow)){const u=K.indexOf(n.filterType),Q=c.rightArrow?(u+1)%K.length:(u-1+K.length)%K.length;S(0),m.current?.scrollToTop(),h.setFilterType(K[Q]);return}if(o==="f"&&s.length>0){H(u=>!u);return}if(n.filterActive){if(c.escape){h.setFilterActive(!1);return}if(c.return){h.setFilterActive(!1);return}if(c.backspace){S(0),h.setFilter(n.filterText.slice(0,-1));return}if(o&&!c.ctrl&&!c.meta){S(0),h.setFilter(n.filterText+o);return}return}if(n.focusedPanel==="list"){if(c.downArrow||o==="j"){const u=Math.min(n.selectedIndex+1,w.length-1);h.setSelectedIndex(u),T(u);return}if(c.upArrow||o==="k"){const u=Math.max(n.selectedIndex-1,0);h.setSelectedIndex(u),T(u);return}if(c.pageDown){const u=Math.min(n.selectedIndex+10,w.length-1);h.setSelectedIndex(u),T(u);return}if(c.pageUp){const u=Math.max(n.selectedIndex-10,0);h.setSelectedIndex(u),T(u);return}if(c.home){h.setSelectedIndex(0),S(0);return}if(c.end){const u=w.length-1;h.setSelectedIndex(u),T(u);return}if(o===" "||c.return){k&&h.toggleCheck(k);return}if(o==="a"){h.toggleAll();return}if(o==="s"){h.cycleSortMode(),T(h.getSnapshot().selectedIndex);return}if(o==="/"){h.setFilterActive(!0);return}if(o==="u"&&!d&&n.checkedEntries.size>0){R(!0);return}if(c.rightArrow){h.setFocusedPanel("detail");return}return}if(n.focusedPanel==="detail"){if(c.escape||c.leftArrow){h.setFocusedPanel("list");return}if(c.downArrow||o==="j"){m.current?.scrollBy(1);return}if(c.upArrow||o==="k"){m.current?.scrollBy(-1);return}if(c.pageDown){m.current?.scrollBy(10);return}if(c.pageUp){m.current?.scrollBy(-10);return}if(c.home){m.current?.scrollToTop();return}c.end&&m.current?.scrollToBottom()}}},{isActive:!0}),p<Le||j<Pe)return e.jsx(l,{alignItems:"center",height:j,justifyContent:"center",width:p,children:e.jsxs(r,{color:"yellow",children:["Terminal too small (",p,"x",j,")"]})});const W=p>=Be,q=[e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"q"}),e.jsx(r,{dimColor:!0,children:"QUIT"})]},"q"),e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"?"}),e.jsx(r,{dimColor:!0,children:"HELP"})]},"?"),e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"↑↓"}),e.jsx(r,{dimColor:!0,children:"NAV"})]},"nav"),e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"Space"}),e.jsx(r,{dimColor:!0,children:"CHECK"})]},"sp"),e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"a"}),e.jsx(r,{dimColor:!0,children:"ALL"})]},"a")];!d&&n.checkedEntries.size>0&&q.push(e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"green",children:"u"}),e.jsx(r,{dimColor:!0,children:"APPLY"})]},"u")),s.length>0&&q.push(e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"yellow",children:"f"}),e.jsxs(r,{dimColor:!0,children:["FILTERED (",s.length,")"]})]},"fo")),q.push(e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"←→"}),e.jsx(r,{dimColor:!0,children:"FILTER"})]},"lr"),e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"/"}),e.jsx(r,{dimColor:!0,children:"SEARCH"})]},"f"),e.jsxs(l,{gap:1,children:[e.jsx(r,{bold:!0,color:"white",children:"Tab"}),e.jsx(r,{dimColor:!0,children:"PANEL"})]},"t"));const ee=e.jsx(l,{borderBottom:!1,borderColor:"gray",borderLeft:!1,borderRight:!1,borderStyle:"single",flexShrink:0,children:e.jsx(l,{flexWrap:"wrap",gap:2,paddingX:1,children:q})}),re=e.jsxs(J,{footer:e.jsxs(r,{dimColor:!0,children:[e.jsx(r,{bold:!0,color:"white",children:"↑↓"})," ","scroll"," ",e.jsx(r,{bold:!0,color:"white",children:"?"}),"/",e.jsx(r,{bold:!0,color:"white",children:"Esc"})," ","close"]}),scrollRef:L,title:"KEYBOARD SHORTCUTS",visible:I,width:52,children:[e.jsxs(l,{flexDirection:"column",marginBottom:1,children:[e.jsxs(l,{marginBottom:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"NAVIGATION"})]}),e.jsxs(l,{children:[e.jsx(l,{width:24,children:e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","↑","/k"]}),e.jsx(r,{dimColor:!0,children:" Move up"})]})}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","↓","/j"]}),e.jsx(r,{dimColor:!0,children:" Move down"})]})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","Tab"]}),e.jsx(r,{dimColor:!0,children:" Switch panel"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","→","/","←"]}),e.jsx(r,{dimColor:!0,children:" Focus detail/list"})]})]}),e.jsxs(l,{flexDirection:"column",marginBottom:1,children:[e.jsxs(l,{marginBottom:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"SELECTION"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","Space"]}),e.jsx(r,{dimColor:!0,children:" Toggle check on package"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","a"]}),e.jsx(r,{dimColor:!0,children:" Toggle check all"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","s"]}),e.jsx(r,{dimColor:!0,children:" Cycle sort (default / name / type / severity)"})]})]}),e.jsxs(l,{flexDirection:"column",marginBottom:1,children:[e.jsxs(l,{marginBottom:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"FILTERS"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","←→"]}),e.jsx(r,{dimColor:!0,children:" Switch filter tab"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","/"]}),e.jsx(r,{dimColor:!0,children:" Text filter"})]}),s.length>0&&e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","f"]}),e.jsx(r,{dimColor:!0,children:" View filtered-out packages"})]})]}),e.jsxs(l,{flexDirection:"column",children:[e.jsxs(l,{marginBottom:1,children:[e.jsx(r,{dimColor:!0,children:"── "}),e.jsx(r,{bold:!0,color:"white",children:"ACTIONS"})]}),!d&&e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","u"]}),e.jsx(r,{dimColor:!0,children:" Apply selected updates"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","q"]}),e.jsx(r,{dimColor:!0,children:" Quit"})]}),e.jsxs(r,{children:[e.jsxs(r,{bold:!0,color:"white",children:[" ","?"]}),e.jsx(r,{dimColor:!0,children:" Toggle help"})]})]})]}),X=h.getCheckedEntries(),z=X.filter(o=>o.updateType==="major").length,xe=e.jsxs(l,{alignItems:"center",flexDirection:"column",children:[z>0&&e.jsx(l,{marginBottom:1,marginTop:1,children:e.jsxs(r,{color:"yellow",children:["⚠"," ",z," ","major update",z===1?"":"s"," ","— review breaking changes"]})}),e.jsxs(r,{dimColor:!0,children:["Press"," ",e.jsx(r,{bold:!0,color:"white",children:"u"})," ","or"," ",e.jsx(r,{bold:!0,color:"white",children:"Enter"})," ","to confirm,"," ",e.jsx(r,{bold:!0,color:"white",children:"Esc"})," ","to cancel"]})]}),te=e.jsx(J,{footer:xe,scrollRef:v,title:`Apply ${X.length} update${X.length===1?"":"s"}?`,visible:M,width:70,children:X.map(o=>e.jsxs(l,{gap:1,children:[e.jsxs(r,{children:[" ",o.displayName??o.packageName]}),e.jsxs(r,{dimColor:!0,children:[o.currentRange," ","→"," ",o.newRange]}),e.jsx(r,{bold:!0,color:o.updateType==="major"?"red":o.updateType==="minor"?"yellow":"green",children:o.updateType})]},o.packageName))}),le=s.length>0?e.jsx(J,{footer:e.jsxs(r,{dimColor:!0,children:[e.jsx(r,{bold:!0,color:"white",children:"↑↓"})," ","scroll"," ",e.jsx(r,{bold:!0,color:"white",children:"f"}),"/",e.jsx(r,{bold:!0,color:"white",children:"Esc"})," ","close"]}),scrollRef:P,title:`${s.length} PACKAGE${s.length===1?"":"S"} FILTERED BY TARGET`,visible:E,width:70,children:e.jsxs(l,{flexDirection:"column",children:[e.jsx(l,{marginBottom:1,children:e.jsxs(r,{dimColor:!0,children:["These packages have newer versions available but are excluded by the current target constraint. Use"," ",e.jsx(r,{bold:!0,color:"white",children:"--target latest"})," ","to include them."]})}),s.map(o=>e.jsxs(l,{gap:1,children:[e.jsxs(r,{children:[" ",o.packageName]}),e.jsxs(r,{dimColor:!0,children:[o.currentRange," ","→"," ",o.newRange]}),e.jsx(r,{bold:!0,color:o.updateType==="major"?"red":o.updateType==="minor"?"yellow":"green",children:o.updateType})]},o.packageName))]})}):null,se=e.jsx(Ne,{checkedEntries:n.checkedEntries,entries:w,filterActive:n.filterActive,filteredOutCount:s.length,filterText:n.filterText,filterType:n.filterType,focused:n.focusedPanel==="list",groupedByCatalog:n.groupedByCatalog,isDryRun:d,onViewportHeightChange:x,scrollOffset:F,selectedIndex:n.selectedIndex,totalCatalogEntries:f,totalChecked:i,totalEntries:w.length,viewportHeight:b}),ie=e.jsx(Re,{changelogUrl:U,entry:k,focused:n.focusedPanel==="detail",recommendation:O,scrollRef:m});if(W){const o=Math.floor(p*.35);return e.jsxs(l,{flexDirection:"column",height:j,width:p,children:[e.jsxs(l,{flexDirection:"row",flexGrow:1,children:[e.jsx(l,{flexGrow:1,children:se}),e.jsx(l,{width:o,children:ie})]}),ee,te,le,e.jsx(ne,{autoExitSeconds:a||3,onCancel:()=>{N(!1)},visible:C}),re]})}const pe=Math.floor(j*.55);return e.jsxs(l,{flexDirection:"column",height:j,width:p,children:[e.jsx(l,{height:pe,children:se}),e.jsx(l,{flexGrow:1,children:ie}),ee,te,le,e.jsx(ne,{autoExitSeconds:a||3,onCancel:()=>{N(!1)},visible:C}),re]})};export{ze as U,Qe as b,Z as e,We as u};
|