@visulima/vis 1.0.0-alpha.29 → 1.0.0-alpha.30

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.
Files changed (118) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/bin.js +1 -1
  3. package/dist/binx.js +1 -1
  4. package/dist/packem_chunks/bin.js +368 -367
  5. package/dist/packem_chunks/bloom-status.js +1 -1
  6. package/dist/packem_chunks/bloom-sync.js +1 -1
  7. package/dist/packem_chunks/config.js +15 -15
  8. package/dist/packem_chunks/doctor-probe.js +1 -1
  9. package/dist/packem_chunks/fix.js +1 -1
  10. package/dist/packem_chunks/handler.js +1 -1
  11. package/dist/packem_chunks/handler10.js +1 -1
  12. package/dist/packem_chunks/handler11.js +4 -4
  13. package/dist/packem_chunks/handler12.js +1 -1
  14. package/dist/packem_chunks/handler13.js +2 -2
  15. package/dist/packem_chunks/handler14.js +1 -1
  16. package/dist/packem_chunks/handler15.js +1 -1
  17. package/dist/packem_chunks/handler16.js +1 -1
  18. package/dist/packem_chunks/handler17.js +1 -1
  19. package/dist/packem_chunks/handler18.js +1 -1
  20. package/dist/packem_chunks/handler19.js +1 -1
  21. package/dist/packem_chunks/handler2.js +1 -1
  22. package/dist/packem_chunks/handler20.js +1 -1
  23. package/dist/packem_chunks/handler21.js +2 -2
  24. package/dist/packem_chunks/handler22.js +2 -2
  25. package/dist/packem_chunks/handler23.js +1 -1
  26. package/dist/packem_chunks/handler25.js +1 -1
  27. package/dist/packem_chunks/handler26.js +1 -1
  28. package/dist/packem_chunks/handler27.js +1 -1
  29. package/dist/packem_chunks/handler28.js +1 -1
  30. package/dist/packem_chunks/handler29.js +1 -1
  31. package/dist/packem_chunks/handler30.js +7 -7
  32. package/dist/packem_chunks/handler32.js +1 -1
  33. package/dist/packem_chunks/handler33.js +1 -1
  34. package/dist/packem_chunks/handler34.js +4 -4
  35. package/dist/packem_chunks/handler35.js +1 -1
  36. package/dist/packem_chunks/handler36.js +1 -1
  37. package/dist/packem_chunks/handler37.js +5 -5
  38. package/dist/packem_chunks/handler38.js +4 -4
  39. package/dist/packem_chunks/handler39.js +1 -1
  40. package/dist/packem_chunks/handler4.js +1 -1
  41. package/dist/packem_chunks/handler40.js +2 -2
  42. package/dist/packem_chunks/handler41.js +6 -6
  43. package/dist/packem_chunks/handler42.js +13 -13
  44. package/dist/packem_chunks/handler43.js +5 -5
  45. package/dist/packem_chunks/handler44.js +5 -5
  46. package/dist/packem_chunks/handler45.js +1 -1
  47. package/dist/packem_chunks/handler46.js +12 -12
  48. package/dist/packem_chunks/handler47.js +40 -40
  49. package/dist/packem_chunks/handler48.js +15 -15
  50. package/dist/packem_chunks/handler49.js +3 -3
  51. package/dist/packem_chunks/handler5.js +1 -1
  52. package/dist/packem_chunks/handler50.js +9 -9
  53. package/dist/packem_chunks/handler51.js +1 -1
  54. package/dist/packem_chunks/handler52.js +1 -1
  55. package/dist/packem_chunks/handler6.js +1 -1
  56. package/dist/packem_chunks/handler7.js +1 -1
  57. package/dist/packem_chunks/handler8.js +1 -1
  58. package/dist/packem_chunks/handler9.js +1 -1
  59. package/dist/packem_chunks/heal-accept.js +1 -1
  60. package/dist/packem_chunks/heal.js +1 -1
  61. package/dist/packem_chunks/help-command.js +7 -7
  62. package/dist/packem_chunks/index.js +6 -6
  63. package/dist/packem_chunks/keys-refresh.js +1 -1
  64. package/dist/packem_chunks/list.js +2 -2
  65. package/dist/packem_chunks/loader.js +1 -1
  66. package/dist/packem_chunks/loader2.js +1 -1
  67. package/dist/packem_chunks/prune.js +1 -1
  68. package/dist/packem_chunks/run.js +1 -1
  69. package/dist/packem_chunks/status.js +1 -1
  70. package/dist/packem_chunks/sync.js +1 -1
  71. package/dist/packem_chunks/sync2.js +1 -1
  72. package/dist/packem_chunks/tripwire.js +2 -2
  73. package/dist/packem_chunks/verify-lockfile.js +1 -1
  74. package/dist/packem_shared/Table-DoSoazT6-DwnyTUsA.js +12 -0
  75. package/dist/packem_shared/{advisories-DpgSuWDH.js → advisories-BxXiKFbL.js} +1 -1
  76. package/dist/packem_shared/{affected-shas-BkXXecyi.js → affected-shas-BdnlfiV1.js} +1 -1
  77. package/dist/packem_shared/{ai-fix-CfFWatGY.js → ai-fix-BkPUHA0z.js} +1 -1
  78. package/dist/packem_shared/{applyDefaults-DLvOqXGX.js → applyDefaults-BogleaFi.js} +1 -1
  79. package/dist/packem_shared/build-scripts-DE6U8jVq.js +1 -0
  80. package/dist/packem_shared/{cyclonedx-B04lIvwu.js → cyclonedx-BpGVHqSW.js} +1 -1
  81. package/dist/packem_shared/{dependency-scan-B9wTcLxf.js → dependency-scan-BUbOcMwX.js} +1 -1
  82. package/dist/packem_shared/{docker-DxA80dRx.js → docker-CTE3s4LW.js} +1 -1
  83. package/dist/packem_shared/{failure-log-n3j_-w8s.js → failure-log-34Wl3npC.js} +1 -1
  84. package/dist/packem_shared/glob-D_7bct6p-D8itOHsr.js +1 -0
  85. package/dist/packem_shared/{index-BfG9_znI.js → index-D1xC1Y_R.js} +1 -1
  86. package/dist/packem_shared/index-hoWfZmNo.js +30 -0
  87. package/dist/packem_shared/{lifecycle-NHIKDiCh.js → lifecycle-CXaqPGAQ.js} +2 -2
  88. package/dist/packem_shared/lockfile-CrT86D6d.js +1 -0
  89. package/dist/packem_shared/{lockfile-DAuTDwow.js → lockfile-Cu2BH6bl.js} +1 -1
  90. package/dist/packem_shared/{manifests-B7wUR3Rk.js → manifests-BzWpKW8F.js} +1 -1
  91. package/dist/packem_shared/{min-release-age-YyNI7gqV.js → min-release-age-BPVXwPUg.js} +2 -2
  92. package/dist/packem_shared/{native-config-sync-CgRIIRZV.js → native-config-sync-BRZZetn3.js} +8 -8
  93. package/dist/packem_shared/{osv-bloom-BQSIHt5h.js → osv-bloom-DSZcHLsM.js} +1 -1
  94. package/dist/packem_shared/{pm-runner-Ta_yz2uP.js → pm-runner-DmKT2FqF.js} +1 -1
  95. package/dist/packem_shared/{provenance-DoEp2uOo.js → provenance-DkCA8BrN.js} +1 -1
  96. package/dist/packem_shared/readFileSync-DseCu8sg-DEq4Fn3a.js +1 -0
  97. package/dist/packem_shared/{registry-keys-CD1xHavV.js → registry-keys-Mixm4eAY.js} +1 -1
  98. package/dist/packem_shared/{resolve-explicit-DpSc7RN2.js → resolve-explicit-D5E72FfN.js} +1 -1
  99. package/dist/packem_shared/runtime-check-CilFOqUU.js +1 -0
  100. package/dist/packem_shared/{s1ngularity-CIX7UcT5.js → s1ngularity-Qxc6tRRI.js} +1 -1
  101. package/dist/packem_shared/{scan-progress-CTVVf9WW.js → scan-progress-DVtCtI2z.js} +1 -1
  102. package/dist/packem_shared/{selectors-BU8aTRQm.js → selectors-DkgYFzdq.js} +1 -1
  103. package/dist/packem_shared/{signatures-BHM7cnqB.js → signatures-byuFrtAH.js} +1 -1
  104. package/dist/packem_shared/{toolchain-juKl-WgV.js → toolchain-DoG6b_G_.js} +2 -2
  105. package/dist/packem_shared/{typosquats-DRKU6d2S.js → typosquats-BiDxQj7R.js} +1 -1
  106. package/dist/packem_shared/{verify-DA80ja1b.js → verify-cLcZwKqe.js} +1 -1
  107. package/dist/packem_shared/{watch-DdR-pFzX.js → watch-DEL0yol9.js} +1 -1
  108. package/dist/packem_shared/{watch-loop-C8csFvRU.js → watch-loop-C31Ar7BX.js} +3 -3
  109. package/index.d.ts +201 -201
  110. package/index.js +26 -26
  111. package/package.json +10 -10
  112. package/dist/packem_shared/Table-3pFgIUZ2-DABgc6rj.js +0 -12
  113. package/dist/packem_shared/build-scripts-D-ysm_bS.js +0 -1
  114. package/dist/packem_shared/glob-MHJQjR39-CQ2GC0b_.js +0 -1
  115. package/dist/packem_shared/index-BDF8gawl.js +0 -29
  116. package/dist/packem_shared/lockfile-CoeFxWAv.js +0 -1
  117. package/dist/packem_shared/readFileSync-4c_c6Qey-6SWMDNdw.js +0 -1
  118. package/dist/packem_shared/runtime-check-Cbtb_Utb.js +0 -1
@@ -1,5 +1,5 @@
1
- var N=Object.defineProperty;var x=(o,e)=>N(o,"name",{value:e,configurable:!0});import{createRequire as I}from"node:module";import{j as J,i as g,y as R,M as d,$ as k}from"./readFileSync-4c_c6Qey-6SWMDNdw.js";import{n as O}from"../packem_chunks/config.js";const B=I(import.meta.url),M=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,j=x(o=>{if(typeof M<"u"&&M.versions&&M.versions.node){const[e,n]=M.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return M.getBuiltinModule(o)}return B(o)},"__cjs_getBuiltinModule"),{execFileSync:w}=j("node:child_process"),{randomBytes:D}=j("node:crypto"),{writeFileSync:U,renameSync:q,unlinkSync:H}=j("node:fs");var z=Object.defineProperty,f=x((o,e)=>z(o,"name",{value:e,configurable:!0}),"f");const V=["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"],W={asdf:[".tool-versions"],corepack:[],fnm:[".nvmrc",".node-version"],mise:[".mise.toml",".config/mise.toml","mise.toml"],nvm:[".nvmrc"],proto:[".prototools"],volta:[]},$=new Map,b=f(o=>{const e=$.get(o);if(e!==void 0||$.has(o))return e;const n=process.env.PATH;if(!n){$.set(o,void 0);return}const t=process.platform==="win32"?["",...(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";")]:[""];for(const r of n.split(J)){const a=r.replaceAll(/^["']|["']$/g,"").trim();if(a!=="")for(const l of t){const s=`${a}${R}${o}${l}`;if(g(s))return $.set(o,s),s}}$.set(o,void 0)},"isOnPath"),_=f((o,e=["--version"])=>{try{const n=w(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}},"queryManagerVersion"),A=f((o,e)=>{const n=d(o,"package.json");if(!g(n))return[];try{const t=O(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[]},"pkgFieldConfigFiles"),G=f((o,e)=>o==="volta"?A(e,"volta"):o==="corepack"?A(e,"packageManager"):W[o].filter(n=>g(d(e,n))),"configFilesFor"),P=new Map,K=f(()=>{P.clear(),$.clear()},"clearToolchainCache"),S=f((o,e)=>{if(!e?.refresh){const a=P.get(o);if(a)return a}const n=[],t=!!b("pnpm")||!!b("yarn");for(const a of X){const l=a==="nvm"?void 0:b(a),s=a==="nvm"&&!!process.env.NVM_DIR,c=G(a,o),i=!!l||s;a==="corepack"&&!i&&(!(c.length>0)||t)||!i&&c.length===0||n.push({binPath:l,configFiles:c,installed:i,name:a,version:l?_(l):void 0})}const r=Object.freeze(n);return P.set(o,r),r},"findInstalledManagers"),ye=f((o,e,n)=>{const t=n??S(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"}},"pickPrimaryManager"),L=f((o,e)=>{for(const n of e){const t=d(o,n);if(g(t))try{const r=k(t).trim();if(r!=="")return{name:n,value:r.replace(/^v/,"")}}catch{}}},"readVersionFile"),Q=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,Y=f(o=>{const e=d(o,".prototools");if(!g(e))return[];const n=k(e),t=[];let r=!1;for(const a of n.split(/\r?\n/)){const l=a.trim();if(l===""||l.startsWith("#"))continue;if(l.startsWith("[")){r=!0;continue}if(r)continue;const s=Q.exec(l);if(!s)continue;const[,c,i]=s,u=h(c);u&&t.push({source:".prototools",tool:u,version:i.trim()})}return t},"parsePrototools"),ee=/^\[tools\]\s*$/i,oe=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,ne=f(o=>{for(const e of W.mise){const n=d(o,e);if(!g(n))continue;const t=[],r=k(n);let a=!1;for(const l of r.split(/\r?\n/)){const s=l.trim();if(s===""||s.startsWith("#"))continue;if(s.startsWith("[")){a=ee.test(s);continue}if(!a)continue;const c=oe.exec(s);if(!c)continue;const[,i,u]=c,m=h(i);m&&t.push({source:".mise.toml",tool:m,version:u.trim()})}if(t.length>0)return t}return[]},"parseMiseToml"),te=f(o=>{const e=d(o,".tool-versions");if(!g(e))return[];const n=k(e),t=[];for(const r of n.split(/\r?\n/)){const a=r.trim();if(a===""||a.startsWith("#"))continue;const l=a.split(/\s+/);if(l.length<2)continue;const[s,...c]=l,i=h(s);i&&c[0]&&t.push({source:".tool-versions",tool:i,version:c[0]})}return t},"parseToolVersions"),h=f(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}},"normalizeToolName"),re=f(o=>{const[e]=o.split("+",1),n=/^(pnpm|yarn|npm|bun)@(.+)$/.exec(e??"");if(!n)return;const t=h(n[1]);if(t)return{source:"packageManager",tool:t,version:n[2]}},"parsePackageManagerField"),se=f((o,e)=>{const n=new Map,t=f(s=>{n.set(s.tool,s)},"add"),r=d(o,"package.json");let a={};try{g(r)&&(a=O(r))}catch{}if(a.engines)for(const[s,c]of Object.entries(a.engines)){const i=h(s);i&&typeof c=="string"&&t({source:"engines",tool:i,version:c})}if(a.packageManager){const s=re(a.packageManager);s&&t(s)}if(a.volta)for(const[s,c]of Object.entries(a.volta)){const i=h(s);i&&typeof c=="string"&&t({source:"volta",tool:i,version:c})}const l=L(o,[".nvmrc",".node-version"]);l&&t({source:l.name===".nvmrc"?".nvmrc":".node-version",tool:"node",version:l.value});for(const s of te(o))t(s);for(const s of ne(o))t(s);for(const s of Y(o))t(s);if(e?.tools)for(const[s,c]of Object.entries(e.tools)){const i=h(s);i&&typeof c=="string"&&t({source:"vis.config.ts",tool:i,version:c})}return[...n.values()]},"parseExpectedTools"),F={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"]}},ae=f(o=>{const e=F[o];for(const n of e.binaries){const t=b(n);if(t)return _(t,e.args)}if(o==="node")return process.versions.node},"queryToolVersion"),ie=f((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=f(s=>s.split(/[.\-+]/).map(c=>Number.parseInt(c,10)||0),"parse"),r=f((s,c)=>{const i=t(s),u=t(c),m=Math.max(i.length,u.length);for(let p=0;p<m;p++){const y=i[p]??0,v=u[p]??0;if(y!==v)return y-v}return 0},"compare"),a=f(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 i=c.slice(1).trim(),[u,m]=t(i),[p,y]=t(o);if(p!==u||c.startsWith("~")&&y!==m||r(o,i)<0)return!1}return!0},"matchesAll"),l=n.split("||").map(s=>s.trim().split(/\s+/).filter(Boolean)).filter(s=>s.length>0);return l.length===0?!0:l.some(s=>a(s))},"satisfies"),ce=f((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"]}},"preferenceFor"),le=f((o,e,n)=>{if(n?.preferredManager&&n.preferredManager!=="none"&&T(n.preferredManager,o.tool)){const r=e.find(a=>a.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=ce(o.source,o.tool);for(const r of t){if(r==="self-activate"){if((o.tool==="pnpm"||o.tool==="yarn")&&b(o.tool))return{installed:!0,name:"self-activate",note:`${o.tool} will activate ${o.version} from the packageManager field on next invocation`};continue}if(T(r,o.tool)&&e.find(a=>a.name===r)?.installed)return{installed:!0,name:r}}for(const r of t)if(!(r==="self-activate"||!T(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"}},"resolveManagerFor"),T=f((o,e)=>o==="none"?!1:o==="self-activate"?e==="pnpm"||e==="yarn":Z[o].includes(e),"canHandle"),fe=f((o,e)=>{const n=S(o),t=se(o,e).map(r=>{const a=ae(r.tool),l=a!==void 0&&ie(a,r.version),s=le(r,n,e);return{actual:a,expected:r,manager:s,matches:l}});return{detected:n,tools:t}},"getToolchainStatus"),pe=f((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}`)}}},"buildInstallInvocation"),$e=f((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}`)}}},"buildUseInvocation"),ke=f(o=>{for(const e of F[o].binaries){const n=b(e);if(n)return n}},"findOnPathByAlias"),Me=f((o,e)=>{const n=F[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=w(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=b(t);if(r)return r}},"resolveToolBinary"),E=f((o,e)=>{const n=`${o}.${process.pid}.${D(6).toString("hex")}.tmp`;U(n,e);try{q(n,o)}catch(t){try{H(n)}catch{}throw t}},"atomicWrite"),ue=f((o,e)=>{if("packageManager"in o)return o.packageManager=e,o;const n={};let t=!1;for(const[r,a]of Object.entries(o))!t&&(r==="dependencies"||r==="devDependencies"||r==="peerDependencies"||r==="optionalDependencies")&&(n.packageManager=e,t=!0),n[r]=a;return t||(n.packageManager=e),n},"insertPackageManagerKey"),we=f((o,e)=>{if(e.tool!=="pnpm"&&e.tool!=="yarn"&&e.tool!=="npm"&&e.tool!=="bun")return;const n=d(o,"package.json");if(!g(n))throw new Error(`Cannot pin ${e.tool}: ${n} does not exist.`);const t=k(n),r=/\n([ \t]+)/.exec(t)?.[1]??" ";let a;try{a=JSON.parse(t)}catch(i){throw new Error(`${n} is not valid JSON — fix it before running \`vis toolchain use\`. Underlying error: ${i.message}`,{cause:i})}const l=`${e.tool}@${e.version}`,s=ue(a,l),c=t.endsWith(`
1
+ var N=Object.defineProperty;var x=(o,e)=>N(o,"name",{value:e,configurable:!0});import{createRequire as B}from"node:module";import{j as J,l as g,y as R,M as d,B as k}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{s as O}from"../packem_chunks/config.js";const I=B(import.meta.url),M=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,j=x(o=>{if(typeof M<"u"&&M.versions&&M.versions.node){const[e,n]=M.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return M.getBuiltinModule(o)}return I(o)},"__cjs_getBuiltinModule"),{execFileSync:w}=j("node:child_process"),{randomBytes:D}=j("node:crypto"),{writeFileSync:U,renameSync:q,unlinkSync:H}=j("node:fs");var z=Object.defineProperty,f=x((o,e)=>z(o,"name",{value:e,configurable:!0}),"f");const V=["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"],W={asdf:[".tool-versions"],corepack:[],fnm:[".nvmrc",".node-version"],mise:[".mise.toml",".config/mise.toml","mise.toml"],nvm:[".nvmrc"],proto:[".prototools"],volta:[]},y=new Map,b=f(o=>{const e=y.get(o);if(e!==void 0||y.has(o))return e;const n=process.env.PATH;if(!n){y.set(o,void 0);return}const t=process.platform==="win32"?["",...(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";")]:[""];for(const r of n.split(J)){const a=r.replaceAll(/^["']|["']$/g,"").trim();if(a!=="")for(const l of t){const s=`${a}${R}${o}${l}`;if(g(s))return y.set(o,s),s}}y.set(o,void 0)},"isOnPath"),_=f((o,e=["--version"])=>{try{const n=w(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}},"queryManagerVersion"),A=f((o,e)=>{const n=d(o,"package.json");if(!g(n))return[];try{const t=O(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[]},"pkgFieldConfigFiles"),G=f((o,e)=>o==="volta"?A(e,"volta"):o==="corepack"?A(e,"packageManager"):W[o].filter(n=>g(d(e,n))),"configFilesFor"),P=new Map,K=f(()=>{P.clear(),y.clear()},"clearToolchainCache"),S=f((o,e)=>{if(!e?.refresh){const a=P.get(o);if(a)return a}const n=[],t=!!b("pnpm")||!!b("yarn");for(const a of X){const l=a==="nvm"?void 0:b(a),s=a==="nvm"&&!!process.env.NVM_DIR,c=G(a,o),i=!!l||s;a==="corepack"&&!i&&(!(c.length>0)||t)||!i&&c.length===0||n.push({binPath:l,configFiles:c,installed:i,name:a,version:l?_(l):void 0})}const r=Object.freeze(n);return P.set(o,r),r},"findInstalledManagers"),$e=f((o,e,n)=>{const t=n??S(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"}},"pickPrimaryManager"),L=f((o,e)=>{for(const n of e){const t=d(o,n);if(g(t))try{const r=k(t).trim();if(r!=="")return{name:n,value:r.replace(/^v/,"")}}catch{}}},"readVersionFile"),Q=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,Y=f(o=>{const e=d(o,".prototools");if(!g(e))return[];const n=k(e),t=[];let r=!1;for(const a of n.split(/\r?\n/)){const l=a.trim();if(l===""||l.startsWith("#"))continue;if(l.startsWith("[")){r=!0;continue}if(r)continue;const s=Q.exec(l);if(!s)continue;const[,c,i]=s,u=h(c);u&&t.push({source:".prototools",tool:u,version:i.trim()})}return t},"parsePrototools"),ee=/^\[tools\]\s*$/i,oe=/^([a-z][\w-]*)\s*=\s*"?([^"\n#]+?)"?\s*(?:#.*)?$/i,ne=f(o=>{for(const e of W.mise){const n=d(o,e);if(!g(n))continue;const t=[],r=k(n);let a=!1;for(const l of r.split(/\r?\n/)){const s=l.trim();if(s===""||s.startsWith("#"))continue;if(s.startsWith("[")){a=ee.test(s);continue}if(!a)continue;const c=oe.exec(s);if(!c)continue;const[,i,u]=c,m=h(i);m&&t.push({source:".mise.toml",tool:m,version:u.trim()})}if(t.length>0)return t}return[]},"parseMiseToml"),te=f(o=>{const e=d(o,".tool-versions");if(!g(e))return[];const n=k(e),t=[];for(const r of n.split(/\r?\n/)){const a=r.trim();if(a===""||a.startsWith("#"))continue;const l=a.split(/\s+/);if(l.length<2)continue;const[s,...c]=l,i=h(s);i&&c[0]&&t.push({source:".tool-versions",tool:i,version:c[0]})}return t},"parseToolVersions"),h=f(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}},"normalizeToolName"),re=f(o=>{const[e]=o.split("+",1),n=/^(pnpm|yarn|npm|bun)@(.+)$/.exec(e??"");if(!n)return;const t=h(n[1]);if(t)return{source:"packageManager",tool:t,version:n[2]}},"parsePackageManagerField"),se=f((o,e)=>{const n=new Map,t=f(s=>{n.set(s.tool,s)},"add"),r=d(o,"package.json");let a={};try{g(r)&&(a=O(r))}catch{}if(a.engines)for(const[s,c]of Object.entries(a.engines)){const i=h(s);i&&typeof c=="string"&&t({source:"engines",tool:i,version:c})}if(a.packageManager){const s=re(a.packageManager);s&&t(s)}if(a.volta)for(const[s,c]of Object.entries(a.volta)){const i=h(s);i&&typeof c=="string"&&t({source:"volta",tool:i,version:c})}const l=L(o,[".nvmrc",".node-version"]);l&&t({source:l.name===".nvmrc"?".nvmrc":".node-version",tool:"node",version:l.value});for(const s of te(o))t(s);for(const s of ne(o))t(s);for(const s of Y(o))t(s);if(e?.tools)for(const[s,c]of Object.entries(e.tools)){const i=h(s);i&&typeof c=="string"&&t({source:"vis.config.ts",tool:i,version:c})}return[...n.values()]},"parseExpectedTools"),F={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"]}},ae=f(o=>{const e=F[o];for(const n of e.binaries){const t=b(n);if(t)return _(t,e.args)}if(o==="node")return process.versions.node},"queryToolVersion"),ie=f((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=f(s=>s.split(/[.\-+]/).map(c=>Number.parseInt(c,10)||0),"parse"),r=f((s,c)=>{const i=t(s),u=t(c),m=Math.max(i.length,u.length);for(let p=0;p<m;p++){const $=i[p]??0,v=u[p]??0;if($!==v)return $-v}return 0},"compare"),a=f(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 i=c.slice(1).trim(),[u,m]=t(i),[p,$]=t(o);if(p!==u||c.startsWith("~")&&$!==m||r(o,i)<0)return!1}return!0},"matchesAll"),l=n.split("||").map(s=>s.trim().split(/\s+/).filter(Boolean)).filter(s=>s.length>0);return l.length===0?!0:l.some(s=>a(s))},"satisfies"),ce=f((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"]}},"preferenceFor"),le=f((o,e,n)=>{if(n?.preferredManager&&n.preferredManager!=="none"&&T(n.preferredManager,o.tool)){const r=e.find(a=>a.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=ce(o.source,o.tool);for(const r of t){if(r==="self-activate"){if((o.tool==="pnpm"||o.tool==="yarn")&&b(o.tool))return{installed:!0,name:"self-activate",note:`${o.tool} will activate ${o.version} from the packageManager field on next invocation`};continue}if(T(r,o.tool)&&e.find(a=>a.name===r)?.installed)return{installed:!0,name:r}}for(const r of t)if(!(r==="self-activate"||!T(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"}},"resolveManagerFor"),T=f((o,e)=>o==="none"?!1:o==="self-activate"?e==="pnpm"||e==="yarn":Z[o].includes(e),"canHandle"),fe=f((o,e)=>{const n=S(o),t=se(o,e).map(r=>{const a=ae(r.tool),l=a!==void 0&&ie(a,r.version),s=le(r,n,e);return{actual:a,expected:r,manager:s,matches:l}});return{detected:n,tools:t}},"getToolchainStatus"),pe=f((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}`)}}},"buildInstallInvocation"),ye=f((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}`)}}},"buildUseInvocation"),ke=f(o=>{for(const e of F[o].binaries){const n=b(e);if(n)return n}},"findOnPathByAlias"),Me=f((o,e)=>{const n=F[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=w(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=b(t);if(r)return r}},"resolveToolBinary"),E=f((o,e)=>{const n=`${o}.${process.pid}.${D(6).toString("hex")}.tmp`;U(n,e);try{q(n,o)}catch(t){try{H(n)}catch{}throw t}},"atomicWrite"),ue=f((o,e)=>{if("packageManager"in o)return o.packageManager=e,o;const n={};let t=!1;for(const[r,a]of Object.entries(o))!t&&(r==="dependencies"||r==="devDependencies"||r==="peerDependencies"||r==="optionalDependencies")&&(n.packageManager=e,t=!0),n[r]=a;return t||(n.packageManager=e),n},"insertPackageManagerKey"),we=f((o,e)=>{if(e.tool!=="pnpm"&&e.tool!=="yarn"&&e.tool!=="npm"&&e.tool!=="bun")return;const n=d(o,"package.json");if(!g(n))throw new Error(`Cannot pin ${e.tool}: ${n} does not exist.`);const t=k(n),r=/\n([ \t]+)/.exec(t)?.[1]??" ";let a;try{a=JSON.parse(t)}catch(i){throw new Error(`${n} is not valid JSON — fix it before running \`vis toolchain use\`. Underlying error: ${i.message}`,{cause:i})}const l=`${e.tool}@${e.version}`,s=ue(a,l),c=t.endsWith(`
2
2
  `)?`
3
3
  `:"";return E(n,`${JSON.stringify(s,void 0,r)}${c}`),l},"writePackageManagerField"),xe=f((o,e)=>{const n=d(o,"package.json");if(!g(n))return;const t=k(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 a=/\n([ \t]+)/.exec(t)?.[1]??" ",l=t.endsWith(`
4
4
  `)?`
5
- `:"";return E(n,`${JSON.stringify(r,void 0,a)}${l}`),e.version},"updateEnginesField"),Te=f(o=>{const e=/^([a-z][\w-]*)@(.+)$/i.exec(o.trim());if(!e)return;const n=h(e[1]);if(n)return{source:"vis.config.ts",tool:n,version:e[2]}},"parseUseArgument"),ge=f(async(o,e,n)=>{const t=fe(o,e),r=t.tools.filter(i=>!i.matches);if(r.length===0)return{attempted:[],failed:[],upToDate:!0};const a=t.detected.some(i=>i.installed);if(!(e?.autoInstall??a))return{attempted:[],failed:[],upToDate:!1};const l=[],s=[],c=new Map;for(const i of r){const u=c.get(i.manager.name);u?u.push(i):c.set(i.manager.name,[i])}for(const[i,u]of c){if(i==="self-activate"){for(const{expected:p}of u)n.info(`toolchain: ${p.tool} ${p.version} will self-activate on next ${p.tool} invocation`),l.push(p);continue}if(i==="none"){for(const{expected:p}of u)s.push({error:`no manager can install ${p.tool} — install one of ${V.join(", ")}`,spec:p});continue}if(!t.detected.find(p=>p.name===i)?.installed){for(const{expected:p}of u)s.push({error:`${i} is not on PATH`,spec:p});continue}const m=u.map(p=>({invocation:pe(i,p.expected),tool:p})).filter(p=>p.invocation!==void 0);for(const{invocation:p,tool:y}of m){const{expected:v}=y;if(p.bin==="nvm"&&p.args.length===0){n.warn(`toolchain: nvm requires a shell-side activation for ${v.tool} ${v.version}. Run \`nvm install\` / \`nvm use\` manually.`),s.push({error:"nvm requires shell-side activation",spec:v});continue}n.info(`toolchain: $ ${p.bin} ${p.args.join(" ")}`);try{w(p.bin,p.args,{cwd:o,stdio:"inherit"}),l.push(v),i==="fnm"&&de(p.bin,n)}catch(C){s.push({error:C.message,spec:v});break}}}return K(),{attempted:l,failed:s,upToDate:!1}},"ensureToolchain"),Pe=f(async(o,e,n,t=!1)=>{if(t)return;const r=await ge(o,e,n);for(const a of r.failed)n.warn(`toolchain: ${a.spec.tool} ${a.spec.version} — ${a.error}`)},"runToolchainPreflight"),de=f((o,e)=>{const n=process.platform==="win32"?"powershell":"bash";try{const t=w(o,["env","--shell",n],{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3});for(const r of t.split(/\r?\n/)){const a=r.trim();if(a==="")continue;const l=/^\$env:([A-Z_]\w*)\s*=\s*(.+)$/i.exec(a);if(l){const[,i,u]=l;process.env[i]=u.replaceAll(/^["']|["']$/g,"");continue}const s=/^set\s+"?([A-Z_]\w*)=(.*?)"?$/i.exec(a);if(s){const[,i,u]=s;process.env[i]=u;continue}const c=/^(?:export\s+)?([A-Z_]\w*)=(.+)$/i.exec(a);if(c){const[,i,u]=c;process.env[i]=u.replaceAll(/^["']|["']$/g,"")}}}catch(t){e.warn(`toolchain: could not activate fnm env (${t.message}). Subsequent tasks may use the previous Node version.`)}},"activateFnmEnv");export{V as S,le as a,pe as b,$e as c,Me as d,ke as e,S as f,fe as g,ye as h,Te as p,Pe as r,xe as u,we as w};
5
+ `:"";return E(n,`${JSON.stringify(r,void 0,a)}${l}`),e.version},"updateEnginesField"),Te=f(o=>{const e=/^([a-z][\w-]*)@(.+)$/i.exec(o.trim());if(!e)return;const n=h(e[1]);if(n)return{source:"vis.config.ts",tool:n,version:e[2]}},"parseUseArgument"),ge=f(async(o,e,n)=>{const t=fe(o,e),r=t.tools.filter(i=>!i.matches);if(r.length===0)return{attempted:[],failed:[],upToDate:!0};const a=t.detected.some(i=>i.installed);if(!(e?.autoInstall??a))return{attempted:[],failed:[],upToDate:!1};const l=[],s=[],c=new Map;for(const i of r){const u=c.get(i.manager.name);u?u.push(i):c.set(i.manager.name,[i])}for(const[i,u]of c){if(i==="self-activate"){for(const{expected:p}of u)n.info(`toolchain: ${p.tool} ${p.version} will self-activate on next ${p.tool} invocation`),l.push(p);continue}if(i==="none"){for(const{expected:p}of u)s.push({error:`no manager can install ${p.tool} — install one of ${V.join(", ")}`,spec:p});continue}if(!t.detected.find(p=>p.name===i)?.installed){for(const{expected:p}of u)s.push({error:`${i} is not on PATH`,spec:p});continue}const m=u.map(p=>({invocation:pe(i,p.expected),tool:p})).filter(p=>p.invocation!==void 0);for(const{invocation:p,tool:$}of m){const{expected:v}=$;if(p.bin==="nvm"&&p.args.length===0){n.warn(`toolchain: nvm requires a shell-side activation for ${v.tool} ${v.version}. Run \`nvm install\` / \`nvm use\` manually.`),s.push({error:"nvm requires shell-side activation",spec:v});continue}n.info(`toolchain: $ ${p.bin} ${p.args.join(" ")}`);try{w(p.bin,p.args,{cwd:o,stdio:"inherit"}),l.push(v),i==="fnm"&&de(p.bin,n)}catch(C){s.push({error:C.message,spec:v});break}}}return K(),{attempted:l,failed:s,upToDate:!1}},"ensureToolchain"),Pe=f(async(o,e,n,t=!1)=>{if(t)return;const r=await ge(o,e,n);for(const a of r.failed)n.warn(`toolchain: ${a.spec.tool} ${a.spec.version} — ${a.error}`)},"runToolchainPreflight"),de=f((o,e)=>{const n=process.platform==="win32"?"powershell":"bash";try{const t=w(o,["env","--shell",n],{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3});for(const r of t.split(/\r?\n/)){const a=r.trim();if(a==="")continue;const l=/^\$env:([A-Z_]\w*)\s*=\s*(.+)$/i.exec(a);if(l){const[,i,u]=l;process.env[i]=u.replaceAll(/^["']|["']$/g,"");continue}const s=/^set\s+"?([A-Z_]\w*)=(.*?)"?$/i.exec(a);if(s){const[,i,u]=s;process.env[i]=u;continue}const c=/^(?:export\s+)?([A-Z_]\w*)=(.+)$/i.exec(a);if(c){const[,i,u]=c;process.env[i]=u.replaceAll(/^["']|["']$/g,"")}}}catch(t){e.warn(`toolchain: could not activate fnm env (${t.message}). Subsequent tasks may use the previous Node version.`)}},"activateFnmEnv");export{V as S,le as a,pe as b,ye as c,Me as d,ke as e,S as f,fe as g,$e as h,Te as p,Pe as r,xe as u,we as w};
@@ -1 +1 @@
1
- var z=Object.defineProperty;var p=(e,s)=>z(e,"name",{value:s,configurable:!0});import{createRequire as _}from"node:module";import{T as k,e as g}from"./Table-3pFgIUZ2-DABgc6rj.js";import{M as D,i as A}from"./readFileSync-4c_c6Qey-6SWMDNdw.js";import{n as O}from"../packem_chunks/config.js";import{g as P}from"./_commonjsHelpers-CLblCigl.js";import{i as y,p as i}from"../packem_chunks/bin.js";const T=_(import.meta.url),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,M=p(e=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[s,r]=m.versions.node.split(".").map(Number);if(s>22||s===22&&r>=3||s===20&&r>=16)return m.getBuiltinModule(e)}return T(e)},"__cjs_getBuiltinModule"),{createInterface:C}=M("node:readline");var F=["aj","aju","av","avj","ejv","jav","jv"],L=["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"],R=["bcrpyt","bcrypt-node","brcypt","crypt","dcrypt"],W=["bcryptjs-node","dcryptjs"],V=["bunan","bunya","bunyan-node","buynan"],E=["cai","cha","chaijs","chal","chi","chia","hai"],U=["cahlk","calk","cchalk","ch4lk","cha1k","chaalk","chaik","chak","chakl","chalk-node","chalkk","challk","chhalk","chlak","chlk","halk","hcalk"],I=["cheero","cherio"],J=["c0lor","ccolor","clor","colo","coloor","color-js","colorjs","colorr","colr","coolor","coolr"],Y=["ccolors","colors-node","colorss","colorz","colrs","coolors"],G=["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"],H=["cor","corss","cos","cosr","cros","crs","ors"],K=["days"],Q=["d3bug","dbeug","dbug","ddebug","debbug","debg","debgu","debu","debu9","debug-js","debug-node","debugg","debugjs","debuug","deebug","deubg","deug","ebug","edbug"],X=["dot-env","dotenv-node","dotenvjs","dotevn"],Z=["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"],ee=["asbuild","ebuild","esbuild-node","esbuildjs","ezbuild","sbuild"],oe=["aslint","elint","eslint-js","eslint-node","eslit","ezlint","slint"],se=["eexpress","epress","epxress","experss","expess","exppress","expreess","expres","express-node","expressjs","expresss","exprress","exprses","exprss","exress","exrpess","exxpress","xepress","xpress"],re=["astify"],ae=["firebasejs"],te=["form1dable"],ne=["glb","glo","glob-js","globjs","gob","golb","lob"],ce=["go","goot","gotjs","gott","gt","gto","ogt","ot","qot"],ie=["helmetjs","helnet"],de=["homo","hon","hoo","hoon","ohno","ono"],me=["inquire","inquirer-js","nquirer"],le=["iredis"],pe=["ejst","est","jast","jes","jestjs","jestt","jet","jets","jst"],ue=["imp","jim","jip","jmp"],ve=["ji","jio","jo","joii","jol","oi","oji"],he=["jdom","jsdm","jsdo","jsdom-js","jsdon","jsom","sdom"],je=["jsonwebtoken-js","jsonwebtoken-node"],be=["ka","kao","ko","koaa","koajs","koe","oa","oka"],ke=["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"],ge=["luca","luci","lucie"],fe=["luon","luxo","luxon-js"],ye=["imcromatch","mciromatch","micormatch","micrmoatch","micro-match","microamtch","micromacth","micromathc","micromtach","mircomatch"],xe=["minimath"],we=["mcha","mmocha","moca","moch","mocha-js","moha","nocha","ocha"],qe=["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"],$e=["mognoose","mogoose","mongoos","mongose","monqoose","moongoose"],ze=["moran","organ"],_e=["muler","multer-js","muter"],Te=["mysql"],Me=["ext","mext","n3xt","naxt","net","netx","nex","next-js","next-node","nextjs","nxt"],Ce=["node-mailer","nodemailer-js"],De=["nodemo","nodemonjs","nodmeon"],Ae=["oar","or","ora-node","ore","ra","roa"],Oe=["arcel","parce","parceljs"],Pe=["passport-js"],Fe=["phase","phaser-node"],Le=["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"],Re=["prima","prism","prisma-js","prismajs","prizma"],We=["pupeteer"],Ve=["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"],Ue=["erdis","radis","rdis","redi","redis-js","redis-node","rediss","rediz","reds","reis","rredis"],Ie=["resen","rsend"],Je=["ollup","rollup-js","rollup-node"],Ye=["ass","asss","sas","sass-node","sess","ssas","sss"],Ge=["emver","seemver","semver-node","semvre","senver","sever"],He=["sequelize-js","sequelize-node"],Ke=["harp","shap","shar","sharp-js","sharpjs"],Qe=["stipe","strip","stripe-node","tripe"],Xe=["supabase-js"],Ze=["suelte","svelt3","svelte-js","sveltejs","velte"],eo=["tailwindcss-js"],oo=["auri","taui"],so=["hree","htree","thee","there","three-js","three-node","tree"],ro=["stx","sx","ts","tsxx","ttsx","tx","txs","tzx"],ao=["ttypescript","typecript","typescipt","typescript-node","typescriptjs","typescrit","typescritp"],to=["udnerscore","undercore","underscoer","underscore-node","underscroe","undersocre","undesrcore"],no=["uid","uud","uudi","uui","uuid-js","uuid-node","uuidjs","vuid"],co=["ite","vie","vit","vita","vite-node","vitee","vlte","vte"],io=["itest","uitest","vitestjs","vitezt","vittest","vtest"],mo=["ue","uue","uve","ve","veu","vu","vu3","vua","vue-node","vuee","vuejs","vuue","vve","vvue"],lo=["web-pack","weback","webpac","webpack-node","webpackjs","webpak","weebpack","wepack","wepback"],po=["winson","winston-js","winstoon"],uo=["up","uyp","yp","yu","yupjs","yupp"],vo=["od","zd","zdo","zo","zob","zod-js","zodjs"];const ho={ajv:F,angular:L,autoprefixer:N,"aws-sdk":["awssdk","ews-sdk"],axios:S,babel:B,bcrypt:R,bcryptjs:W,"body-parser":["body-paresr","body-parse","body-parser-js","body_parser"],bunyan:V,chai:E,chalk:U,cheerio:I,color:J,colors:Y,commander:G,"cookie-parser":["cookie-parse","cookieparser"],cors:H,"cross-env":["crossenv"],"date-fns":["data-fns","date-fn"],dayjs:K,debug:Q,dotenv:X,electron:Z,esbuild:ee,eslint:oe,express:se,fastify:re,firebase:ae,formidable:te,glob:ne,got:ce,helmet:ie,hono:de,inquirer:me,ioredis:le,jest:pe,jimp:ue,joi:ve,jsdom:he,jsonwebtoken:je,koa:be,lodash:ke,lucia:ge,luxon:fe,micromatch:ye,minimatch:xe,mocha:we,moment:qe,mongoose:$e,morgan:ze,multer:_e,mysql2:Te,next:Me,"node-fetch":["node-fecth","node-fethc","node.fetch"],nodemailer:Ce,nodemon:De,ora:Ae,parcel:Oe,passport:Pe,phaser:Fe,pino:Le,playwright:Ne,postcss:Se,prettier:Be,prisma:Re,puppeteer:We,ramda:Ve,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:Ue,resend:Ie,rollup:Je,sass:Ye,semver:Ge,sequelize:He,sharp:Ke,"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:Qe,supabase:Xe,svelte:Ze,tailwindcss:eo,tauri:oo,three:so,"ts-node":["tts-node"],tsx:ro,typescript:ao,underscore:to,uuid:no,vite:co,vitest:io,vue:mo,webpack:lo,winston:po,yup:uo,zod:vo};var h,f;function jo(){return f||(f=1,h={"@tanstack/start":["start-tanstack-app","tanstack","tanstack-app","tanstack-start"]}),h}p(jo,"requireTyposquatsManual");var bo=jo();const ko=P(bo);var go=Object.defineProperty,n=p((e,s)=>go(e,"name",{value:s,configurable:!0}),"c");const fo={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"]},yo=["app","cli","core","kit","lib","pkg","sdk"],xo=n(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 v=e[o+1]==="-"||e[o+1]==="."||e[o+1]==="_";if(!t&&!v){const d=[...e];[d[o],d[o+1]]=[d[o+1],d[o]],s.add(d.join(""))}}const c=e[o].toLowerCase(),b=fo[c];if(b)for(const v of b)s.add(e.slice(0,o)+v+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 c of["","-",".","_"])s.add(`${a}${c}${t}`),s.add(`${t}${c}${a}`);for(const c of yo)s.add(`${a}-${c}`),s.add(`${t}-${a}-${c}`),s.add(`${c}-${a}-${t}`)}}return s.delete(e),s},"generateVariants");let j,u,l;const x=n(()=>{if(!j){const e={};for(const s of[ho,ko])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)}j=e}return j},"loadBlocklist"),wo=n(()=>{if(!u){u=new Map;for(const[e,s]of Object.entries(x()))for(const r of s)u.set(r,e)}return u},"getReverseLookup"),qo=n(()=>{if(!l){l=new Map;for(const e of Object.keys(x()))for(const s of xo(e))l.has(s)||l.set(s,e)}return l},"getVariantLookup"),$o=n(e=>e.startsWith("@")?e.split("/")[1]??e:e,"bareName"),zo=n(e=>{const s=$o(e),r=wo().get(s);if(r)return{input:e,legitimate:r,method:"blocklist"};const o=qo().get(s);if(o)return{input:e,legitimate:o,method:"heuristic"}},"checkTyposquat"),w=n((e,s)=>{const r=s?new Set(s):void 0,o=[];for(const a of e){if(r?.has(a))continue;const t=zo(a);t&&o.push(t)}return o},"checkTyposquats"),q=n((e,s)=>{i.warn(""),i.warn(k(`Possible typosquat${e.length===1?"":"s"} ${s}:`));for(const r of e){const o=r.method==="blocklist"?"known typosquat":"similar name";i.warn(` ${g("⚠")} ${k(r.input)} — did you mean ${g(r.legitimate)}? (${o})`)}i.warn("")},"printTyposquatWarnings"),$=n(async e=>{if(!process.stdin.isTTY){i.warn("Aborting: potential typosquat detected in non-interactive mode. Use --no-typosquat-check to skip.");return}const s=C({input:process.stdin,output:process.stdout}),r=await new Promise(o=>{s.question(e,a=>{o(a.trim().toLowerCase())})});return s.close(),r},"askConfirmation"),No=n(async(e,s)=>{if(y("typosquats"))return{ok:!0,packages:e};const r=w(e,s);if(r.length===0)return{ok:!0,packages:e};q(r,"detected");const o=await $(`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}},"runTyposquatCheck"),_o=/^(?:npm|pnpm|yarn):(.+?)(?:@.*)?$/,To=n(e=>_o.exec(e)?.[1],"parseAliasTarget"),Mo=n(e=>{if(!A(e))return[];const s=O(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 c=To(t);c&&o.add(c)}return[...o]},"readDepsFromPackageJson"),So=n(async(e,s)=>{if(y("typosquats"))return!0;const r=D(e,"package.json"),o=Mo(r);if(o.length===0)return!0;const a=w(o,s);if(a.length===0)return!0;q(a,"in package.json dependencies"),i.warn("Fix the package name in package.json before proceeding.");const t=await $("Continue anyway? [y/N] ");return t==="y"||t==="yes"},"scanDepsForTyposquats");export{No as r,So as s};
1
+ var z=Object.defineProperty;var p=(e,s)=>z(e,"name",{value:s,configurable:!0});import{createRequire as _}from"node:module";import{T as k,e as g}from"./Table-DoSoazT6-DwnyTUsA.js";import{M as D,l as A}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{s as O}from"../packem_chunks/config.js";import{g as P}from"./_commonjsHelpers-CLblCigl.js";import{i as y,p as i}from"../packem_chunks/bin.js";const T=_(import.meta.url),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,M=p(e=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[s,r]=m.versions.node.split(".").map(Number);if(s>22||s===22&&r>=3||s===20&&r>=16)return m.getBuiltinModule(e)}return T(e)},"__cjs_getBuiltinModule"),{createInterface:C}=M("node:readline");var F=["aj","aju","av","avj","ejv","jav","jv"],L=["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"],R=["bcrpyt","bcrypt-node","brcypt","crypt","dcrypt"],W=["bcryptjs-node","dcryptjs"],V=["bunan","bunya","bunyan-node","buynan"],E=["cai","cha","chaijs","chal","chi","chia","hai"],U=["cahlk","calk","cchalk","ch4lk","cha1k","chaalk","chaik","chak","chakl","chalk-node","chalkk","challk","chhalk","chlak","chlk","halk","hcalk"],I=["cheero","cherio"],J=["c0lor","ccolor","clor","colo","coloor","color-js","colorjs","colorr","colr","coolor","coolr"],Y=["ccolors","colors-node","colorss","colorz","colrs","coolors"],G=["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"],H=["cor","corss","cos","cosr","cros","crs","ors"],K=["days"],Q=["d3bug","dbeug","dbug","ddebug","debbug","debg","debgu","debu","debu9","debug-js","debug-node","debugg","debugjs","debuug","deebug","deubg","deug","ebug","edbug"],X=["dot-env","dotenv-node","dotenvjs","dotevn"],Z=["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"],ee=["asbuild","ebuild","esbuild-node","esbuildjs","ezbuild","sbuild"],oe=["aslint","elint","eslint-js","eslint-node","eslit","ezlint","slint"],se=["eexpress","epress","epxress","experss","expess","exppress","expreess","expres","express-node","expressjs","expresss","exprress","exprses","exprss","exress","exrpess","exxpress","xepress","xpress"],re=["astify"],ae=["firebasejs"],te=["form1dable"],ne=["glb","glo","glob-js","globjs","gob","golb","lob"],ce=["go","goot","gotjs","gott","gt","gto","ogt","ot","qot"],ie=["helmetjs","helnet"],de=["homo","hon","hoo","hoon","ohno","ono"],me=["inquire","inquirer-js","nquirer"],le=["iredis"],pe=["ejst","est","jast","jes","jestjs","jestt","jet","jets","jst"],ue=["imp","jim","jip","jmp"],ve=["ji","jio","jo","joii","jol","oi","oji"],he=["jdom","jsdm","jsdo","jsdom-js","jsdon","jsom","sdom"],je=["jsonwebtoken-js","jsonwebtoken-node"],be=["ka","kao","ko","koaa","koajs","koe","oa","oka"],ke=["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"],ge=["luca","luci","lucie"],fe=["luon","luxo","luxon-js"],ye=["imcromatch","mciromatch","micormatch","micrmoatch","micro-match","microamtch","micromacth","micromathc","micromtach","mircomatch"],xe=["minimath"],we=["mcha","mmocha","moca","moch","mocha-js","moha","nocha","ocha"],qe=["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"],$e=["mognoose","mogoose","mongoos","mongose","monqoose","moongoose"],ze=["moran","organ"],_e=["muler","multer-js","muter"],Te=["mysql"],Me=["ext","mext","n3xt","naxt","net","netx","nex","next-js","next-node","nextjs","nxt"],Ce=["node-mailer","nodemailer-js"],De=["nodemo","nodemonjs","nodmeon"],Ae=["oar","or","ora-node","ore","ra","roa"],Oe=["arcel","parce","parceljs"],Pe=["passport-js"],Fe=["phase","phaser-node"],Le=["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"],Re=["prima","prism","prisma-js","prismajs","prizma"],We=["pupeteer"],Ve=["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"],Ue=["erdis","radis","rdis","redi","redis-js","redis-node","rediss","rediz","reds","reis","rredis"],Ie=["resen","rsend"],Je=["ollup","rollup-js","rollup-node"],Ye=["ass","asss","sas","sass-node","sess","ssas","sss"],Ge=["emver","seemver","semver-node","semvre","senver","sever"],He=["sequelize-js","sequelize-node"],Ke=["harp","shap","shar","sharp-js","sharpjs"],Qe=["stipe","strip","stripe-node","tripe"],Xe=["supabase-js"],Ze=["suelte","svelt3","svelte-js","sveltejs","velte"],eo=["tailwindcss-js"],oo=["auri","taui"],so=["hree","htree","thee","there","three-js","three-node","tree"],ro=["stx","sx","ts","tsxx","ttsx","tx","txs","tzx"],ao=["ttypescript","typecript","typescipt","typescript-node","typescriptjs","typescrit","typescritp"],to=["udnerscore","undercore","underscoer","underscore-node","underscroe","undersocre","undesrcore"],no=["uid","uud","uudi","uui","uuid-js","uuid-node","uuidjs","vuid"],co=["ite","vie","vit","vita","vite-node","vitee","vlte","vte"],io=["itest","uitest","vitestjs","vitezt","vittest","vtest"],mo=["ue","uue","uve","ve","veu","vu","vu3","vua","vue-node","vuee","vuejs","vuue","vve","vvue"],lo=["web-pack","weback","webpac","webpack-node","webpackjs","webpak","weebpack","wepack","wepback"],po=["winson","winston-js","winstoon"],uo=["up","uyp","yp","yu","yupjs","yupp"],vo=["od","zd","zdo","zo","zob","zod-js","zodjs"];const ho={ajv:F,angular:L,autoprefixer:N,"aws-sdk":["awssdk","ews-sdk"],axios:S,babel:B,bcrypt:R,bcryptjs:W,"body-parser":["body-paresr","body-parse","body-parser-js","body_parser"],bunyan:V,chai:E,chalk:U,cheerio:I,color:J,colors:Y,commander:G,"cookie-parser":["cookie-parse","cookieparser"],cors:H,"cross-env":["crossenv"],"date-fns":["data-fns","date-fn"],dayjs:K,debug:Q,dotenv:X,electron:Z,esbuild:ee,eslint:oe,express:se,fastify:re,firebase:ae,formidable:te,glob:ne,got:ce,helmet:ie,hono:de,inquirer:me,ioredis:le,jest:pe,jimp:ue,joi:ve,jsdom:he,jsonwebtoken:je,koa:be,lodash:ke,lucia:ge,luxon:fe,micromatch:ye,minimatch:xe,mocha:we,moment:qe,mongoose:$e,morgan:ze,multer:_e,mysql2:Te,next:Me,"node-fetch":["node-fecth","node-fethc","node.fetch"],nodemailer:Ce,nodemon:De,ora:Ae,parcel:Oe,passport:Pe,phaser:Fe,pino:Le,playwright:Ne,postcss:Se,prettier:Be,prisma:Re,puppeteer:We,ramda:Ve,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:Ue,resend:Ie,rollup:Je,sass:Ye,semver:Ge,sequelize:He,sharp:Ke,"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:Qe,supabase:Xe,svelte:Ze,tailwindcss:eo,tauri:oo,three:so,"ts-node":["tts-node"],tsx:ro,typescript:ao,underscore:to,uuid:no,vite:co,vitest:io,vue:mo,webpack:lo,winston:po,yup:uo,zod:vo};var h,f;function jo(){return f||(f=1,h={"@tanstack/start":["start-tanstack-app","tanstack","tanstack-app","tanstack-start"]}),h}p(jo,"requireTyposquatsManual");var bo=jo();const ko=P(bo);var go=Object.defineProperty,n=p((e,s)=>go(e,"name",{value:s,configurable:!0}),"c");const fo={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"]},yo=["app","cli","core","kit","lib","pkg","sdk"],xo=n(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 v=e[o+1]==="-"||e[o+1]==="."||e[o+1]==="_";if(!t&&!v){const d=[...e];[d[o],d[o+1]]=[d[o+1],d[o]],s.add(d.join(""))}}const c=e[o].toLowerCase(),b=fo[c];if(b)for(const v of b)s.add(e.slice(0,o)+v+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 c of["","-",".","_"])s.add(`${a}${c}${t}`),s.add(`${t}${c}${a}`);for(const c of yo)s.add(`${a}-${c}`),s.add(`${t}-${a}-${c}`),s.add(`${c}-${a}-${t}`)}}return s.delete(e),s},"generateVariants");let j,u,l;const x=n(()=>{if(!j){const e={};for(const s of[ho,ko])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)}j=e}return j},"loadBlocklist"),wo=n(()=>{if(!u){u=new Map;for(const[e,s]of Object.entries(x()))for(const r of s)u.set(r,e)}return u},"getReverseLookup"),qo=n(()=>{if(!l){l=new Map;for(const e of Object.keys(x()))for(const s of xo(e))l.has(s)||l.set(s,e)}return l},"getVariantLookup"),$o=n(e=>e.startsWith("@")?e.split("/")[1]??e:e,"bareName"),zo=n(e=>{const s=$o(e),r=wo().get(s);if(r)return{input:e,legitimate:r,method:"blocklist"};const o=qo().get(s);if(o)return{input:e,legitimate:o,method:"heuristic"}},"checkTyposquat"),w=n((e,s)=>{const r=s?new Set(s):void 0,o=[];for(const a of e){if(r?.has(a))continue;const t=zo(a);t&&o.push(t)}return o},"checkTyposquats"),q=n((e,s)=>{i.warn(""),i.warn(k(`Possible typosquat${e.length===1?"":"s"} ${s}:`));for(const r of e){const o=r.method==="blocklist"?"known typosquat":"similar name";i.warn(` ${g("⚠")} ${k(r.input)} — did you mean ${g(r.legitimate)}? (${o})`)}i.warn("")},"printTyposquatWarnings"),$=n(async e=>{if(!process.stdin.isTTY){i.warn("Aborting: potential typosquat detected in non-interactive mode. Use --no-typosquat-check to skip.");return}const s=C({input:process.stdin,output:process.stdout}),r=await new Promise(o=>{s.question(e,a=>{o(a.trim().toLowerCase())})});return s.close(),r},"askConfirmation"),No=n(async(e,s)=>{if(y("typosquats"))return{ok:!0,packages:e};const r=w(e,s);if(r.length===0)return{ok:!0,packages:e};q(r,"detected");const o=await $(`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}},"runTyposquatCheck"),_o=/^(?:npm|pnpm|yarn):(.+?)(?:@.*)?$/,To=n(e=>_o.exec(e)?.[1],"parseAliasTarget"),Mo=n(e=>{if(!A(e))return[];const s=O(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 c=To(t);c&&o.add(c)}return[...o]},"readDepsFromPackageJson"),So=n(async(e,s)=>{if(y("typosquats"))return!0;const r=D(e,"package.json"),o=Mo(r);if(o.length===0)return!0;const a=w(o,s);if(a.length===0)return!0;q(a,"in package.json dependencies"),i.warn("Fix the package name in package.json before proceeding.");const t=await $("Continue anyway? [y/N] ");return t==="y"||t==="yes"},"scanDepsForTyposquats");export{No as r,So as s};
@@ -1 +1 @@
1
- var u=Object.defineProperty;var g=(n,s)=>u(n,"name",{value:s,configurable:!0});import{createRequire as m}from"node:module";import{M as i,i as a,$ as f}from"./readFileSync-4c_c6Qey-6SWMDNdw.js";import{r as $}from"../packem_chunks/bin.js";const j=m(import.meta.url),k=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=g(n=>{if(typeof k<"u"&&k.versions&&k.versions.node){const[s,o]=k.versions.node.split(".").map(Number);if(s>22||s===22&&o>=3||s===20&&o>=16)return k.getBuiltinModule(n)}return j(n)},"__cjs_getBuiltinModule"),{readdirSync:v}=b("node:fs");var w=Object.defineProperty,l=g((n,s)=>w(n,"name",{value:s,configurable:!0}),"o");const _=[".husky/pre-commit",".vis-hooks/pre-commit",".git/hooks/pre-commit"],D=[".secretlintrc",".secretlintrc.json",".secretlintrc.js",".secretlintrc.mjs",".secretlintrc.cjs",".secretlintrc.yml",".secretlintrc.yaml"],S=[".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"],M=l(n=>{const s=i(n,"package.json");if(!a(s))return[];let o;try{o=JSON.parse(f(s))}catch{return[]}const e=[];if(o.scripts)for(const[t,c]of Object.entries(o.scripts))typeof c=="string"&&(/\bgitleaks\b/.test(c)&&e.push({detail:`Script "${t}" still invokes gitleaks: ${c}`,kind:"script",location:"package.json",tool:"gitleaks"}),/\bsecretlint\b/.test(c)&&e.push({detail:`Script "${t}" still invokes secretlint: ${c}`,kind:"script",location:"package.json",tool:"secretlint"}),/\bsyncpack\b/.test(c)&&e.push({detail:`Script "${t}" still invokes syncpack: ${c}`,kind:"script",location:"package.json",tool:"syncpack"}),/\bsherif\b/.test(c)&&e.push({detail:`Script "${t}" still invokes sherif: ${c}`,kind:"script",location:"package.json",tool:"sherif"}));if(o.devDependencies)for(const t of Object.keys(o.devDependencies))(t==="gitleaks"||t==="@gitleaks/cli")&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"gitleaks"}),(t==="secretlint"||t.startsWith("@secretlint/"))&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"secretlint"}),t==="syncpack"&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"syncpack"}),t==="sherif"&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"sherif"});return o.sherif&&e.push({detail:"`sherif` config block still present in package.json",kind:"config",location:"package.json",tool:"sherif"}),e},"scanPackageJson"),O=l(n=>{const s=[];for(const o of _){const e=i(n,o);if(!a(e))continue;const t=f(e);/\bgitleaks\b/.test(t)&&s.push({detail:"gitleaks invocation still present in hook",kind:"hook",location:o,tool:"gitleaks"}),/\bsecretlint\b/.test(t)&&s.push({detail:"secretlint invocation still present in hook",kind:"hook",location:o,tool:"secretlint"}),/\bsyncpack\b/.test(t)&&s.push({detail:"syncpack invocation still present in hook",kind:"hook",location:o,tool:"syncpack"}),/\bsherif\b/.test(t)&&s.push({detail:"sherif invocation still present in hook",kind:"hook",location:o,tool:"sherif"})}return s},"scanHooks"),C=l(n=>{const s=[];for(const o of D)a(i(n,o))&&s.push({detail:"secretlint config should be removed after migration",kind:"config",location:o,tool:"secretlint"});for(const o of S)a(i(n,o))&&s.push({detail:"syncpack config should be removed after migration",kind:"config",location:o,tool:"syncpack"});return s},"scanConfigs"),N=[".github/workflows",".gitlab-ci.yml",".circleci/config.yml",".woodpecker.yml",".drone.yml"],q=l(n=>{const s=[],o=l(e=>{const t=i(n,e);if(!a(t))return;const c=f(t);/\bsyncpack\b/.test(c)&&s.push({detail:"syncpack invocation still present in CI",kind:"ci",location:e,tool:"syncpack"}),/\bsherif\b/.test(c)&&s.push({detail:"sherif invocation still present in CI",kind:"ci",location:e,tool:"sherif"})},"scanFile");for(const e of N){const t=i(n,e);if(a(t)){if(e===".github/workflows"){try{for(const c of v(t))(c.endsWith(".yml")||c.endsWith(".yaml"))&&o(`.github/workflows/${c}`)}catch{}continue}o(e)}}return s},"scanCi"),I=l(n=>{const s=[],o=i(n,"pnpm-workspace.yaml");if(a(o)){let t;try{t=$(o)}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 r=t.catalogs;if(r&&typeof r=="object")for(const[d,p]of Object.entries(r))p&&typeof p.syncpack=="string"&&s.push({detail:`\`syncpack\` still listed in pnpm-workspace.yaml#catalogs.${d}`,kind:"catalog",location:"pnpm-workspace.yaml",tool:"syncpack"})}}const e=i(n,"package.json");if(a(e)){let t;try{t=JSON.parse(f(e))}catch{return s}const c=t.workspaces;if(c&&typeof c=="object"&&!Array.isArray(c)){const d=c.catalog;d&&typeof d.syncpack=="string"&&s.push({detail:"`syncpack` still listed in package.json#workspaces.catalog",kind:"catalog",location:"package.json",tool:"syncpack"});const p=c.catalogs;if(p&&typeof p=="object")for(const[h,y]of Object.entries(p))y&&typeof y.syncpack=="string"&&s.push({detail:`\`syncpack\` still listed in package.json#workspaces.catalogs.${h}`,kind:"catalog",location:"package.json",tool:"syncpack"})}const r=t.catalog;r&&typeof r.syncpack=="string"&&s.push({detail:"`syncpack` still listed in package.json#catalog",kind:"catalog",location:"package.json",tool:"syncpack"})}return s},"scanCatalogs"),J=l(n=>[...M(n),...O(n),...C(n),...q(n),...I(n)],"scanMigrationLeftovers"),B=l((n,s)=>{const o=J(n);if(o.length===0)return s.info("✓ No unmigrated gitleaks/secretlint/sherif/syncpack references found."),[];s.warn(`Found ${String(o.length)} unmigrated reference(s):`);for(const e of o)s.warn(` [${e.kind}] ${e.location} — ${e.detail}`);return o},"verifyMigration");export{J as s,B as v};
1
+ var u=Object.defineProperty;var g=(n,s)=>u(n,"name",{value:s,configurable:!0});import{createRequire as m}from"node:module";import{M as i,l as a,B as f}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{r as $}from"../packem_chunks/bin.js";const j=m(import.meta.url),k=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=g(n=>{if(typeof k<"u"&&k.versions&&k.versions.node){const[s,o]=k.versions.node.split(".").map(Number);if(s>22||s===22&&o>=3||s===20&&o>=16)return k.getBuiltinModule(n)}return j(n)},"__cjs_getBuiltinModule"),{readdirSync:v}=b("node:fs");var w=Object.defineProperty,l=g((n,s)=>w(n,"name",{value:s,configurable:!0}),"o");const _=[".husky/pre-commit",".vis-hooks/pre-commit",".git/hooks/pre-commit"],D=[".secretlintrc",".secretlintrc.json",".secretlintrc.js",".secretlintrc.mjs",".secretlintrc.cjs",".secretlintrc.yml",".secretlintrc.yaml"],S=[".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"],M=l(n=>{const s=i(n,"package.json");if(!a(s))return[];let o;try{o=JSON.parse(f(s))}catch{return[]}const e=[];if(o.scripts)for(const[t,c]of Object.entries(o.scripts))typeof c=="string"&&(/\bgitleaks\b/.test(c)&&e.push({detail:`Script "${t}" still invokes gitleaks: ${c}`,kind:"script",location:"package.json",tool:"gitleaks"}),/\bsecretlint\b/.test(c)&&e.push({detail:`Script "${t}" still invokes secretlint: ${c}`,kind:"script",location:"package.json",tool:"secretlint"}),/\bsyncpack\b/.test(c)&&e.push({detail:`Script "${t}" still invokes syncpack: ${c}`,kind:"script",location:"package.json",tool:"syncpack"}),/\bsherif\b/.test(c)&&e.push({detail:`Script "${t}" still invokes sherif: ${c}`,kind:"script",location:"package.json",tool:"sherif"}));if(o.devDependencies)for(const t of Object.keys(o.devDependencies))(t==="gitleaks"||t==="@gitleaks/cli")&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"gitleaks"}),(t==="secretlint"||t.startsWith("@secretlint/"))&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"secretlint"}),t==="syncpack"&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"syncpack"}),t==="sherif"&&e.push({detail:`devDependency \`${t}\` is still installed`,kind:"devDep",location:"package.json",tool:"sherif"});return o.sherif&&e.push({detail:"`sherif` config block still present in package.json",kind:"config",location:"package.json",tool:"sherif"}),e},"scanPackageJson"),O=l(n=>{const s=[];for(const o of _){const e=i(n,o);if(!a(e))continue;const t=f(e);/\bgitleaks\b/.test(t)&&s.push({detail:"gitleaks invocation still present in hook",kind:"hook",location:o,tool:"gitleaks"}),/\bsecretlint\b/.test(t)&&s.push({detail:"secretlint invocation still present in hook",kind:"hook",location:o,tool:"secretlint"}),/\bsyncpack\b/.test(t)&&s.push({detail:"syncpack invocation still present in hook",kind:"hook",location:o,tool:"syncpack"}),/\bsherif\b/.test(t)&&s.push({detail:"sherif invocation still present in hook",kind:"hook",location:o,tool:"sherif"})}return s},"scanHooks"),C=l(n=>{const s=[];for(const o of D)a(i(n,o))&&s.push({detail:"secretlint config should be removed after migration",kind:"config",location:o,tool:"secretlint"});for(const o of S)a(i(n,o))&&s.push({detail:"syncpack config should be removed after migration",kind:"config",location:o,tool:"syncpack"});return s},"scanConfigs"),N=[".github/workflows",".gitlab-ci.yml",".circleci/config.yml",".woodpecker.yml",".drone.yml"],q=l(n=>{const s=[],o=l(e=>{const t=i(n,e);if(!a(t))return;const c=f(t);/\bsyncpack\b/.test(c)&&s.push({detail:"syncpack invocation still present in CI",kind:"ci",location:e,tool:"syncpack"}),/\bsherif\b/.test(c)&&s.push({detail:"sherif invocation still present in CI",kind:"ci",location:e,tool:"sherif"})},"scanFile");for(const e of N){const t=i(n,e);if(a(t)){if(e===".github/workflows"){try{for(const c of v(t))(c.endsWith(".yml")||c.endsWith(".yaml"))&&o(`.github/workflows/${c}`)}catch{}continue}o(e)}}return s},"scanCi"),B=l(n=>{const s=[],o=i(n,"pnpm-workspace.yaml");if(a(o)){let t;try{t=$(o)}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 r=t.catalogs;if(r&&typeof r=="object")for(const[d,p]of Object.entries(r))p&&typeof p.syncpack=="string"&&s.push({detail:`\`syncpack\` still listed in pnpm-workspace.yaml#catalogs.${d}`,kind:"catalog",location:"pnpm-workspace.yaml",tool:"syncpack"})}}const e=i(n,"package.json");if(a(e)){let t;try{t=JSON.parse(f(e))}catch{return s}const c=t.workspaces;if(c&&typeof c=="object"&&!Array.isArray(c)){const d=c.catalog;d&&typeof d.syncpack=="string"&&s.push({detail:"`syncpack` still listed in package.json#workspaces.catalog",kind:"catalog",location:"package.json",tool:"syncpack"});const p=c.catalogs;if(p&&typeof p=="object")for(const[h,y]of Object.entries(p))y&&typeof y.syncpack=="string"&&s.push({detail:`\`syncpack\` still listed in package.json#workspaces.catalogs.${h}`,kind:"catalog",location:"package.json",tool:"syncpack"})}const r=t.catalog;r&&typeof r.syncpack=="string"&&s.push({detail:"`syncpack` still listed in package.json#catalog",kind:"catalog",location:"package.json",tool:"syncpack"})}return s},"scanCatalogs"),I=l(n=>[...M(n),...O(n),...C(n),...q(n),...B(n)],"scanMigrationLeftovers"),A=l((n,s)=>{const o=I(n);if(o.length===0)return s.info("✓ No unmigrated gitleaks/secretlint/sherif/syncpack references found."),[];s.warn(`Found ${String(o.length)} unmigrated reference(s):`);for(const e of o)s.warn(` [${e.kind}] ${e.location} — ${e.detail}`);return o},"verifyMigration");export{I as s,A as v};
@@ -1 +1 @@
1
- var T=Object.defineProperty;var v=(s,r)=>T(s,"name",{value:r,configurable:!0});import{createRequire as W}from"node:module";import{C as _,K as k,z as F}from"./readFileSync-4c_c6Qey-6SWMDNdw.js";import{p as u}from"../packem_chunks/bin.js";const j=W(import.meta.url),p=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,g=v(s=>{if(typeof p<"u"&&p.versions&&p.versions.node){const[r,a]=p.versions.node.split(".").map(Number);if(r>22||r===22&&a>=3||r===20&&a>=16)return p.getBuiltinModule(s)}return j(s)},"__cjs_getBuiltinModule"),{watch:S}=g("node:fs"),{execFileSync:q}=g("node:child_process"),{createRequire:A}=g("node:module");var C=Object.defineProperty,b=v((s,r)=>C(s,"name",{value:r,configurable:!0}),"r");const $=A(import.meta.url);let w;const P=b(()=>{if(w!==void 0)return w;try{$.resolve("fb-watchman")}catch{return w=!1,!1}try{q("watchman",["--version"],{stdio:"ignore",timeout:2e3})}catch{return w=!1,!1}return w=!0,!0},"isWatchmanAvailable"),x=b((s,r)=>{if(!P())return;let a;try{a=$("fb-watchman")}catch(o){u.warn(`[vis watch] fb-watchman failed to load, using native watcher: ${o.message}`);return}const n=new a.Client;n.on("error",o=>{u.warn(`[vis watch] watchman error: ${o.message}`)}),n.on("subscription",o=>{const t=o;if(!t.is_fresh_instance)for(const e of t.files??[])r(e)});for(const[o,t]of s.entries()){const e=_(t),i=`vis-watch-${o}-${process.pid}`;n.command(["watch-project",e],(l,h)=>{if(l){u.warn(`[vis watch] watchman could not watch ${t}: ${l.message}`);return}const d={expression:["allof",["type","f"]],fields:["name"]};h.relative_path&&(d.relative_root=h.relative_path),n.command(["subscribe",h.watch,i,d],c=>{c&&u.warn(`[vis watch] watchman subscribe failed for ${t}: ${c.message}`)})})}return{close:b(()=>{try{n.end()}catch{}},"close")}},"startWatchmanWatcher");var M=Object.defineProperty,f=v((s,r)=>M(s,"name",{value:r,configurable:!0}),"c");const O=[/node_modules(?:\/|$)/,/\.git(?:\/|$)/,/\.vis(?:\/|$)/],N=f((s,r)=>{const a=new Set,n=new Set;for(const[,e]of s){const i=e.task.hashDetails?.nodes;if(i)for(const l of Object.keys(i))a.add(l),n.add(k(_(r,l)))}const o=[...n].sort(),t=[];for(const e of o)t.some(i=>e===i||e.startsWith(`${i}/`))||t.push(e);return{directories:t,files:a}},"collectTrackedWatchTargets"),E=f((s,r,a)=>{const n=new Set;for(const o of s){const t=_(r,o);for(const e of a)if(t===e||t.startsWith(`${e}/`)){const i=F(e,t);i.length>0&&n.add(i)}}return o=>{const t=o.replaceAll("\\","/");return n.has(t)}},"createTrackedFileFilter"),R=f(s=>{const r=s.replaceAll("\\","/");return O.some(a=>a.test(r))},"shouldIgnore"),G=f(s=>{const{debounceMs:r=150,filter:a,onChange:n,paths:o}=s;let t=new Set,e;const i=f(()=>{e=void 0;const c=[...t];t=new Set,c.length!==0&&Promise.resolve(n(c)).catch(m=>{u.error("[vis watch] onChange handler failed:",m)})},"flush"),l=f(c=>{R(c)||a&&!a(c)||(t.add(c),e&&clearTimeout(e),e=setTimeout(i,r))},"emit"),h=x(o,l);if(h)return{close:f(()=>{e&&clearTimeout(e),h.close()},"close")};const d=[];for(const c of o)try{const m=S(c,{recursive:!0},(z,y)=>{y&&l(y)});d.push(m)}catch(m){u.warn(`[vis watch] unable to watch ${c}: ${m.message}`)}return{close:f(()=>{e&&clearTimeout(e);for(const c of d)try{c.close()}catch{}},"close")}},"startWatcher");export{E as a,N as c,G as s};
1
+ var T=Object.defineProperty;var v=(s,r)=>T(s,"name",{value:r,configurable:!0});import{createRequire as W}from"node:module";import{C as _,K as k,z as F}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{p as u}from"../packem_chunks/bin.js";const j=W(import.meta.url),p=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,g=v(s=>{if(typeof p<"u"&&p.versions&&p.versions.node){const[r,a]=p.versions.node.split(".").map(Number);if(r>22||r===22&&a>=3||r===20&&a>=16)return p.getBuiltinModule(s)}return j(s)},"__cjs_getBuiltinModule"),{watch:S}=g("node:fs"),{execFileSync:q}=g("node:child_process"),{createRequire:A}=g("node:module");var C=Object.defineProperty,b=v((s,r)=>C(s,"name",{value:r,configurable:!0}),"r");const $=A(import.meta.url);let w;const P=b(()=>{if(w!==void 0)return w;try{$.resolve("fb-watchman")}catch{return w=!1,!1}try{q("watchman",["--version"],{stdio:"ignore",timeout:2e3})}catch{return w=!1,!1}return w=!0,!0},"isWatchmanAvailable"),x=b((s,r)=>{if(!P())return;let a;try{a=$("fb-watchman")}catch(o){u.warn(`[vis watch] fb-watchman failed to load, using native watcher: ${o.message}`);return}const n=new a.Client;n.on("error",o=>{u.warn(`[vis watch] watchman error: ${o.message}`)}),n.on("subscription",o=>{const t=o;if(!t.is_fresh_instance)for(const e of t.files??[])r(e)});for(const[o,t]of s.entries()){const e=_(t),i=`vis-watch-${o}-${process.pid}`;n.command(["watch-project",e],(l,h)=>{if(l){u.warn(`[vis watch] watchman could not watch ${t}: ${l.message}`);return}const d={expression:["allof",["type","f"]],fields:["name"]};h.relative_path&&(d.relative_root=h.relative_path),n.command(["subscribe",h.watch,i,d],c=>{c&&u.warn(`[vis watch] watchman subscribe failed for ${t}: ${c.message}`)})})}return{close:b(()=>{try{n.end()}catch{}},"close")}},"startWatchmanWatcher");var M=Object.defineProperty,f=v((s,r)=>M(s,"name",{value:r,configurable:!0}),"c");const O=[/node_modules(?:\/|$)/,/\.git(?:\/|$)/,/\.vis(?:\/|$)/],N=f((s,r)=>{const a=new Set,n=new Set;for(const[,e]of s){const i=e.task.hashDetails?.nodes;if(i)for(const l of Object.keys(i))a.add(l),n.add(k(_(r,l)))}const o=[...n].sort(),t=[];for(const e of o)t.some(i=>e===i||e.startsWith(`${i}/`))||t.push(e);return{directories:t,files:a}},"collectTrackedWatchTargets"),E=f((s,r,a)=>{const n=new Set;for(const o of s){const t=_(r,o);for(const e of a)if(t===e||t.startsWith(`${e}/`)){const i=F(e,t);i.length>0&&n.add(i)}}return o=>{const t=o.replaceAll("\\","/");return n.has(t)}},"createTrackedFileFilter"),R=f(s=>{const r=s.replaceAll("\\","/");return O.some(a=>a.test(r))},"shouldIgnore"),G=f(s=>{const{debounceMs:r=150,filter:a,onChange:n,paths:o}=s;let t=new Set,e;const i=f(()=>{e=void 0;const c=[...t];t=new Set,c.length!==0&&Promise.resolve(n(c)).catch(m=>{u.error("[vis watch] onChange handler failed:",m)})},"flush"),l=f(c=>{R(c)||a&&!a(c)||(t.add(c),e&&clearTimeout(e),e=setTimeout(i,r))},"emit"),h=x(o,l);if(h)return{close:f(()=>{e&&clearTimeout(e),h.close()},"close")};const d=[];for(const c of o)try{const m=S(c,{recursive:!0},(z,y)=>{y&&l(y)});d.push(m)}catch(m){u.warn(`[vis watch] unable to watch ${c}: ${m.message}`)}return{close:f(()=>{e&&clearTimeout(e);for(const c of d)try{c.close()}catch{}},"close")}},"startWatcher");export{E as a,N as c,G as s};
@@ -1,4 +1,4 @@
1
- var fe=Object.defineProperty;var g=(e,t)=>fe(e,"name",{value:t,configurable:!0});import{createRequire as pe}from"node:module";import{M as y,i as E,$ as me,a as j,K as Y,C as Z}from"./readFileSync-4c_c6Qey-6SWMDNdw.js";import{aL as L}from"../packem_chunks/bin.js";import{n as ve,b as ee,q as $e}from"../packem_chunks/config.js";import{s as je}from"./watch-DdR-pFzX.js";const ge=pe(import.meta.url),I=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,P=g(e=>{if(typeof I<"u"&&I.versions&&I.versions.node){const[t,r]=I.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return I.getBuiltinModule(e)}return ge(e)},"__cjs_getBuiltinModule"),{createHash:A}=P("node:crypto"),{fileURLToPath:he,pathToFileURL:ye}=P("node:url"),{spawnSync:te,spawn:xe}=P("node:child_process"),{openSync:we,writeSync:be,closeSync:Ce,readFileSync:re,statSync:Ae,mkdirSync:Se,writeFileSync:Fe}=P("node:fs"),{availableParallelism:N}=P("node:os");var ke=Object.defineProperty,q=g((e,t)=>ke(e,"name",{value:t,configurable:!0}),"o$4");const ne=q((e,t)=>{for(const r of["dependencies","devDependencies","optionalDependencies","peerDependencies"]){const n=e[r];if(n&&typeof n[t]=="string")return n[t]}},"declaredVersion"),K=q((e,t)=>{for(const r of t){const n=y(e,r);if(E(n))return n}},"findFirstConfig"),Oe=q(e=>{const t=y(e,"package.json");if(!E(t))return{};try{return ve(t)}catch{return{}}},"readRootPackageJson"),Pt=q((e,t)=>{const r=Oe(e),n=new Map;for(const o of t){const s=o.detect(e,r);s&&n.set(o.id,s)}return n},"detectAdapters");var Ie=Object.defineProperty,$=g((e,t)=>Ie(e,"name",{value:t,configurable:!0}),"o$3");const Re={error:"error",info:"info",information:"info",warning:"warning"},Tt={argsCheck:$((e,t)=>B(e,t,!1),"argsCheck"),argsFix:$((e,t)=>B(e,t,!0),"argsFix"),bin:$(()=>["pnpm","exec","biome"],"bin"),cacheKey:$((e,t)=>{const r=["biome",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:$((e,t)=>{const r=ne(t,L.biome.packageNames[0]),n=K(e,L.biome.configFiles);if(!(!r&&!n))return{adapter:"biome",configFile:n,declared:!!r,declaredVersion:r,root:e}},"detect"),extensions:["astro","cjs","css","cts","js","json","jsonc","jsx","mjs","mts","svelte","ts","tsx","vue"],id:"biome",kind:"both",parse:$((e,t)=>{if(!e.stdout.trim())return[];let r;try{r=JSON.parse(e.stdout)}catch{return[{adapter:"biome",file:t.root,fixable:!1,message:`biome output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of r.diagnostics??[]){const s=o.location?.start,i=o.location?.end,a=Me(t.root,o.location?.path),c=o.category??"",l=c==="format"||c.startsWith("format/");n.push({adapter:"biome",column:s?.column&&s.column>0?s.column:void 0,endColumn:i?.column&&i.column>0?i.column:void 0,endLine:i?.line&&i.line>0?i.line:void 0,file:a,fixable:!0,line:s?.line&&s.line>0?s.line:void 0,message:l?"Code style issues would be auto-fixed":o.message??"",ruleId:c||void 0,severity:Re[o.severity??""]??"warning"})}return n},"parse")},B=$((e,t,r)=>{const n=["check","--reporter=json"];return r&&n.push("--write"),typeof t.maxWarnings=="number"&&n.push(`--max-diagnostics=${String(t.maxWarnings)}`),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildArgs"),Me=$((e,t)=>{const r=typeof t=="string"?t:t?.file;return r?r.startsWith("/")||/^[a-z]:[\\/]/i.test(r)?r:y(e,r):e},"resolvePath");var Le=Object.defineProperty,h=g((e,t)=>Le(e,"name",{value:t,configurable:!0}),"s$4");const se=h(e=>t=>{const r=K(t,L.deno.configFiles);if(r)return{adapter:e,configFile:r,declared:!1,root:t}},"detectDeno"),oe=h(e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),"isAbsolutePath"),qt={argsCheck:h((e,t)=>J(e,t,!1),"argsCheck"),argsFix:h((e,t)=>J(e,t,!0),"argsFix"),bin:h(()=>["deno","lint"],"bin"),cacheKey:h((e,t)=>{const r=["deno-lint",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:se("deno-lint"),extensions:["js","jsx","mjs","mts","ts","tsx"],id:"deno-lint",kind:"lint",parse:h((e,t)=>{if(!e.stdout.trim())return[];let r;try{r=JSON.parse(e.stdout)}catch{return[{adapter:"deno-lint",file:t.root,fixable:!1,message:`deno lint output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of r.diagnostics??[]){const s=o.range?.start,i=o.range?.end;n.push({adapter:"deno-lint",column:s?.col===void 0?void 0:s.col+1,endColumn:i?.col===void 0?void 0:i.col+1,endLine:i?.line===void 0?void 0:i.line+1,file:Pe(o.filename??t.root,t.root),fixable:!1,line:s?.line===void 0?void 0:s.line+1,message:o.message??"",ruleId:o.code,severity:"warning"})}return n},"parse")},_t={argsCheck:h((e,t)=>V(e,t,!1),"argsCheck"),argsFix:h((e,t)=>V(e,t,!0),"argsFix"),bin:h(()=>["deno","fmt"],"bin"),cacheKey:h((e,t)=>{const r=["deno-fmt",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:se("deno-fmt"),extensions:["astro","cjs","css","cts","html","ipynb","js","json","jsonc","jsx","less","md","mjs","mts","sass","scss","sql","svelte","ts","tsx","vue","yaml","yml"],id:"deno-fmt",kind:"fmt",parse:h((e,t)=>{if(e.exitCode===0)return[];const r=[],n=new Set;for(const o of e.stdout.split(/\r?\n/)){const s=/^from (.+):$/.exec(o);if(!s)continue;const i=s[1];n.has(i)||(n.add(i),r.push({adapter:"deno-fmt",file:oe(i)?i:`${t.root}/${i}`,fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return r},"parse")},J=h((e,t,r)=>{const n=["--json"];return r&&n.push("--fix"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildLintArgs"),V=h((e,t,r)=>{const n=[];return r||n.push("--check"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildFmtArgs"),Pe=h((e,t)=>e.startsWith("file://")?he(e):oe(e)?e:`${t}/${e}`,"resolveFilename");var Te=Object.defineProperty,p=g((e,t)=>Te(e,"name",{value:t,configurable:!0}),"r$1");const ie="pyproject.toml",qe=/^\[tool\.ruff(?:\.[\w-]+)*\]\s*$/m,_e=/^Would reformat:?\s+(.+)$/,De=p(e=>{const t=y(e,ie);if(!E(t))return!1;try{const r=me(t);return qe.test(r)}catch{return!1}},"pyprojectMentionsRuff"),ae=p(e=>(t,r)=>{const n=L.ruff.packageNames.map(a=>ne(r,a)).find(a=>a!==void 0),o=K(t,L.ruff.configFiles),s=o?void 0:De(t)?y(t,ie):void 0,i=o??s;if(!(!n&&!i))return{adapter:e,configFile:i,declared:!!n,declaredVersion:n,root:t}},"detectRuff"),We=p(e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),"isAbsolutePath"),ce=p((e,t)=>e?We(e)?e:y(t,e):t,"resolveFilename"),Ee=p(e=>_e.exec(e)?.[1]?.trim(),"matchReformatLine"),Dt={argsCheck:p((e,t)=>z(e,t,!1),"argsCheck"),argsFix:p((e,t)=>z(e,t,!0),"argsFix"),bin:p(()=>["ruff","check"],"bin"),cacheKey:p((e,t)=>{const r=["ruff-check",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:ae("ruff-check"),extensions:["py","pyi"],id:"ruff-check",kind:"lint",parse:p((e,t)=>{if(!e.stdout.trim())return[];let r;try{r=JSON.parse(e.stdout)}catch{return[{adapter:"ruff-check",file:t.root,fixable:!1,message:`ruff check output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of r){const s=o.location,i=o.end_location;n.push({adapter:"ruff-check",column:s?.column,endColumn:i?.column,endLine:i?.row,file:ce(o.filename,t.root),fixable:!!o.fix,line:s?.row,message:o.message??"",ruleId:o.code,severity:"warning"})}return n},"parse")},Wt={argsCheck:p((e,t)=>G(e,t,!1),"argsCheck"),argsFix:p((e,t)=>G(e,t,!0),"argsFix"),bin:p(()=>["ruff","format"],"bin"),cacheKey:p((e,t)=>{const r=["ruff-fmt",e.declaredVersion??"unknown",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:ae("ruff-fmt"),extensions:["py","pyi"],id:"ruff-fmt",kind:"fmt",parse:p((e,t)=>{if(e.exitCode===0)return[];const r=[],n=new Set;for(const o of e.stdout.split(/\r?\n/)){const s=Ee(o);!s||n.has(s)||(n.add(s),r.push({adapter:"ruff-fmt",file:ce(s,t.root),fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return r},"parse")},z=p((e,t,r)=>{const n=["--output-format=json"];return r&&n.push("--fix"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildCheckArgs"),G=p((e,t,r)=>{const n=[];return r||n.push("--check"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildFmtArgs");var Ke=Object.defineProperty,_=g((e,t)=>Ke(e,"name",{value:t,configurable:!0}),"o$2");const Et=_((e,t)=>{const r=R(e,["diff","--name-only","--diff-filter=ACMR","-z",`${t}...HEAD`]);if(r===void 0)return;const n=R(e,["diff","--name-only","--diff-filter=ACMR","-z"]),o=R(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]),s=R(e,["ls-files","--others","--exclude-standard","-z"]),i=new Set;for(const a of[r,n??"",o??"",s??""])for(const c of a.split("\0"))c.length!==0&&i.add(j(c)?c:y(e,c));return[...i].sort()},"changedFilesSince"),Kt=_(e=>{const t=R(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]);if(t===void 0)return;const r=new Set;for(const n of t.split("\0"))n.length!==0&&r.add(j(n)?n:y(e,n));return[...r].sort()},"stagedFiles"),R=_((e,t)=>{const r=te("git",[...t],{cwd:e,encoding:"utf8",timeout:1e4});if(r.status===0)return r.stdout},"runGit"),Nt=_((e,t)=>{const r=new Set(t.map(s=>s.toLowerCase())),n=[],o=new Set;for(const s of e){const i=s.lastIndexOf(".");if(i===-1||i===s.length-1)continue;const a=s.slice(i+1).toLowerCase();r.has(a)&&(o.has(s)||(o.add(s),n.push(s)))}return n},"filterByExtensions");var Ne=Object.defineProperty,x=g((e,t)=>Ne(e,"name",{value:t,configurable:!0}),"n");const le=new Set(["-","stdout"]),U=x(e=>({close:x(()=>{},"close"),write:x(t=>{e.write(t)},"write")}),"wrapStream"),Be=x(e=>{ee(Y(e));const t=we(e,"w");let r=[];return{close:x(()=>{r.length>0&&(be(t,r.join("")),r=[]),Ce(t)},"close"),write:x(n=>{r.push(n)},"write")}},"openFileSink"),Je=x(e=>{const{cwd:t,target:r}=e;if(r===void 0||le.has(r))return U(process.stdout);if(r==="stderr")return U(process.stderr);const n=j(r)?r:Z(t,r);return Be(n)},"resolveOutput");x(e=>{const{content:t,...r}=e;if(r.target!==void 0&&!le.has(r.target)&&r.target!=="stderr"){const o=j(r.target)?r.target:Z(r.cwd,r.target);ee(Y(o)),$e(o,t,{overwrite:!0});return}const n=Je(r);n.write(t),n.close()},"writeOutput");var Ve=Object.defineProperty,k=g((e,t)=>Ve(e,"name",{value:t,configurable:!0}),"s$3");const H=["oxlint","oxfmt","biome","eslint","dprint","prettier","stylelint","ruff-check","ruff-fmt","markdownlint","shellcheck","deno-lint","deno-fmt"],Bt=k((e,t)=>{const r=new Map(e.map(i=>[i.id,i])),n=[],o=new Set,s=t&&t.length>0?t:H;for(const i of s){const a=r.get(i);a&&!o.has(i)&&(n.push(a),o.add(i))}if(t&&t.length>0)for(const i of H){const a=r.get(i);a&&!o.has(i)&&(n.push(a),o.add(i))}for(const i of e)o.has(i.id)||(n.push(i),o.add(i.id));return n},"registerAdapters"),Jt=k((e,t,r)=>{const n=[];for(const o of t){const s=e.get(o.id);s&&ze(o.kind,r)&&n.push({adapter:o,presence:s})}return n},"adaptersByKind"),ze=k((e,t)=>e===t||e==="both","matchesKind"),Vt=k((e,t,r={})=>{const n=new Map;for(const o of e){const s=Ge(o),i=Ue(s,t,r);if(!i)continue;const a=n.get(i);a?a.push(o):n.set(i,[o])}return n},"routeFilesByExtension"),Ge=k(e=>{const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()},"extensionOf"),Ue=k((e,t,r)=>{const n=r[e];if(n&&t.some(o=>o.adapter.id===n))return n;for(const{adapter:o}of t)if(o.extensions.includes(e))return o.id},"resolveAdapterForExtension");var He=Object.defineProperty,S=g((e,t)=>He(e,"name",{value:t,configurable:!0}),"r");const Qe=S(e=>e==="error"?"error":e==="warning"?"warning":"notice","commandFor"),ue=S(e=>e.replaceAll("%","%25").replaceAll("\r","%0D").replaceAll(`
1
+ var fe=Object.defineProperty;var g=(e,t)=>fe(e,"name",{value:t,configurable:!0});import{createRequire as pe}from"node:module";import{M as y,l as W,B as me,a as j,K as Y,C as Z}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{aL as L}from"../packem_chunks/bin.js";import{s as ve,d as ee,E as $e}from"../packem_chunks/config.js";import{s as je}from"./watch-DEL0yol9.js";const ge=pe(import.meta.url),I=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,P=g(e=>{if(typeof I<"u"&&I.versions&&I.versions.node){const[t,r]=I.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return I.getBuiltinModule(e)}return ge(e)},"__cjs_getBuiltinModule"),{createHash:A}=P("node:crypto"),{fileURLToPath:he,pathToFileURL:ye}=P("node:url"),{spawnSync:te,spawn:xe}=P("node:child_process"),{openSync:we,writeSync:be,closeSync:Ce,readFileSync:re,statSync:Ae,mkdirSync:Se,writeFileSync:Fe}=P("node:fs"),{availableParallelism:N}=P("node:os");var ke=Object.defineProperty,q=g((e,t)=>ke(e,"name",{value:t,configurable:!0}),"o$4");const ne=q((e,t)=>{for(const r of["dependencies","devDependencies","optionalDependencies","peerDependencies"]){const n=e[r];if(n&&typeof n[t]=="string")return n[t]}},"declaredVersion"),K=q((e,t)=>{for(const r of t){const n=y(e,r);if(W(n))return n}},"findFirstConfig"),Oe=q(e=>{const t=y(e,"package.json");if(!W(t))return{};try{return ve(t)}catch{return{}}},"readRootPackageJson"),Pt=q((e,t)=>{const r=Oe(e),n=new Map;for(const o of t){const s=o.detect(e,r);s&&n.set(o.id,s)}return n},"detectAdapters");var Ie=Object.defineProperty,$=g((e,t)=>Ie(e,"name",{value:t,configurable:!0}),"o$3");const Re={error:"error",info:"info",information:"info",warning:"warning"},Tt={argsCheck:$((e,t)=>B(e,t,!1),"argsCheck"),argsFix:$((e,t)=>B(e,t,!0),"argsFix"),bin:$(()=>["pnpm","exec","biome"],"bin"),cacheKey:$((e,t)=>{const r=["biome",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:$((e,t)=>{const r=ne(t,L.biome.packageNames[0]),n=K(e,L.biome.configFiles);if(!(!r&&!n))return{adapter:"biome",configFile:n,declared:!!r,declaredVersion:r,root:e}},"detect"),extensions:["astro","cjs","css","cts","js","json","jsonc","jsx","mjs","mts","svelte","ts","tsx","vue"],id:"biome",kind:"both",parse:$((e,t)=>{if(!e.stdout.trim())return[];let r;try{r=JSON.parse(e.stdout)}catch{return[{adapter:"biome",file:t.root,fixable:!1,message:`biome output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of r.diagnostics??[]){const s=o.location?.start,i=o.location?.end,a=Me(t.root,o.location?.path),c=o.category??"",l=c==="format"||c.startsWith("format/");n.push({adapter:"biome",column:s?.column&&s.column>0?s.column:void 0,endColumn:i?.column&&i.column>0?i.column:void 0,endLine:i?.line&&i.line>0?i.line:void 0,file:a,fixable:!0,line:s?.line&&s.line>0?s.line:void 0,message:l?"Code style issues would be auto-fixed":o.message??"",ruleId:c||void 0,severity:Re[o.severity??""]??"warning"})}return n},"parse")},B=$((e,t,r)=>{const n=["check","--reporter=json"];return r&&n.push("--write"),typeof t.maxWarnings=="number"&&n.push(`--max-diagnostics=${String(t.maxWarnings)}`),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildArgs"),Me=$((e,t)=>{const r=typeof t=="string"?t:t?.file;return r?r.startsWith("/")||/^[a-z]:[\\/]/i.test(r)?r:y(e,r):e},"resolvePath");var Le=Object.defineProperty,h=g((e,t)=>Le(e,"name",{value:t,configurable:!0}),"s$4");const se=h(e=>t=>{const r=K(t,L.deno.configFiles);if(r)return{adapter:e,configFile:r,declared:!1,root:t}},"detectDeno"),oe=h(e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),"isAbsolutePath"),qt={argsCheck:h((e,t)=>J(e,t,!1),"argsCheck"),argsFix:h((e,t)=>J(e,t,!0),"argsFix"),bin:h(()=>["deno","lint"],"bin"),cacheKey:h((e,t)=>{const r=["deno-lint",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:se("deno-lint"),extensions:["js","jsx","mjs","mts","ts","tsx"],id:"deno-lint",kind:"lint",parse:h((e,t)=>{if(!e.stdout.trim())return[];let r;try{r=JSON.parse(e.stdout)}catch{return[{adapter:"deno-lint",file:t.root,fixable:!1,message:`deno lint output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of r.diagnostics??[]){const s=o.range?.start,i=o.range?.end;n.push({adapter:"deno-lint",column:s?.col===void 0?void 0:s.col+1,endColumn:i?.col===void 0?void 0:i.col+1,endLine:i?.line===void 0?void 0:i.line+1,file:Pe(o.filename??t.root,t.root),fixable:!1,line:s?.line===void 0?void 0:s.line+1,message:o.message??"",ruleId:o.code,severity:"warning"})}return n},"parse")},_t={argsCheck:h((e,t)=>V(e,t,!1),"argsCheck"),argsFix:h((e,t)=>V(e,t,!0),"argsFix"),bin:h(()=>["deno","fmt"],"bin"),cacheKey:h((e,t)=>{const r=["deno-fmt",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:se("deno-fmt"),extensions:["astro","cjs","css","cts","html","ipynb","js","json","jsonc","jsx","less","md","mjs","mts","sass","scss","sql","svelte","ts","tsx","vue","yaml","yml"],id:"deno-fmt",kind:"fmt",parse:h((e,t)=>{if(e.exitCode===0)return[];const r=[],n=new Set;for(const o of e.stdout.split(/\r?\n/)){const s=/^from (.+):$/.exec(o);if(!s)continue;const i=s[1];n.has(i)||(n.add(i),r.push({adapter:"deno-fmt",file:oe(i)?i:`${t.root}/${i}`,fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return r},"parse")},J=h((e,t,r)=>{const n=["--json"];return r&&n.push("--fix"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildLintArgs"),V=h((e,t,r)=>{const n=[];return r||n.push("--check"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildFmtArgs"),Pe=h((e,t)=>e.startsWith("file://")?he(e):oe(e)?e:`${t}/${e}`,"resolveFilename");var Te=Object.defineProperty,p=g((e,t)=>Te(e,"name",{value:t,configurable:!0}),"r$1");const ie="pyproject.toml",qe=/^\[tool\.ruff(?:\.[\w-]+)*\]\s*$/m,_e=/^Would reformat:?\s+(.+)$/,De=p(e=>{const t=y(e,ie);if(!W(t))return!1;try{const r=me(t);return qe.test(r)}catch{return!1}},"pyprojectMentionsRuff"),ae=p(e=>(t,r)=>{const n=L.ruff.packageNames.map(a=>ne(r,a)).find(a=>a!==void 0),o=K(t,L.ruff.configFiles),s=o?void 0:De(t)?y(t,ie):void 0,i=o??s;if(!(!n&&!i))return{adapter:e,configFile:i,declared:!!n,declaredVersion:n,root:t}},"detectRuff"),Ee=p(e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),"isAbsolutePath"),ce=p((e,t)=>e?Ee(e)?e:y(t,e):t,"resolveFilename"),We=p(e=>_e.exec(e)?.[1]?.trim(),"matchReformatLine"),Dt={argsCheck:p((e,t)=>z(e,t,!1),"argsCheck"),argsFix:p((e,t)=>z(e,t,!0),"argsFix"),bin:p(()=>["ruff","check"],"bin"),cacheKey:p((e,t)=>{const r=["ruff-check",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:ae("ruff-check"),extensions:["py","pyi"],id:"ruff-check",kind:"lint",parse:p((e,t)=>{if(!e.stdout.trim())return[];let r;try{r=JSON.parse(e.stdout)}catch{return[{adapter:"ruff-check",file:t.root,fixable:!1,message:`ruff check output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of r){const s=o.location,i=o.end_location;n.push({adapter:"ruff-check",column:s?.column,endColumn:i?.column,endLine:i?.row,file:ce(o.filename,t.root),fixable:!!o.fix,line:s?.row,message:o.message??"",ruleId:o.code,severity:"warning"})}return n},"parse")},Et={argsCheck:p((e,t)=>G(e,t,!1),"argsCheck"),argsFix:p((e,t)=>G(e,t,!0),"argsFix"),bin:p(()=>["ruff","format"],"bin"),cacheKey:p((e,t)=>{const r=["ruff-fmt",e.declaredVersion??"unknown",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return A("sha256").update(r.join("|")).digest("hex").slice(0,16)},"cacheKey"),detect:ae("ruff-fmt"),extensions:["py","pyi"],id:"ruff-fmt",kind:"fmt",parse:p((e,t)=>{if(e.exitCode===0)return[];const r=[],n=new Set;for(const o of e.stdout.split(/\r?\n/)){const s=We(o);!s||n.has(s)||(n.add(s),r.push({adapter:"ruff-fmt",file:ce(s,t.root),fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return r},"parse")},z=p((e,t,r)=>{const n=["--output-format=json"];return r&&n.push("--fix"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildCheckArgs"),G=p((e,t,r)=>{const n=[];return r||n.push("--check"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},"buildFmtArgs");var Ke=Object.defineProperty,_=g((e,t)=>Ke(e,"name",{value:t,configurable:!0}),"o$2");const Wt=_((e,t)=>{const r=R(e,["diff","--name-only","--diff-filter=ACMR","-z",`${t}...HEAD`]);if(r===void 0)return;const n=R(e,["diff","--name-only","--diff-filter=ACMR","-z"]),o=R(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]),s=R(e,["ls-files","--others","--exclude-standard","-z"]),i=new Set;for(const a of[r,n??"",o??"",s??""])for(const c of a.split("\0"))c.length!==0&&i.add(j(c)?c:y(e,c));return[...i].sort()},"changedFilesSince"),Kt=_(e=>{const t=R(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]);if(t===void 0)return;const r=new Set;for(const n of t.split("\0"))n.length!==0&&r.add(j(n)?n:y(e,n));return[...r].sort()},"stagedFiles"),R=_((e,t)=>{const r=te("git",[...t],{cwd:e,encoding:"utf8",timeout:1e4});if(r.status===0)return r.stdout},"runGit"),Nt=_((e,t)=>{const r=new Set(t.map(s=>s.toLowerCase())),n=[],o=new Set;for(const s of e){const i=s.lastIndexOf(".");if(i===-1||i===s.length-1)continue;const a=s.slice(i+1).toLowerCase();r.has(a)&&(o.has(s)||(o.add(s),n.push(s)))}return n},"filterByExtensions");var Ne=Object.defineProperty,x=g((e,t)=>Ne(e,"name",{value:t,configurable:!0}),"n");const le=new Set(["-","stdout"]),U=x(e=>({close:x(()=>{},"close"),write:x(t=>{e.write(t)},"write")}),"wrapStream"),Be=x(e=>{ee(Y(e));const t=we(e,"w");let r=[];return{close:x(()=>{r.length>0&&(be(t,r.join("")),r=[]),Ce(t)},"close"),write:x(n=>{r.push(n)},"write")}},"openFileSink"),Je=x(e=>{const{cwd:t,target:r}=e;if(r===void 0||le.has(r))return U(process.stdout);if(r==="stderr")return U(process.stderr);const n=j(r)?r:Z(t,r);return Be(n)},"resolveOutput");x(e=>{const{content:t,...r}=e;if(r.target!==void 0&&!le.has(r.target)&&r.target!=="stderr"){const o=j(r.target)?r.target:Z(r.cwd,r.target);ee(Y(o)),$e(o,t,{overwrite:!0});return}const n=Je(r);n.write(t),n.close()},"writeOutput");var Ve=Object.defineProperty,k=g((e,t)=>Ve(e,"name",{value:t,configurable:!0}),"s$3");const H=["oxlint","oxfmt","biome","eslint","dprint","prettier","stylelint","ruff-check","ruff-fmt","markdownlint","shellcheck","deno-lint","deno-fmt"],Bt=k((e,t)=>{const r=new Map(e.map(i=>[i.id,i])),n=[],o=new Set,s=t&&t.length>0?t:H;for(const i of s){const a=r.get(i);a&&!o.has(i)&&(n.push(a),o.add(i))}if(t&&t.length>0)for(const i of H){const a=r.get(i);a&&!o.has(i)&&(n.push(a),o.add(i))}for(const i of e)o.has(i.id)||(n.push(i),o.add(i.id));return n},"registerAdapters"),Jt=k((e,t,r)=>{const n=[];for(const o of t){const s=e.get(o.id);s&&ze(o.kind,r)&&n.push({adapter:o,presence:s})}return n},"adaptersByKind"),ze=k((e,t)=>e===t||e==="both","matchesKind"),Vt=k((e,t,r={})=>{const n=new Map;for(const o of e){const s=Ge(o),i=Ue(s,t,r);if(!i)continue;const a=n.get(i);a?a.push(o):n.set(i,[o])}return n},"routeFilesByExtension"),Ge=k(e=>{const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()},"extensionOf"),Ue=k((e,t,r)=>{const n=r[e];if(n&&t.some(o=>o.adapter.id===n))return n;for(const{adapter:o}of t)if(o.extensions.includes(e))return o.id},"resolveAdapterForExtension");var He=Object.defineProperty,S=g((e,t)=>He(e,"name",{value:t,configurable:!0}),"r");const Qe=S(e=>e==="error"?"error":e==="warning"?"warning":"notice","commandFor"),ue=S(e=>e.replaceAll("%","%25").replaceAll("\r","%0D").replaceAll(`
2
2
  `,"%0A"),"encodeMessage"),Q=S(e=>ue(e).replaceAll(",","%2C").replaceAll(":","%3A").replaceAll("=","%3D"),"encodeProperty"),Xe=S((e,t)=>t&&e.startsWith(`${t}/`)?e.slice(t.length+1):e,"relativeFile"),Ye=S((e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),"compareFindings"),Ze=S((e,t)=>{const r=Qe(e.severity),n=Xe(e.file,t),o=e.ruleId?`${e.adapter}(${e.ruleId})`:e.adapter,s=[`file=${Q(n)}`];return e.line!==void 0&&s.push(`line=${String(e.line)}`),e.endLine!==void 0&&s.push(`endLine=${String(e.endLine)}`),e.column!==void 0&&s.push(`col=${String(e.column)}`),e.endColumn!==void 0&&s.push(`endColumn=${String(e.endColumn)}`),s.push(`title=${Q(o)}`),`::${r} ${s.join(",")}::${ue(e.message)}
3
3
  `},"renderFinding"),zt=S(e=>e.runs.flatMap(t=>[...t.findings]).sort(Ye).map(t=>Ze(t,e.workspaceRoot)).join(""),"emitGitHub");var et=Object.defineProperty,w=g((e,t)=>et(e,"name",{value:t,configurable:!0}),"s$2");const F=w(e=>e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&apos;"),"escapeAttribute"),tt=w(e=>`<![CDATA[${e.replaceAll("]]>","]]]]><![CDATA[>")}]]>`,"cdata"),rt=w((e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),"compareFindings"),nt=w(e=>e==="error"?"error":e==="warning"?"warning":"info","failureTypeFor"),st=w((e,t)=>{let{file:r}=e;return t&&e.file.startsWith(`${t}/`)&&(r=e.file.slice(t.length+1)),e.line===void 0?r:e.column===void 0?`${r}:${String(e.line)}`:`${r}:${String(e.line)}:${String(e.column)}`},"locationFor"),ot=w((e,t,r)=>{const n=st(e,r),o=nt(e.severity),s=e.ruleId?`[${e.ruleId}] ${e.message}`:e.message;return[` <testcase classname="${F(t)}" name="${F(n)}">`,` <failure type="${F(o)}" message="${F(s)}">${tt(e.message)}</failure>`," </testcase>",""].join(`
4
4
  `)},"renderTestcase"),it=w((e,t,r)=>{const n=[...e.findings].sort(rt),o=n.filter(l=>l.severity==="error").length,s=n.filter(l=>l.severity==="warning").length,i=n.length,a=(e.durationMs/1e3).toFixed(3),c=n.map(l=>ot(l,e.adapter,r)).join("");return` <testsuite ${[`name="${F(e.adapter)}"`,`tests="${String(i)}"`,`failures="${String(o)}"`,'errors="0"',`skipped="${String(s)}"`,`time="${a}"`,`timestamp="${t}"`].join(" ")}>
@@ -7,5 +7,5 @@ ${c} </testsuite>
7
7
  <testsuites ${[`name="${F(r)}"`,`tests="${String(o)}"`,`failures="${String(s)}"`,'errors="0"',`skipped="${String(i)}"`,`time="${a}"`].join(" ")}>
8
8
  ${n}</testsuites>
9
9
  `},"emitJUnit");var at=Object.defineProperty,b=g((e,t)=>at(e,"name",{value:t,configurable:!0}),"i");const ct="2.1.0",lt="https://json.schemastore.org/sarif-2.1.0.json",ut=b(e=>e==="error"?"error":e==="warning"?"warning":"note","sarifLevelFor"),dt=b((e,t)=>t&&e.startsWith(`${t}/`)?{uri:e.slice(t.length+1),uriBaseId:"SRCROOT"}:{uri:e},"fileUri"),ft=b(e=>{const{href:t}=ye(e);return t.endsWith("/")?t:`${t}/`},"workspaceRootUri"),pt=b((e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),"compareFindings"),gt=b(e=>{const t=new Map;for(const r of e)r.ruleId&&(t.has(r.ruleId)||t.set(r.ruleId,{id:r.ruleId,name:r.ruleId}));return[...t.values()]},"collectRules"),mt=b((e,t)=>{const{uri:r,uriBaseId:n}=dt(e.file,t),o={artifactLocation:n?{uri:r,uriBaseId:n}:{uri:r}};if(e.line!==void 0){const i={startLine:e.line};e.column!==void 0&&(i.startColumn=e.column),e.endLine!==void 0&&(i.endLine=e.endLine),e.endColumn!==void 0&&(i.endColumn=e.endColumn),o.region=i}const s={level:ut(e.severity),locations:[{physicalLocation:o}],message:{text:e.message}};return e.ruleId&&(s.ruleId=e.ruleId),s},"buildResult"),ht=b((e,t)=>{const r=[...e.findings].sort(pt),n=gt(r),o={name:e.adapter,rules:n};e.presence?.declaredVersion&&(o.version=e.presence.declaredVersion);const s={results:r.map(i=>mt(i,t)),tool:{driver:o}};return t&&(s.originalUriBaseIds={SRCROOT:{uri:ft(t)}}),s},"buildRun"),Ut=b(e=>{const t={$schema:lt,runs:e.runs.map(r=>ht(r,e.workspaceRoot)),version:ct};return`${JSON.stringify(t,void 0,2)}
10
- `},"emitSarif");var yt=Object.defineProperty,D=g((e,t)=>yt(e,"name",{value:t,configurable:!0}),"o");const T={error:3,info:1,warning:2};D((e,t)=>T[e]-T[t],"compareSeverity");const Ht=D(e=>{const t=[],r=[];let n,o=!1;for(const s of e){r.push({adapter:s.adapter,durationMs:s.durationMs,exitCode:s.exitCode,findingCount:s.findings.length}),s.exitCode!==0&&s.exitCode!==null&&s.findings.length===0&&(o=!0);for(const i of s.findings)t.push(i),(!n||T[i.severity]>T[n])&&(n=i.severity)}return{findings:t,hadProcessFailure:o,maxSeverity:n,runs:r}},"aggregate"),Qt=D(e=>{const t=new Map;for(const r of e){const n=t.get(r.file);n?n.push(r):t.set(r.file,[r])}return t},"groupFindingsByFile"),Xt=D(e=>e.hadProcessFailure||e.maxSeverity==="error"?1:0,"exitCodeFor");var vt=Object.defineProperty,O=g((e,t)=>vt(e,"name",{value:t,configurable:!0}),"a");const $t=O((e,t)=>{if(t==="fix"||process.env.VIS_NO_CACHE==="1"||e.length===0)return!1;for(const r of e)if(r==="."||r==="./"||r==="..")return!1;return!0},"cacheable"),xt=O(e=>{try{const t=re(e);return A("sha256").update(t).digest("hex")}catch{return}},"hashFile"),wt=O((e,t,r,n,o)=>{const s=e.cacheKey(t,n),i=[];for(const c of[...r].sort()){const l=j(c)?c:y(t.root,c);try{Ae(l)}catch{return}const m=xt(l);if(!m)return;i.push({hash:m,path:l})}const a=A("sha256");a.update(e.id),a.update("\0"),a.update(s),a.update("\0"),a.update(o);for(const c of i)a.update("\0"),a.update(c.path),a.update("\0"),a.update(c.hash);return{fileHashes:i,key:a.digest("hex")}},"computeCacheKey"),de=O((e,t)=>y(e,"lint-fmt",t),"adapterDir"),bt=O((e,t,r)=>{const n=y(de(e,t.id),`${r}.json`);try{const o=re(n,"utf8"),s=JSON.parse(o);return s.schema!==1?void 0:s}catch{return}},"readCacheEntry"),Ct=O((e,t,r,n,o)=>{const s=de(e,t.id),i={fileHashes:o,result:n,savedAt:Date.now(),schema:1};try{Se(s,{recursive:!0}),Fe(y(s,`${r}.json`),JSON.stringify(i))}catch{}},"writeCacheEntry");var At=Object.defineProperty,M=g((e,t)=>At(e,"name",{value:t,configurable:!0}),"h");M((e,t,r,n,o)=>{const s=e.bin(t),i=[...s.slice(1),...o==="fix"?e.argsFix(r,n):e.argsCheck(r,n)],a=Date.now();let c;try{c=te(s[0],i,{cwd:t.root,encoding:"utf8",timeout:6e4})}catch(l){return{durationMs:Date.now()-a,exitCode:null,stderr:l instanceof Error?l.message:String(l),stdout:""}}return c.error?{durationMs:Date.now()-a,exitCode:null,stderr:c.error.message,stdout:c.stdout??""}:{durationMs:Date.now()-a,exitCode:c.status,stderr:c.stderr??"",stdout:c.stdout??""}},"runAdapter");const X=M(async(e,t,r,n,o)=>{const s=e.bin(t),i=[...s.slice(1),...o==="fix"?e.argsFix(r,n):e.argsCheck(r,n)];return new Promise(a=>{const c=Date.now(),l=xe(s[0],i,{cwd:t.root}),m=[],u=[];let v=!1;const f=setTimeout(()=>{v=!0,l.kill("SIGKILL")},6e4);l.stdout.on("data",d=>m.push(d)),l.stderr.on("data",d=>u.push(d)),l.on("error",d=>{clearTimeout(f),a({durationMs:Date.now()-c,exitCode:null,stderr:d.message,stdout:""})}),l.on("close",d=>{clearTimeout(f),a({durationMs:Date.now()-c,exitCode:v?null:d,stderr:Buffer.concat(u).toString("utf8"),stdout:Buffer.concat(m).toString("utf8")})})})},"runAdapterAsync"),Yt=M(async(e,t,r,n=N())=>{if(e.length===0)return[];const{cacheRoot:o,concurrency:s}=typeof n=="number"?{concurrency:n}:{cacheRoot:n.cacheRoot,concurrency:n.concurrency??N()},i=M(async u=>{const v=u.options??t;if(o&&$t(u.files,r)){const f=wt(u.adapter,u.presence,u.files,v,r);if(f){const d=bt(o,u.adapter,f.key);if(d)return d.result;const W=await X(u.adapter,u.presence,u.files,v,r);return W.exitCode!==null&&Ct(o,u.adapter,f.key,W,f.fileHashes),W}}return X(u.adapter,u.presence,u.files,v,r)},"runOne");if(process.env.VIS_LINT_FMT_SERIAL==="1"){const u=[];for(const v of e)u.push(await i(v));return u}const a=Math.max(1,Math.min(s,e.length)),c=Array.from({length:e.length});let l=0;const m=M(async()=>{for(;;){const u=l;if(l+=1,u>=e.length)return;c[u]=await i(e[u])}},"worker");return await Promise.all(Array.from({length:a},()=>m())),c},"runAdaptersParallel");var St=Object.defineProperty,C=g((e,t)=>St(e,"name",{value:t,configurable:!0}),"s");const Ft=C(e=>{const t=new Set;for(const r of e)t.add(r.toLowerCase());return t},"buildExtensionSet"),jt=C((e,t)=>{const r=e.lastIndexOf(".");return r===-1||r===e.length-1?!1:t.has(e.slice(r+1).toLowerCase())},"hasMatchingExtension"),Zt=C(async e=>{const{extensions:t,initialFiles:r,label:n,log:o,runCycle:s,workspaceRoot:i}=e,a=o??(f=>{process.stdout.write(`${f}
11
- `)}),c=Ft(t);await s(r),a(`▸ ${n}: watching workspace — press Ctrl-C to exit`);let l=new Set,m=!1;const u=C(async()=>{for(;l.size>0;){const f=[...l];l=new Set;try{await s(f)}catch(d){a(`✗ ${n}: watch cycle failed — ${d.message}`)}}},"consumePending"),v=je({debounceMs:200,filter:C(f=>jt(f,c),"filter"),onChange:C(async f=>{for(const d of f)l.add(j(d)?d:y(i,d));if(!m){m=!0;try{await u()}finally{m=!1}}},"onChange"),paths:[i]});await new Promise(f=>{const d=C(()=>{v.close(),process.off("SIGINT",d),process.off("SIGTERM",d),f()},"stop");process.once("SIGINT",d),process.once("SIGTERM",d)})},"runWatchLoop");export{Wt as a,Tt as b,_t as c,ne as d,Pt as e,K as f,Jt as g,Et as h,Vt as i,Yt as j,Ht as k,Je as l,Ut as m,Gt as n,zt as o,Xt as p,Zt as q,Bt as r,Kt as s,Qt as t,Dt as u,qt as v,Nt as w};
10
+ `},"emitSarif");var yt=Object.defineProperty,D=g((e,t)=>yt(e,"name",{value:t,configurable:!0}),"o");const T={error:3,info:1,warning:2};D((e,t)=>T[e]-T[t],"compareSeverity");const Ht=D(e=>{const t=[],r=[];let n,o=!1;for(const s of e){r.push({adapter:s.adapter,durationMs:s.durationMs,exitCode:s.exitCode,findingCount:s.findings.length}),s.exitCode!==0&&s.exitCode!==null&&s.findings.length===0&&(o=!0);for(const i of s.findings)t.push(i),(!n||T[i.severity]>T[n])&&(n=i.severity)}return{findings:t,hadProcessFailure:o,maxSeverity:n,runs:r}},"aggregate"),Qt=D(e=>{const t=new Map;for(const r of e){const n=t.get(r.file);n?n.push(r):t.set(r.file,[r])}return t},"groupFindingsByFile"),Xt=D(e=>e.hadProcessFailure||e.maxSeverity==="error"?1:0,"exitCodeFor");var vt=Object.defineProperty,O=g((e,t)=>vt(e,"name",{value:t,configurable:!0}),"a");const $t=O((e,t)=>{if(t==="fix"||process.env.VIS_NO_CACHE==="1"||e.length===0)return!1;for(const r of e)if(r==="."||r==="./"||r==="..")return!1;return!0},"cacheable"),xt=O(e=>{try{const t=re(e);return A("sha256").update(t).digest("hex")}catch{return}},"hashFile"),wt=O((e,t,r,n,o)=>{const s=e.cacheKey(t,n),i=[];for(const c of[...r].sort()){const l=j(c)?c:y(t.root,c);try{Ae(l)}catch{return}const m=xt(l);if(!m)return;i.push({hash:m,path:l})}const a=A("sha256");a.update(e.id),a.update("\0"),a.update(s),a.update("\0"),a.update(o);for(const c of i)a.update("\0"),a.update(c.path),a.update("\0"),a.update(c.hash);return{fileHashes:i,key:a.digest("hex")}},"computeCacheKey"),de=O((e,t)=>y(e,"lint-fmt",t),"adapterDir"),bt=O((e,t,r)=>{const n=y(de(e,t.id),`${r}.json`);try{const o=re(n,"utf8"),s=JSON.parse(o);return s.schema!==1?void 0:s}catch{return}},"readCacheEntry"),Ct=O((e,t,r,n,o)=>{const s=de(e,t.id),i={fileHashes:o,result:n,savedAt:Date.now(),schema:1};try{Se(s,{recursive:!0}),Fe(y(s,`${r}.json`),JSON.stringify(i))}catch{}},"writeCacheEntry");var At=Object.defineProperty,M=g((e,t)=>At(e,"name",{value:t,configurable:!0}),"h");M((e,t,r,n,o)=>{const s=e.bin(t),i=[...s.slice(1),...o==="fix"?e.argsFix(r,n):e.argsCheck(r,n)],a=Date.now();let c;try{c=te(s[0],i,{cwd:t.root,encoding:"utf8",timeout:6e4})}catch(l){return{durationMs:Date.now()-a,exitCode:null,stderr:l instanceof Error?l.message:String(l),stdout:""}}return c.error?{durationMs:Date.now()-a,exitCode:null,stderr:c.error.message,stdout:c.stdout??""}:{durationMs:Date.now()-a,exitCode:c.status,stderr:c.stderr??"",stdout:c.stdout??""}},"runAdapter");const X=M(async(e,t,r,n,o)=>{const s=e.bin(t),i=[...s.slice(1),...o==="fix"?e.argsFix(r,n):e.argsCheck(r,n)];return new Promise(a=>{const c=Date.now(),l=xe(s[0],i,{cwd:t.root}),m=[],u=[];let v=!1;const f=setTimeout(()=>{v=!0,l.kill("SIGKILL")},6e4);l.stdout.on("data",d=>m.push(d)),l.stderr.on("data",d=>u.push(d)),l.on("error",d=>{clearTimeout(f),a({durationMs:Date.now()-c,exitCode:null,stderr:d.message,stdout:""})}),l.on("close",d=>{clearTimeout(f),a({durationMs:Date.now()-c,exitCode:v?null:d,stderr:Buffer.concat(u).toString("utf8"),stdout:Buffer.concat(m).toString("utf8")})})})},"runAdapterAsync"),Yt=M(async(e,t,r,n=N())=>{if(e.length===0)return[];const{cacheRoot:o,concurrency:s}=typeof n=="number"?{concurrency:n}:{cacheRoot:n.cacheRoot,concurrency:n.concurrency??N()},i=M(async u=>{const v=u.options??t;if(o&&$t(u.files,r)){const f=wt(u.adapter,u.presence,u.files,v,r);if(f){const d=bt(o,u.adapter,f.key);if(d)return d.result;const E=await X(u.adapter,u.presence,u.files,v,r);return E.exitCode!==null&&Ct(o,u.adapter,f.key,E,f.fileHashes),E}}return X(u.adapter,u.presence,u.files,v,r)},"runOne");if(process.env.VIS_LINT_FMT_SERIAL==="1"){const u=[];for(const v of e)u.push(await i(v));return u}const a=Math.max(1,Math.min(s,e.length)),c=Array.from({length:e.length});let l=0;const m=M(async()=>{for(;;){const u=l;if(l+=1,u>=e.length)return;c[u]=await i(e[u])}},"worker");return await Promise.all(Array.from({length:a},()=>m())),c},"runAdaptersParallel");var St=Object.defineProperty,C=g((e,t)=>St(e,"name",{value:t,configurable:!0}),"s");const Ft=C(e=>{const t=new Set;for(const r of e)t.add(r.toLowerCase());return t},"buildExtensionSet"),jt=C((e,t)=>{const r=e.lastIndexOf(".");return r===-1||r===e.length-1?!1:t.has(e.slice(r+1).toLowerCase())},"hasMatchingExtension"),Zt=C(async e=>{const{extensions:t,initialFiles:r,label:n,log:o,runCycle:s,workspaceRoot:i}=e,a=o??(f=>{process.stdout.write(`${f}
11
+ `)}),c=Ft(t);await s(r),a(`▸ ${n}: watching workspace — press Ctrl-C to exit`);let l=new Set,m=!1;const u=C(async()=>{for(;l.size>0;){const f=[...l];l=new Set;try{await s(f)}catch(d){a(`✗ ${n}: watch cycle failed — ${d.message}`)}}},"consumePending"),v=je({debounceMs:200,filter:C(f=>jt(f,c),"filter"),onChange:C(async f=>{for(const d of f)l.add(j(d)?d:y(i,d));if(!m){m=!0;try{await u()}finally{m=!1}}},"onChange"),paths:[i]});await new Promise(f=>{const d=C(()=>{v.close(),process.off("SIGINT",d),process.off("SIGTERM",d),f()},"stop");process.once("SIGINT",d),process.once("SIGTERM",d)})},"runWatchLoop");export{Et as a,Tt as b,_t as c,ne as d,Pt as e,K as f,Jt as g,Wt as h,Vt as i,Yt as j,Ht as k,Je as l,Ut as m,Gt as n,zt as o,Xt as p,Zt as q,Bt as r,Kt as s,Qt as t,Dt as u,qt as v,Nt as w};