@visulima/vis 1.0.0-alpha.30 → 1.0.0-alpha.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/bin.js +1 -1
- package/dist/binx.js +1 -1
- package/dist/packem_chunks/bin.js +290 -290
- package/dist/packem_chunks/bloom-status.js +1 -1
- package/dist/packem_chunks/bloom-sync.js +1 -1
- package/dist/packem_chunks/config.js +15 -15
- package/dist/packem_chunks/doctor-probe.js +1 -1
- package/dist/packem_chunks/fix.js +1 -1
- package/dist/packem_chunks/handler14.js +1 -1
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler16.js +1 -1
- package/dist/packem_chunks/handler21.js +1 -1
- package/dist/packem_chunks/handler22.js +1 -1
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler25.js +1 -1
- package/dist/packem_chunks/handler27.js +1 -1
- package/dist/packem_chunks/handler29.js +1 -1
- package/dist/packem_chunks/handler32.js +1 -1
- package/dist/packem_chunks/handler35.js +1 -1
- package/dist/packem_chunks/handler36.js +1 -1
- package/dist/packem_chunks/handler37.js +1 -1
- package/dist/packem_chunks/handler38.js +1 -1
- package/dist/packem_chunks/handler39.js +1 -1
- package/dist/packem_chunks/handler4.js +1 -1
- package/dist/packem_chunks/handler42.js +1 -1
- package/dist/packem_chunks/handler43.js +1 -1
- package/dist/packem_chunks/handler44.js +1 -1
- package/dist/packem_chunks/handler45.js +1 -1
- package/dist/packem_chunks/handler46.js +1 -1
- package/dist/packem_chunks/handler47.js +1 -1
- package/dist/packem_chunks/handler48.js +1 -1
- package/dist/packem_chunks/handler49.js +1 -1
- package/dist/packem_chunks/handler50.js +1 -1
- package/dist/packem_chunks/handler51.js +37 -37
- package/dist/packem_chunks/handler52.js +1 -1
- package/dist/packem_chunks/heal.js +1 -1
- package/dist/packem_chunks/help-command.js +1 -1
- package/dist/packem_chunks/keys-refresh.js +1 -1
- package/dist/packem_chunks/prune.js +1 -1
- package/dist/packem_chunks/status.js +1 -1
- package/dist/packem_chunks/sync.js +1 -1
- package/dist/packem_chunks/verify-lockfile.js +1 -1
- package/dist/packem_shared/Table-3pFgIUZ2-DABgc6rj.js +12 -0
- package/dist/packem_shared/{advisories-BxXiKFbL.js → advisories-CGKZo9Rx.js} +1 -1
- package/dist/packem_shared/{cyclonedx-BpGVHqSW.js → cyclonedx-BilSFCNY.js} +1 -1
- package/dist/packem_shared/{docker-CTE3s4LW.js → docker-EJiTY0Sz.js} +1 -1
- package/dist/packem_shared/{index-D1xC1Y_R.js → index-BnANMQ7k.js} +1 -1
- package/dist/packem_shared/{index-hoWfZmNo.js → index-K8aQuMvx.js} +1 -1
- package/dist/packem_shared/{lifecycle-CXaqPGAQ.js → lifecycle-Buigdp7P.js} +2 -2
- package/dist/packem_shared/{osv-bloom-DSZcHLsM.js → osv-bloom-0Vu8YRhg.js} +1 -1
- package/dist/packem_shared/{provenance-DkCA8BrN.js → provenance-D8vU1u2L.js} +1 -1
- package/dist/packem_shared/{registry-keys-Mixm4eAY.js → registry-keys-E3cZn4FI.js} +1 -1
- package/dist/packem_shared/{resolve-explicit-D5E72FfN.js → resolve-explicit-cPzwdiEE.js} +1 -1
- package/dist/packem_shared/{s1ngularity-Qxc6tRRI.js → s1ngularity-DBcjspCC.js} +1 -1
- package/dist/packem_shared/{scan-progress-DVtCtI2z.js → scan-progress-CTVVf9WW.js} +1 -1
- package/dist/packem_shared/{signatures-byuFrtAH.js → signatures-ChTfrQvT.js} +1 -1
- package/dist/packem_shared/{typosquats-BiDxQj7R.js → typosquats-acxQ7blw.js} +1 -1
- package/dist/packem_shared/{watch-loop-C31Ar7BX.js → watch-loop-BpA_pxU9.js} +1 -1
- package/index.d.ts +201 -201
- package/index.js +52 -52
- package/package.json +10 -10
- package/dist/packem_shared/Table-DoSoazT6-DwnyTUsA.js +0 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var S=Object.defineProperty;var g=(e,a)=>S(e,"name",{value:a,configurable:!0});import{createRequire as C}from"node:module";import{s as _,i as P,p as y}from"../packem_chunks/bin.js";import{h as O,M as V,r as F,a as L,b as I,c as B,d as W,e as U,f as Y}from"./s1ngularity-
|
|
1
|
+
var S=Object.defineProperty;var g=(e,a)=>S(e,"name",{value:a,configurable:!0});import{createRequire as C}from"node:module";import{s as _,i as P,p as y}from"../packem_chunks/bin.js";import{h as O,M as V,r as F,a as L,b as I,c as B,d as W,e as U,f as Y}from"./s1ngularity-DBcjspCC.js";import{m as f,D as v,g as k,r as q}from"./provenance-D8vU1u2L.js";import{r as H}from"./signatures-ChTfrQvT.js";import{s as z}from"./pm-runner-DmKT2FqF.js";import{d as G}from"./utils-DrNg0XTR.js";const E=C(import.meta.url),w=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,j=g(e=>{if(typeof w<"u"&&w.versions&&w.versions.node){const[a,s]=w.versions.node.split(".").map(Number);if(a>22||a===22&&s>=3||a===20&&s>=16)return w.getBuiltinModule(e)}return E(e)},"__cjs_getBuiltinModule"),{createInterface:x}=j("node:readline");var J=Object.defineProperty,m=g((e,a)=>J(e,"name",{value:a,configurable:!0}),"s");const K=15,Q=m(e=>{if(e===void 0)return!1;const a=e.trim().toLowerCase();return a!==""&&a!=="0"&&a!=="false"&&a!=="no"},"isTruthyEnv"),X=m(e=>{const a=(e.TERM??"").toLowerCase();return a!=="dumb"&&a!=="unknown"&&a!==""},"shouldAnimateCountdown"),Z=m(async e=>{const a=x({input:process.stdin,output:process.stdout});try{return await new Promise(s=>{a.question(e,r=>{s(r.trim().toLowerCase())})})}finally{a.close()}},"defaultReadline"),N=m(async(e,a)=>{const s=await a(e);return s==="y"||s==="yes"},"promptYesNo"),ee=m(async(e,a,s,r)=>new Promise(c=>{if(r?.aborted){c(!1);return}const o=X(s)&&a.isTTY!==!1;let n=e;const i=m(()=>{o?a.write(`\rContinuing in ${String(n)}s... press Ctrl-C to abort. `):n===e&&a.write(`Warnings present; proceeding in ${String(e)}s.
|
|
2
2
|
`)},"render");i();const d=setInterval(()=>{if(n-=1,n<=0){clearInterval(d),r?.removeEventListener("abort",l),o&&a.write(`\rContinuing now.
|
|
3
3
|
`),c(!0);return}i()},1e3),l=m(()=>{clearInterval(d),o&&a.write(`\rAborted.
|
|
4
4
|
`),c(!1)},"onAbort");r?.addEventListener("abort",l,{once:!0})}),"runCountdown"),ae=m(async(e,a={})=>{if(e.length===0)return{proceed:!0};const s=a.env??process.env,r=a.isTty??!!process.stdin.isTTY,c=a.isCi??_,o=a.strict??!1,n=a.readline??Z,i=a.output??{isTTY:!!process.stdout.isTTY,write:m(u=>process.stdout.write(u),"write")},d=Q(s.VIS_DISABLE_AUTO_CONTINUE),l=Number.parseInt(s.VIS_AUTO_CONTINUE_SECONDS??"",10),t=a.countdownSeconds??(Number.isFinite(l)&&l>0?l:K);return e.some(u=>u.severity==="error")?o?{proceed:!1,reason:"errors-present"}:c?{proceed:!1,reason:"errors-present"}:r?await N("Proceed despite errors? [y/N] ",n)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!1,reason:"non-tty"}:o?{proceed:!1,reason:"ci-strict"}:r?d?await N("Proceed despite warnings? [y/N] ",n)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:await ee(t,i,s,a.signal)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!0}},"presentMarshallDecision"),Oe=m(async(e,a={})=>{if(e.isEmpty())return!0;const s=e.all(),r=a.output??{isTTY:!!process.stdout.isTTY,write:m(c=>process.stdout.write(c),"write")};for(const c of O(s))r.write(`${c}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var ie=Object.defineProperty;var p=(r,e)=>ie(r,"name",{value:e,configurable:!0});import{createRequire as oe}from"node:module";import{T as Q,e as j}from"./Table-DoSoazT6-DwnyTUsA.js";import{s as V,d as W}from"../packem_chunks/config.js";import{M as k,l as N}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{m as B,i as b}from"../packem_chunks/bin.js";import{m as D,D as M,g as S}from"./provenance-DkCA8BrN.js";import{s as g}from"./pm-runner-DmKT2FqF.js";const ae=oe(import.meta.url),E=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,F=p(r=>{if(typeof E<"u"&&E.versions&&E.versions.node){const[e,t]=E.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return E.getBuiltinModule(r)}return ae(r)},"__cjs_getBuiltinModule"),{rmSync:y,writeFileSync:L,readdirSync:U}=F("node:fs"),{createHash:ce}=F("node:crypto"),{Resolver:de}=F("node:dns/promises");var le=Object.defineProperty,I=p((r,e)=>le(r,"name",{value:e,configurable:!0}),"t$2");class mr{static{p(this,"MarshallFindings")}static{I(this,"MarshallFindings")}entries=[];add(e){this.entries.push(e)}addMany(e){for(const t of e)this.entries.push(t)}all(){return this.entries}errors(){return this.entries.filter(e=>e.severity==="error")}warnings(){return this.entries.filter(e=>e.severity==="warning")}hasErrors(){return this.entries.some(e=>e.severity==="error")}hasWarnings(){return this.entries.some(e=>e.severity==="warning")}isEmpty(){return this.entries.length===0}size(){return this.entries.length}}const pr=I(r=>{if(r.length===0)return[];const e=[],t=r.filter(s=>s.severity==="error"),n=r.filter(s=>s.severity==="warning");if(t.length>0){e.push(Q(`${String(t.length)} error${t.length===1?"":"s"}:`));for(const s of t)e.push(` ${Q("✗")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${j("→")} ${s.suggestedAction}`)}if(n.length>0){t.length>0&&e.push(""),e.push(j(`${String(n.length)} warning${n.length===1?"":"s"}:`));for(const s of n)e.push(` ${j("⚠")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${j("→")} ${s.suggestedAction}`)}return e},"formatMarshallFindingsAsTable"),gr=I(r=>({errors:r.filter(e=>e.severity==="error"),findings:[...r],summary:{errorCount:r.filter(e=>e.severity==="error").length,warningCount:r.filter(e=>e.severity==="warning").length},warnings:r.filter(e=>e.severity==="warning")}),"formatMarshallFindingsAsJson");var ue=Object.defineProperty,w=p((r,e)=>ue(r,"name",{value:e,configurable:!0}),"o$1");const he=1440*60*1e3,fe=15e3,ve="https://api.github.com/repos",H=w(()=>k(B(),"archived-repo"),"getArchivedRepoCacheDir"),te=w((r,e)=>k(H(),`${encodeURIComponent(r)}__${encodeURIComponent(e)}.json`),"cacheFilePath"),me=w((r,e)=>{const t=te(r,e);if(N(t))try{const n=V(t);if(Date.now()-n.createdAt>n.ttlMs){y(t,{force:!0});return}return n}catch{y(t,{force:!0});return}},"readCachedRepo"),Z=w((r,e,t,n)=>{W(H());const s={createdAt:Date.now(),ttlMs:n,...t};L(te(r,e),JSON.stringify(s),"utf8")},"writeCachedRepo"),pe=w(r=>{if(typeof r!="string"||r.trim()==="")return;const e=r.trim().replace(/^git\+/,""),t=/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(t)return{owner:t[1],repo:t[2]};const n=/^ssh:\/\/git@github\.com\/([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(n)return{owner:n[1],repo:n[2]};const s=/^https?:\/\/(?:www\.)?github\.com\/([^/]+)\/([^/?#]+?)(?:\.git)?\/?$/i.exec(e);if(s)return{owner:s[1],repo:s[2]}},"parseGitHubUrl"),ge=w(async(r,e,t,n)=>{const s=`${ve}/${encodeURIComponent(r)}/${encodeURIComponent(e)}`,c=new AbortController,o=setTimeout(()=>{c.abort()},fe),i=w(()=>{c.abort()},"abortListener");n?.addEventListener("abort",i,{once:!0});const a={Accept:"application/vnd.github+json","User-Agent":"visulima-vis-marshall"};t!==void 0&&t!==""&&(a.Authorization=`Bearer ${t}`);try{const d=await fetch(s,{headers:a,signal:c.signal});if(d.status===404)return{kind:"missing"};if(!d.ok)return{kind:"transient-error"};const l=await d.json(),u=l.archived===!0,h=typeof l.archived_at=="string"?l.archived_at:void 0;return{archived:u,archivedAt:h,kind:"ok"}}catch{return{kind:"transient-error"}}finally{clearTimeout(o),n?.removeEventListener("abort",i)}},"fetchGitHubRepo"),we=w((r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),"resolveLatestVersion"),wr=w(async(r,e={})=>{if(b("archivedRepo"))return[];const t=new Set(e.allowlist),n=e.cacheTtlMs??he,s=e.githubToken??process.env.GITHUB_TOKEN,c=e.concurrency??M,o=new Map,i=w(async(a,d)=>{const l=`${a}/${d}`;let u=o.get(l);return u===void 0&&(u=(async()=>{const h=me(a,d);if(h!==void 0)return h.missing===!0?{archived:!1,kind:"missing"}:{archived:h.archived,archivedAt:h.archivedAt,kind:"ok"};const f=await ge(a,d,s,e.signal);return f.kind==="missing"?Z(a,d,{archived:!1,missing:!0},n):f.kind==="ok"&&Z(a,d,{archived:f.archived===!0,archivedAt:f.archivedAt},n),f})(),o.set(l,u)),u},"fetchRepoOnce");return(await D(r,c,async({name:a,version:d})=>{if(t.has(a))return;const l=await S(a,{workspaceRoot:e.workspaceRoot});if(l===void 0)return;const u=l.versions[d]??l.versions[we(Object.keys(l.versions),l["dist-tags"]?.latest)??""];if(u===void 0)return;const h=pe(u.repository?.url);if(h===void 0)return;const f=await i(h.owner,h.repo);if(f.kind!=="transient-error"){if(f.kind==="missing")return{kind:"missing-repo",owner:h.owner,packageName:a,repo:h.repo};if(f.archived===!0)return{...f.archivedAt===void 0?{}:{archivedAt:f.archivedAt},kind:"archived",owner:h.owner,packageName:a,repo:h.repo}}})).filter(a=>a!==void 0)},"runArchivedRepoMarshall");w(()=>{const r=H();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearArchivedRepoCache");var ye=Object.defineProperty,O=p((r,e)=>ye(r,"name",{value:e,configurable:!0}),"h$1");const ke={dormantErrorDays:274,dormantWarnDays:183,newPublisherWindowDays:21,recentVersionErrorDays:7,recentVersionWarnDays:30},$e=1440*60*1e3,J=O((r,e)=>(r-e)/$e,"daysBetween"),C=O(r=>{if(r!==void 0)return r.email??r.name},"userIdentity"),be=O((r,e,t,n,s)=>{const c=r.time?.[t];if(c===void 0)return;const o=new Date(c).getTime();if(!Number.isFinite(o))return;const i=J(n,o);if(i<s.recentVersionErrorDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (error threshold: ${String(s.recentVersionErrorDays)})`,packageName:e,severity:"error",version:t};if(i<s.recentVersionWarnDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (warn threshold: ${String(s.recentVersionWarnDays)})`,packageName:e,severity:"warning",version:t}},"checkRecentVersion"),De=O((r,e,t,n,s)=>{const c=r.versions[t],o=C(c?._npmUser);if(o===void 0)return;const i=Object.keys(r.versions).filter(u=>g.valid(u)!==null).filter(u=>g.lt(u,t));if(i.length===0||i.some(u=>C(r.versions[u]?._npmUser)===o))return;const a=r.time?.[i[0]??""];if(a===void 0)return;const d=new Date(a).getTime();if(!Number.isFinite(d))return;const l=J(n,d);if(!(l<=s.newPublisherWindowDays))return{kind:"new-publisher",message:`first publish by ${o} on a ${l.toFixed(0)}-day-old package`,packageName:e,severity:"error",version:t}},"checkNewPublisher"),Me=O((r,e,t,n,s)=>{const c=r.versions[t],o=C(c?._npmUser);if(o===void 0)return;const i=[];for(const[l,u]of Object.entries(r.versions)){if(l===t||C(u._npmUser)!==o)continue;const h=r.time?.[l];if(h===void 0)continue;const f=new Date(h).getTime();Number.isFinite(f)&&i.push(f)}if(i.length===0)return;const a=Math.max(...i),d=J(n,a);if(d>=s.dormantErrorDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (error threshold: ${String(s.dormantErrorDays)})`,packageName:e,severity:"error",version:t};if(d>=s.dormantWarnDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (warn threshold: ${String(s.dormantWarnDays)})`,packageName:e,severity:"warning",version:t}},"checkDormantMaintainer"),yr=O(async(r,e={})=>{if(b("author"))return[];const t=new Set(e.allowlist),n={...ke,...e.thresholds},s=e.now??(()=>Date.now()),c=e.concurrency??M;return(await D(r,c,async({name:o,version:i})=>{if(t.has(o))return[];const a=await S(o,{cacheTtlMs:e.cacheTtlMs,signal:e.signal,workspaceRoot:e.workspaceRoot});if(a===void 0)return[];const d=s(),l=[],u=be(a,o,i,d,n);u!==void 0&&l.push(u);const h=De(a,o,i,d,n);h!==void 0&&l.push(h);const f=Me(a,o,i,d,n);return f!==void 0&&l.push(f),l})).flat()},"runAuthorMarshall");var Re=Object.defineProperty,$=p((r,e)=>Re(r,"name",{value:e,configurable:!0}),"t$1");const Ae=1440*60*1e3,Ne=15e3,Se=20,Oe=1e4,Ee="https://api.npmjs.org/downloads/point/last-month",z=$(()=>k(B(),"downloads"),"getDownloadsCacheDir"),ne=$(r=>k(z(),`${encodeURIComponent(r)}.json`),"cacheFilePath"),Te=$(r=>{const e=ne(r);if(N(e))try{const t=V(e);if(Date.now()-t.createdAt>t.ttlMs){y(e,{force:!0});return}return t.downloads}catch{y(e,{force:!0});return}},"readCachedDownloads"),je=$((r,e,t)=>{W(z());const n={createdAt:Date.now(),downloads:e,observedAt:new Date().toISOString(),ttlMs:t};L(ne(r),JSON.stringify(n),"utf8")},"writeCachedDownloads"),Ce=$(async(r,e)=>{const t=`${Ee}/${encodeURIComponent(r)}`,n=new AbortController,s=setTimeout(()=>{n.abort()},Ne),c=$(()=>{n.abort()},"abortListener");e?.addEventListener("abort",c,{once:!0});try{const o=await fetch(t,{signal:n.signal});if(o.status===404)return{kind:"no-data"};if(!o.ok)return{kind:"error"};const i=await o.json();return typeof i.downloads=="number"?{downloads:i.downloads,kind:"ok"}:{kind:"no-data"}}catch{return{kind:"error"}}finally{clearTimeout(s),e?.removeEventListener("abort",c)}},"fetchDownloads"),kr=$(async(r,e={})=>{if(b("downloads"))return[];const t=new Set(e.allowlist),n=e.errorThreshold??Se,s=e.warnThreshold??Oe,c=e.cacheTtlMs??Ae,o=e.concurrency??M;return(await D(r,o,async i=>{if(t.has(i))return;let a=Te(i);if(a===void 0){const d=await Ce(i,e.signal);if(d.kind==="no-data"||d.kind==="error")return{downloadsLastMonth:void 0,kind:"no-data",packageName:i,severity:"warning"};a=d.downloads??0,je(i,a,c)}if(a<n)return{downloadsLastMonth:a,kind:"below-error",packageName:i,severity:"error"};if(a<s)return{downloadsLastMonth:a,kind:"below-warning",packageName:i,severity:"warning"}})).filter(i=>i!==void 0)},"runDownloadsMarshall");$(()=>{const r=z();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearDownloadsCache");var xe=Object.defineProperty,m=p((r,e)=>xe(r,"name",{value:e,configurable:!0}),"t");const Pe=1440*60*1e3,_e=4e3,Fe=["1.1.1.1","8.8.8.8"],q=m(()=>k(B(),"expired-domains"),"getExpiredDomainsCacheDir"),se=m(r=>{const e=ce("sha256").update(r).digest("hex").slice(0,12);return k(q(),`${e}.json`)},"cacheFilePath"),Le=m(r=>{const e=se(r);if(N(e))try{const t=V(e);if(Date.now()-t.createdAt>t.ttlMs){y(e,{force:!0});return}return t}catch{y(e,{force:!0});return}},"readCachedDomain"),Ue=m((r,e,t)=>{W(q());const n={createdAt:Date.now(),outcome:e,ttlMs:t};L(se(r),JSON.stringify(n),"utf8")},"writeCachedDomain"),Ve=m(r=>{if(typeof r!="string")return;const e=r.lastIndexOf("@");if(e===-1||e===r.length-1)return;const t=r.slice(e+1).trim().toLowerCase();return t===""?void 0:t},"extractDomain"),We=m((r,e)=>{const t=[];e!==void 0&&t.push(e);for(const n of r??[])t.push(n);return t},"collectMaintainers"),Be=m(async(r,e)=>{let t;try{return await Promise.race([r,new Promise((n,s)=>{t=setTimeout(()=>{s(new Error("ETIMEDOUT"))},e)})])}finally{t!==void 0&&clearTimeout(t)}},"withTimeout"),Ie=m(r=>{if(r===null||typeof r!="object")return!1;const{code:e}=r;return e==="ENOTFOUND"||e==="ENODATA"||e==="NXDOMAIN"},"isExpiredError"),He=m(async(r,e,t)=>{try{const n=await Be(r.resolveNs(e),t);return Array.isArray(n)&&n.length>0?{kind:"ok"}:{kind:"expired"}}catch(n){return Ie(n)?{kind:"expired"}:{kind:"transient-error"}}},"resolveDomain"),Je=m((r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),"resolveLatestVersion"),$r=m(async(r,e={})=>{if(b("expiredDomains"))return[];const t=new Set(e.allowlist),n=new Set((e.allowDomains??[]).map(u=>u.toLowerCase())),s=e.cacheTtlMs??Pe,c=e.perDomainTimeoutMs??_e,o=e.dnsServers??Fe,i=e.concurrency??M,a=e.createResolver===void 0?new de:e.createResolver();typeof a.setServers=="function"&&a.setServers(o);const d=new Map,l=m(async u=>{let h=d.get(u);return h===void 0&&(h=(async()=>{const f=Le(u);if(f!==void 0)return{kind:f.outcome==="ok"?"ok":"expired"};const v=await He(a,u,c);return v.kind!=="transient-error"&&Ue(u,v.kind,s),v})(),d.set(u,h)),h},"resolveDomainOnce");return(await D(r,i,async({name:u,version:h})=>{if(t.has(u))return[];const f=await S(u,{workspaceRoot:e.workspaceRoot});if(f===void 0)return[];const v=f.versions[h]??f.versions[Je(Object.keys(f.versions),f["dist-tags"]?.latest)??""];if(v===void 0)return[];const P=We(v.maintainers,v._npmUser),K=new Set,_=[];for(const T of P){const A=Ve(T.email);if(A===void 0||n.has(A))continue;const X=`${A}:${T.email??""}`;if(K.has(X))continue;K.add(X);const Y=await l(A);Y.kind==="expired"?_.push({domain:A,kind:"expired",maintainer:T.email??"",packageName:u,severity:"error"}):Y.kind==="transient-error"&&_.push({domain:A,kind:"unresolved",maintainer:T.email??"",packageName:u,severity:"warning"})}return _})).flat()},"runExpiredDomainsMarshall");m(()=>{const r=q();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearExpiredDomainsCache");var ze=Object.defineProperty,R=p((r,e)=>ze(r,"name",{value:e,configurable:!0}),"s");const qe=["readme","license","repo"],Ge=["ERROR: No README data found!","# Security holding package"],Ke=R(r=>{const e=r.trim();return e===""?!0:Ge.some(t=>e.startsWith(t))},"isPlaceholderReadme"),Xe=R((r,e)=>{if(typeof e.readme=="string")return e.readme;if(typeof r.readme=="string")return r.readme},"getReadme"),Ye=R((r,e)=>{const t=Xe(r,e);if(t===void 0)return"missing-readme";if(Ke(t))return"placeholder-readme"},"checkReadme"),Qe=R(r=>{const{license:e}=r;return e===void 0?"missing-license":typeof e=="string"?e.trim()===""?"missing-license":void 0:typeof e.type=="string"&&e.type.trim()!==""?void 0:"missing-license"},"checkLicense"),Ze=R(r=>{const{repository:e}=r;if(e===void 0)return"missing-repo";const t=typeof e.url=="string"?e.url.trim():"";if(t==="")return"missing-repo";let n=t.replace(/^git\+/,"");const s=/^git@([^:]+):(.+?)(?:\.git)?$/.exec(n);return s&&(n=`https://${s[1]}/${s[2]}`),URL.canParse(n)?void 0:"invalid-repo-url"},"checkRepository"),er=R(r=>{const e=r["dist-tags"]?.latest;return e!==void 0&&Object.hasOwn(r.versions,e)?e:Object.keys(r.versions).at(-1)},"resolveLatestVersion"),br=R(async(r,e={})=>{if(b("metadata"))return[];const t=new Set(e.allowlist),n=new Set(e.checks??qe),s=e.concurrency??M;return(await D(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await S(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o]??i.versions[er(i)??""];if(a===void 0||a.private===!0)return;const d=[];if(n.has("readme")){const l=Ye(i,a);l!==void 0&&d.push(l)}if(n.has("license")){const l=Qe(a);l!==void 0&&d.push(l)}if(n.has("repo")){const l=Ze(a);l!==void 0&&d.push(l)}if(d.length!==0)return{issues:d,packageName:c,version:o}})).filter(c=>c!==void 0)},"runMetadataMarshall");var rr=Object.defineProperty,G=p((r,e)=>rr(r,"name",{value:e,configurable:!0}),"o");const ee=G((r,e)=>r===void 0?{}:typeof r=="string"?{[e.startsWith("@")?e.split("/").at(1)??e:e]:r}:{...r},"normalizeBin"),tr=G((r,e)=>g.valid(e)?Object.keys(r.versions).filter(t=>g.valid(t)!==null&&g.lt(t,e)).sort((t,n)=>g.lt(t,n)?1:-1)[0]:void 0,"findImmediatelyPriorVersion"),Dr=G(async(r,e={})=>{if(b("newBin"))return[];const t=new Set(e.allowlist),n=new Set(e.allowBins),s=e.concurrency??M;return(await D(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await S(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o];if(a===void 0)return;const d=tr(i,o);if(d===void 0)return;const l=i.versions[d];if(l===void 0)return;const u=ee(a.bin,c),h=ee(l.bin,c),f=Object.entries(u).filter(([v])=>!(v in h)).filter(([v])=>!n.has(v)).map(([v,P])=>({command:P,name:v}));if(f.length!==0)return{fromVersion:d,newBins:f,packageName:c,toVersion:o}})).filter(c=>c!==void 0)},"runNewBinMarshall");var nr=Object.defineProperty,x=p((r,e)=>nr(r,"name",{value:e,configurable:!0}),"a");const sr=["preinstall","install","postinstall"],re=x((r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,"hasProvenance"),ir=x((r,e)=>{if(g.valid(e)!==null)return Object.keys(r.versions).filter(t=>g.valid(t)!==null&&g.prerelease(t)===null&&g.lt(t,e)).sort((t,n)=>g.lt(t,n)?1:-1)[0]},"findNewestPriorStable"),or=x((r,e)=>{const t=r??{},n=e??{},s=[];for(const c of sr){const o=t[c];if(o===void 0||o==="")continue;const i=n[c];i===void 0||i===""?s.push({command:o,hook:c,kind:"introduced"}):i!==o&&s.push({command:o,hook:c,kind:"changed"})}return s},"installHookChanges"),Mr=x(async(r,e={})=>{if(b("s1ngularity"))return[];const t=new Set(e.allowlist),n=e.concurrency??M;return(await D(r,n,async({name:s,version:c})=>{if(t.has(s))return;const o=await S(s,{workspaceRoot:e.workspaceRoot});if(o?.versions[c]===void 0)return;const i=ir(o,c);if(i===void 0||!re(o,i)||re(o,c))return;const a=or(o.versions[c]?.scripts,o.versions[i]?.scripts);if(a.length!==0)return{hookChanges:a,packageName:s,priorVersion:i,trustSignal:"provenance-dropped",version:c}})).filter(s=>s!==void 0)},"runS1ngularityMarshall");export{mr as M,Mr as a,Dr as b,br as c,kr as d,$r as e,wr as f,gr as g,pr as h,yr as r};
|
|
1
|
+
var ie=Object.defineProperty;var p=(r,e)=>ie(r,"name",{value:e,configurable:!0});import{createRequire as oe}from"node:module";import{T as Q,e as j}from"./Table-3pFgIUZ2-DABgc6rj.js";import{s as V,b as W}from"../packem_chunks/config.js";import{M as k,l as N}from"./readFileSync-DseCu8sg-DEq4Fn3a.js";import{m as B,i as b}from"../packem_chunks/bin.js";import{m as D,D as M,g as S}from"./provenance-D8vU1u2L.js";import{s as g}from"./pm-runner-DmKT2FqF.js";const ae=oe(import.meta.url),E=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,F=p(r=>{if(typeof E<"u"&&E.versions&&E.versions.node){const[e,t]=E.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return E.getBuiltinModule(r)}return ae(r)},"__cjs_getBuiltinModule"),{rmSync:y,writeFileSync:L,readdirSync:U}=F("node:fs"),{createHash:ce}=F("node:crypto"),{Resolver:de}=F("node:dns/promises");var le=Object.defineProperty,I=p((r,e)=>le(r,"name",{value:e,configurable:!0}),"t$2");class mr{static{p(this,"MarshallFindings")}static{I(this,"MarshallFindings")}entries=[];add(e){this.entries.push(e)}addMany(e){for(const t of e)this.entries.push(t)}all(){return this.entries}errors(){return this.entries.filter(e=>e.severity==="error")}warnings(){return this.entries.filter(e=>e.severity==="warning")}hasErrors(){return this.entries.some(e=>e.severity==="error")}hasWarnings(){return this.entries.some(e=>e.severity==="warning")}isEmpty(){return this.entries.length===0}size(){return this.entries.length}}const pr=I(r=>{if(r.length===0)return[];const e=[],t=r.filter(s=>s.severity==="error"),n=r.filter(s=>s.severity==="warning");if(t.length>0){e.push(Q(`${String(t.length)} error${t.length===1?"":"s"}:`));for(const s of t)e.push(` ${Q("✗")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${j("→")} ${s.suggestedAction}`)}if(n.length>0){t.length>0&&e.push(""),e.push(j(`${String(n.length)} warning${n.length===1?"":"s"}:`));for(const s of n)e.push(` ${j("⚠")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${j("→")} ${s.suggestedAction}`)}return e},"formatMarshallFindingsAsTable"),gr=I(r=>({errors:r.filter(e=>e.severity==="error"),findings:[...r],summary:{errorCount:r.filter(e=>e.severity==="error").length,warningCount:r.filter(e=>e.severity==="warning").length},warnings:r.filter(e=>e.severity==="warning")}),"formatMarshallFindingsAsJson");var ue=Object.defineProperty,w=p((r,e)=>ue(r,"name",{value:e,configurable:!0}),"o$1");const he=1440*60*1e3,fe=15e3,ve="https://api.github.com/repos",H=w(()=>k(B(),"archived-repo"),"getArchivedRepoCacheDir"),te=w((r,e)=>k(H(),`${encodeURIComponent(r)}__${encodeURIComponent(e)}.json`),"cacheFilePath"),me=w((r,e)=>{const t=te(r,e);if(N(t))try{const n=V(t);if(Date.now()-n.createdAt>n.ttlMs){y(t,{force:!0});return}return n}catch{y(t,{force:!0});return}},"readCachedRepo"),Z=w((r,e,t,n)=>{W(H());const s={createdAt:Date.now(),ttlMs:n,...t};L(te(r,e),JSON.stringify(s),"utf8")},"writeCachedRepo"),pe=w(r=>{if(typeof r!="string"||r.trim()==="")return;const e=r.trim().replace(/^git\+/,""),t=/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(t)return{owner:t[1],repo:t[2]};const n=/^ssh:\/\/git@github\.com\/([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(n)return{owner:n[1],repo:n[2]};const s=/^https?:\/\/(?:www\.)?github\.com\/([^/]+)\/([^/?#]+?)(?:\.git)?\/?$/i.exec(e);if(s)return{owner:s[1],repo:s[2]}},"parseGitHubUrl"),ge=w(async(r,e,t,n)=>{const s=`${ve}/${encodeURIComponent(r)}/${encodeURIComponent(e)}`,c=new AbortController,o=setTimeout(()=>{c.abort()},fe),i=w(()=>{c.abort()},"abortListener");n?.addEventListener("abort",i,{once:!0});const a={Accept:"application/vnd.github+json","User-Agent":"visulima-vis-marshall"};t!==void 0&&t!==""&&(a.Authorization=`Bearer ${t}`);try{const d=await fetch(s,{headers:a,signal:c.signal});if(d.status===404)return{kind:"missing"};if(!d.ok)return{kind:"transient-error"};const l=await d.json(),u=l.archived===!0,h=typeof l.archived_at=="string"?l.archived_at:void 0;return{archived:u,archivedAt:h,kind:"ok"}}catch{return{kind:"transient-error"}}finally{clearTimeout(o),n?.removeEventListener("abort",i)}},"fetchGitHubRepo"),we=w((r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),"resolveLatestVersion"),wr=w(async(r,e={})=>{if(b("archivedRepo"))return[];const t=new Set(e.allowlist),n=e.cacheTtlMs??he,s=e.githubToken??process.env.GITHUB_TOKEN,c=e.concurrency??M,o=new Map,i=w(async(a,d)=>{const l=`${a}/${d}`;let u=o.get(l);return u===void 0&&(u=(async()=>{const h=me(a,d);if(h!==void 0)return h.missing===!0?{archived:!1,kind:"missing"}:{archived:h.archived,archivedAt:h.archivedAt,kind:"ok"};const f=await ge(a,d,s,e.signal);return f.kind==="missing"?Z(a,d,{archived:!1,missing:!0},n):f.kind==="ok"&&Z(a,d,{archived:f.archived===!0,archivedAt:f.archivedAt},n),f})(),o.set(l,u)),u},"fetchRepoOnce");return(await D(r,c,async({name:a,version:d})=>{if(t.has(a))return;const l=await S(a,{workspaceRoot:e.workspaceRoot});if(l===void 0)return;const u=l.versions[d]??l.versions[we(Object.keys(l.versions),l["dist-tags"]?.latest)??""];if(u===void 0)return;const h=pe(u.repository?.url);if(h===void 0)return;const f=await i(h.owner,h.repo);if(f.kind!=="transient-error"){if(f.kind==="missing")return{kind:"missing-repo",owner:h.owner,packageName:a,repo:h.repo};if(f.archived===!0)return{...f.archivedAt===void 0?{}:{archivedAt:f.archivedAt},kind:"archived",owner:h.owner,packageName:a,repo:h.repo}}})).filter(a=>a!==void 0)},"runArchivedRepoMarshall");w(()=>{const r=H();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearArchivedRepoCache");var ye=Object.defineProperty,O=p((r,e)=>ye(r,"name",{value:e,configurable:!0}),"h$1");const ke={dormantErrorDays:274,dormantWarnDays:183,newPublisherWindowDays:21,recentVersionErrorDays:7,recentVersionWarnDays:30},$e=1440*60*1e3,J=O((r,e)=>(r-e)/$e,"daysBetween"),C=O(r=>{if(r!==void 0)return r.email??r.name},"userIdentity"),be=O((r,e,t,n,s)=>{const c=r.time?.[t];if(c===void 0)return;const o=new Date(c).getTime();if(!Number.isFinite(o))return;const i=J(n,o);if(i<s.recentVersionErrorDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (error threshold: ${String(s.recentVersionErrorDays)})`,packageName:e,severity:"error",version:t};if(i<s.recentVersionWarnDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (warn threshold: ${String(s.recentVersionWarnDays)})`,packageName:e,severity:"warning",version:t}},"checkRecentVersion"),De=O((r,e,t,n,s)=>{const c=r.versions[t],o=C(c?._npmUser);if(o===void 0)return;const i=Object.keys(r.versions).filter(u=>g.valid(u)!==null).filter(u=>g.lt(u,t));if(i.length===0||i.some(u=>C(r.versions[u]?._npmUser)===o))return;const a=r.time?.[i[0]??""];if(a===void 0)return;const d=new Date(a).getTime();if(!Number.isFinite(d))return;const l=J(n,d);if(!(l<=s.newPublisherWindowDays))return{kind:"new-publisher",message:`first publish by ${o} on a ${l.toFixed(0)}-day-old package`,packageName:e,severity:"error",version:t}},"checkNewPublisher"),Me=O((r,e,t,n,s)=>{const c=r.versions[t],o=C(c?._npmUser);if(o===void 0)return;const i=[];for(const[l,u]of Object.entries(r.versions)){if(l===t||C(u._npmUser)!==o)continue;const h=r.time?.[l];if(h===void 0)continue;const f=new Date(h).getTime();Number.isFinite(f)&&i.push(f)}if(i.length===0)return;const a=Math.max(...i),d=J(n,a);if(d>=s.dormantErrorDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (error threshold: ${String(s.dormantErrorDays)})`,packageName:e,severity:"error",version:t};if(d>=s.dormantWarnDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (warn threshold: ${String(s.dormantWarnDays)})`,packageName:e,severity:"warning",version:t}},"checkDormantMaintainer"),yr=O(async(r,e={})=>{if(b("author"))return[];const t=new Set(e.allowlist),n={...ke,...e.thresholds},s=e.now??(()=>Date.now()),c=e.concurrency??M;return(await D(r,c,async({name:o,version:i})=>{if(t.has(o))return[];const a=await S(o,{cacheTtlMs:e.cacheTtlMs,signal:e.signal,workspaceRoot:e.workspaceRoot});if(a===void 0)return[];const d=s(),l=[],u=be(a,o,i,d,n);u!==void 0&&l.push(u);const h=De(a,o,i,d,n);h!==void 0&&l.push(h);const f=Me(a,o,i,d,n);return f!==void 0&&l.push(f),l})).flat()},"runAuthorMarshall");var Re=Object.defineProperty,$=p((r,e)=>Re(r,"name",{value:e,configurable:!0}),"t$1");const Ae=1440*60*1e3,Ne=15e3,Se=20,Oe=1e4,Ee="https://api.npmjs.org/downloads/point/last-month",z=$(()=>k(B(),"downloads"),"getDownloadsCacheDir"),ne=$(r=>k(z(),`${encodeURIComponent(r)}.json`),"cacheFilePath"),Te=$(r=>{const e=ne(r);if(N(e))try{const t=V(e);if(Date.now()-t.createdAt>t.ttlMs){y(e,{force:!0});return}return t.downloads}catch{y(e,{force:!0});return}},"readCachedDownloads"),je=$((r,e,t)=>{W(z());const n={createdAt:Date.now(),downloads:e,observedAt:new Date().toISOString(),ttlMs:t};L(ne(r),JSON.stringify(n),"utf8")},"writeCachedDownloads"),Ce=$(async(r,e)=>{const t=`${Ee}/${encodeURIComponent(r)}`,n=new AbortController,s=setTimeout(()=>{n.abort()},Ne),c=$(()=>{n.abort()},"abortListener");e?.addEventListener("abort",c,{once:!0});try{const o=await fetch(t,{signal:n.signal});if(o.status===404)return{kind:"no-data"};if(!o.ok)return{kind:"error"};const i=await o.json();return typeof i.downloads=="number"?{downloads:i.downloads,kind:"ok"}:{kind:"no-data"}}catch{return{kind:"error"}}finally{clearTimeout(s),e?.removeEventListener("abort",c)}},"fetchDownloads"),kr=$(async(r,e={})=>{if(b("downloads"))return[];const t=new Set(e.allowlist),n=e.errorThreshold??Se,s=e.warnThreshold??Oe,c=e.cacheTtlMs??Ae,o=e.concurrency??M;return(await D(r,o,async i=>{if(t.has(i))return;let a=Te(i);if(a===void 0){const d=await Ce(i,e.signal);if(d.kind==="no-data"||d.kind==="error")return{downloadsLastMonth:void 0,kind:"no-data",packageName:i,severity:"warning"};a=d.downloads??0,je(i,a,c)}if(a<n)return{downloadsLastMonth:a,kind:"below-error",packageName:i,severity:"error"};if(a<s)return{downloadsLastMonth:a,kind:"below-warning",packageName:i,severity:"warning"}})).filter(i=>i!==void 0)},"runDownloadsMarshall");$(()=>{const r=z();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearDownloadsCache");var xe=Object.defineProperty,m=p((r,e)=>xe(r,"name",{value:e,configurable:!0}),"t");const Pe=1440*60*1e3,_e=4e3,Fe=["1.1.1.1","8.8.8.8"],q=m(()=>k(B(),"expired-domains"),"getExpiredDomainsCacheDir"),se=m(r=>{const e=ce("sha256").update(r).digest("hex").slice(0,12);return k(q(),`${e}.json`)},"cacheFilePath"),Le=m(r=>{const e=se(r);if(N(e))try{const t=V(e);if(Date.now()-t.createdAt>t.ttlMs){y(e,{force:!0});return}return t}catch{y(e,{force:!0});return}},"readCachedDomain"),Ue=m((r,e,t)=>{W(q());const n={createdAt:Date.now(),outcome:e,ttlMs:t};L(se(r),JSON.stringify(n),"utf8")},"writeCachedDomain"),Ve=m(r=>{if(typeof r!="string")return;const e=r.lastIndexOf("@");if(e===-1||e===r.length-1)return;const t=r.slice(e+1).trim().toLowerCase();return t===""?void 0:t},"extractDomain"),We=m((r,e)=>{const t=[];e!==void 0&&t.push(e);for(const n of r??[])t.push(n);return t},"collectMaintainers"),Be=m(async(r,e)=>{let t;try{return await Promise.race([r,new Promise((n,s)=>{t=setTimeout(()=>{s(new Error("ETIMEDOUT"))},e)})])}finally{t!==void 0&&clearTimeout(t)}},"withTimeout"),Ie=m(r=>{if(r===null||typeof r!="object")return!1;const{code:e}=r;return e==="ENOTFOUND"||e==="ENODATA"||e==="NXDOMAIN"},"isExpiredError"),He=m(async(r,e,t)=>{try{const n=await Be(r.resolveNs(e),t);return Array.isArray(n)&&n.length>0?{kind:"ok"}:{kind:"expired"}}catch(n){return Ie(n)?{kind:"expired"}:{kind:"transient-error"}}},"resolveDomain"),Je=m((r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),"resolveLatestVersion"),$r=m(async(r,e={})=>{if(b("expiredDomains"))return[];const t=new Set(e.allowlist),n=new Set((e.allowDomains??[]).map(u=>u.toLowerCase())),s=e.cacheTtlMs??Pe,c=e.perDomainTimeoutMs??_e,o=e.dnsServers??Fe,i=e.concurrency??M,a=e.createResolver===void 0?new de:e.createResolver();typeof a.setServers=="function"&&a.setServers(o);const d=new Map,l=m(async u=>{let h=d.get(u);return h===void 0&&(h=(async()=>{const f=Le(u);if(f!==void 0)return{kind:f.outcome==="ok"?"ok":"expired"};const v=await He(a,u,c);return v.kind!=="transient-error"&&Ue(u,v.kind,s),v})(),d.set(u,h)),h},"resolveDomainOnce");return(await D(r,i,async({name:u,version:h})=>{if(t.has(u))return[];const f=await S(u,{workspaceRoot:e.workspaceRoot});if(f===void 0)return[];const v=f.versions[h]??f.versions[Je(Object.keys(f.versions),f["dist-tags"]?.latest)??""];if(v===void 0)return[];const P=We(v.maintainers,v._npmUser),K=new Set,_=[];for(const T of P){const A=Ve(T.email);if(A===void 0||n.has(A))continue;const X=`${A}:${T.email??""}`;if(K.has(X))continue;K.add(X);const Y=await l(A);Y.kind==="expired"?_.push({domain:A,kind:"expired",maintainer:T.email??"",packageName:u,severity:"error"}):Y.kind==="transient-error"&&_.push({domain:A,kind:"unresolved",maintainer:T.email??"",packageName:u,severity:"warning"})}return _})).flat()},"runExpiredDomainsMarshall");m(()=>{const r=q();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearExpiredDomainsCache");var ze=Object.defineProperty,R=p((r,e)=>ze(r,"name",{value:e,configurable:!0}),"s");const qe=["readme","license","repo"],Ge=["ERROR: No README data found!","# Security holding package"],Ke=R(r=>{const e=r.trim();return e===""?!0:Ge.some(t=>e.startsWith(t))},"isPlaceholderReadme"),Xe=R((r,e)=>{if(typeof e.readme=="string")return e.readme;if(typeof r.readme=="string")return r.readme},"getReadme"),Ye=R((r,e)=>{const t=Xe(r,e);if(t===void 0)return"missing-readme";if(Ke(t))return"placeholder-readme"},"checkReadme"),Qe=R(r=>{const{license:e}=r;return e===void 0?"missing-license":typeof e=="string"?e.trim()===""?"missing-license":void 0:typeof e.type=="string"&&e.type.trim()!==""?void 0:"missing-license"},"checkLicense"),Ze=R(r=>{const{repository:e}=r;if(e===void 0)return"missing-repo";const t=typeof e.url=="string"?e.url.trim():"";if(t==="")return"missing-repo";let n=t.replace(/^git\+/,"");const s=/^git@([^:]+):(.+?)(?:\.git)?$/.exec(n);return s&&(n=`https://${s[1]}/${s[2]}`),URL.canParse(n)?void 0:"invalid-repo-url"},"checkRepository"),er=R(r=>{const e=r["dist-tags"]?.latest;return e!==void 0&&Object.hasOwn(r.versions,e)?e:Object.keys(r.versions).at(-1)},"resolveLatestVersion"),br=R(async(r,e={})=>{if(b("metadata"))return[];const t=new Set(e.allowlist),n=new Set(e.checks??qe),s=e.concurrency??M;return(await D(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await S(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o]??i.versions[er(i)??""];if(a===void 0||a.private===!0)return;const d=[];if(n.has("readme")){const l=Ye(i,a);l!==void 0&&d.push(l)}if(n.has("license")){const l=Qe(a);l!==void 0&&d.push(l)}if(n.has("repo")){const l=Ze(a);l!==void 0&&d.push(l)}if(d.length!==0)return{issues:d,packageName:c,version:o}})).filter(c=>c!==void 0)},"runMetadataMarshall");var rr=Object.defineProperty,G=p((r,e)=>rr(r,"name",{value:e,configurable:!0}),"o");const ee=G((r,e)=>r===void 0?{}:typeof r=="string"?{[e.startsWith("@")?e.split("/").at(1)??e:e]:r}:{...r},"normalizeBin"),tr=G((r,e)=>g.valid(e)?Object.keys(r.versions).filter(t=>g.valid(t)!==null&&g.lt(t,e)).sort((t,n)=>g.lt(t,n)?1:-1)[0]:void 0,"findImmediatelyPriorVersion"),Dr=G(async(r,e={})=>{if(b("newBin"))return[];const t=new Set(e.allowlist),n=new Set(e.allowBins),s=e.concurrency??M;return(await D(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await S(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o];if(a===void 0)return;const d=tr(i,o);if(d===void 0)return;const l=i.versions[d];if(l===void 0)return;const u=ee(a.bin,c),h=ee(l.bin,c),f=Object.entries(u).filter(([v])=>!(v in h)).filter(([v])=>!n.has(v)).map(([v,P])=>({command:P,name:v}));if(f.length!==0)return{fromVersion:d,newBins:f,packageName:c,toVersion:o}})).filter(c=>c!==void 0)},"runNewBinMarshall");var nr=Object.defineProperty,x=p((r,e)=>nr(r,"name",{value:e,configurable:!0}),"a");const sr=["preinstall","install","postinstall"],re=x((r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,"hasProvenance"),ir=x((r,e)=>{if(g.valid(e)!==null)return Object.keys(r.versions).filter(t=>g.valid(t)!==null&&g.prerelease(t)===null&&g.lt(t,e)).sort((t,n)=>g.lt(t,n)?1:-1)[0]},"findNewestPriorStable"),or=x((r,e)=>{const t=r??{},n=e??{},s=[];for(const c of sr){const o=t[c];if(o===void 0||o==="")continue;const i=n[c];i===void 0||i===""?s.push({command:o,hook:c,kind:"introduced"}):i!==o&&s.push({command:o,hook:c,kind:"changed"})}return s},"installHookChanges"),Mr=x(async(r,e={})=>{if(b("s1ngularity"))return[];const t=new Set(e.allowlist),n=e.concurrency??M;return(await D(r,n,async({name:s,version:c})=>{if(t.has(s))return;const o=await S(s,{workspaceRoot:e.workspaceRoot});if(o?.versions[c]===void 0)return;const i=ir(o,c);if(i===void 0||!re(o,i)||re(o,c))return;const a=or(o.versions[c]?.scripts,o.versions[i]?.scripts);if(a.length!==0)return{hookChanges:a,packageName:s,priorVersion:i,trustSignal:"provenance-dropped",version:c}})).filter(s=>s!==void 0)},"runS1ngularityMarshall");export{mr as M,Mr as a,Dr as b,br as c,kr as d,$r as e,wr as f,gr as g,pr as h,yr as r};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var S=Object.defineProperty;var g=(s,r)=>S(s,"name",{value:r,configurable:!0});import{e as k,E as x,I as T,T as $}from"./Table-
|
|
1
|
+
var S=Object.defineProperty;var g=(s,r)=>S(s,"name",{value:r,configurable:!0});import{e as k,E as x,I as T,T as $}from"./Table-3pFgIUZ2-DABgc6rj.js";import{a5 as a,a6 as u,n as l,a7 as d,k as C,R as j,s as E}from"../packem_chunks/bin.js";import{n as R}from"./spinner-C8xs6QZv.js";import{D as w,W as P,T as O,C as A}from"./symbols-CQmER5MT.js";var D=Object.defineProperty,I=g((s,r)=>D(s,"name",{value:r,configurable:!0}),"l");const v=I(({rows:s})=>a.jsx(u,{flexDirection:"column",children:s.map(r=>{let t;switch(r.status){case"error":{t=a.jsx(l,{color:"red",children:A});break}case"ok":{t=a.jsx(l,{color:"green",children:O});break}case"running":{t=a.jsx(l,{color:"white",children:a.jsx(R,{type:"dots"})});break}case"warn":{t=a.jsx(l,{color:"yellow",children:P});break}default:{t=a.jsx(l,{dimColor:!0,children:w});break}}return a.jsxs(u,{children:[a.jsx(u,{width:3,children:t}),a.jsx(u,{flexGrow:1,children:a.jsx(l,{children:r.label})}),r.summary?a.jsx(u,{children:a.jsxs(l,{dimColor:!0,children:[w," ",r.summary]})}):null]},r.id)})}),"ScanProgressApp");var Y=Object.defineProperty,i=g((s,r)=>Y(s,"name",{value:r,configurable:!0}),"e");const G={error:$(d.failure),ok:T(d.success),pending:x(d.dash),skip:x(d.dash),warn:k(d.warning)},M=i((s,r,t)=>{const h=t?`${s} ${x(`— ${t}`)}`:s;return` ${G[r]} ${h}
|
|
2
2
|
`},"formatStaticRow"),L=i((s,r={})=>{const t=r.stream??process.stderr,h=typeof t.isTTY=="boolean"&&t.isTTY&&!E,y=r.live??h,n=new Map;for(const e of s)n.set(e.id,{id:e.id,label:e.label,status:"pending"});if(!y||s.length===0)return{finish:i((e,o,f)=>{const c=n.get(e);c&&(n.set(e,{...c,status:o,summary:f}),t.write(M(c.label,o,f)))},"finish"),start:i(e=>{const o=n.get(e);o&&n.set(e,{...o,status:"running"})},"start"),stop:i(()=>{},"stop")};const b=i(()=>s.map(e=>n.get(e.id)),"buildRows");let m=C(j.createElement(v,{rows:b()}),{interactive:!0,patchConsole:!1});const p=i(()=>{m?.rerender(j.createElement(v,{rows:b()}))},"rerender");return{finish:i((e,o,f)=>{const c=n.get(e);c&&(n.set(e,{...c,status:o,summary:f}),p())},"finish"),start:i(e=>{const o=n.get(e);o&&(n.set(e,{...o,status:"running"}),p())},"start"),stop:i(()=>{m&&(p(),m.unmount(),m=void 0)},"stop")}},"startScanProgress");export{L as s};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var b=Object.defineProperty;var y=(s,e)=>b(s,"name",{value:e,configurable:!0});import{createRequire as N}from"node:module";import{m as x,D as B,g as E}from"./provenance-
|
|
1
|
+
var b=Object.defineProperty;var y=(s,e)=>b(s,"name",{value:e,configurable:!0});import{createRequire as N}from"node:module";import{m as x,D as B,g as E}from"./provenance-D8vU1u2L.js";import{i as M}from"../packem_chunks/bin.js";import{f as j}from"./registry-keys-E3cZn4FI.js";const P=N(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=y(s=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[e,i]=g.versions.node.split(".").map(Number);if(e>22||e===22&&i>=3||e===20&&i>=16)return g.getBuiltinModule(s)}return P(s)},"__cjs_getBuiltinModule"),{createPublicKey:S,createVerify:R}=_("node:crypto");var A=Object.defineProperty,h=y((s,e)=>A(s,"name",{value:e,configurable:!0}),"n");const C=h(s=>{const e=["-----BEGIN PUBLIC KEY-----"],i=s.replaceAll(/\s+/g,"");for(let t=0;t<i.length;t+=64)e.push(i.slice(t,t+64));return e.push("-----END PUBLIC KEY-----"),e.join(`
|
|
2
2
|
`)},"wrapSpkiPem"),D=h(({keyBase64:s,message:e,signatureBase64:i})=>{try{const t=S({format:"pem",key:C(s)}),o=R("SHA256");return o.update(e),o.end(),o.verify(t,Buffer.from(i,"base64"))}catch{return!1}},"verifyEcdsaSignature");var L=Object.defineProperty,f=y((s,e)=>L(s,"name",{value:e,configurable:!0}),"g");const U=f((s,e)=>{if(s.expires===void 0||s.expires==="")return!1;const i=Date.parse(s.expires);return Number.isNaN(i)?!1:i<=e},"isKeyExpired"),K=f((s,e,i)=>`${s}@${e}:${i}`,"buildSignedMessage"),T=f((s,e)=>e!==void 0&&s.includes(e)?e:s.at(-1),"resolveLatestVersion"),V=f(async(s,e={})=>{if(M("signatures"))return[];const i=new Set(e.allowlist),t=e.treatExpiredAs??"warning",o=e.concurrency??B,k=await j({keysUrl:e.keysUrl,signal:e.signal,ttlMs:e.keysTtlMs});if(k===void 0)return s.filter(({name:r})=>!i.has(r)).map(({name:r,version:a})=>({code:"fetch-failed",message:"Could not fetch registry signing keys.",packageName:r,severity:"warning",version:a}));const v=new Map;for(const r of k.keys)v.set(r.keyid,r);const w=Date.now();return(await x(s,o,async({name:r,version:a})=>{if(i.has(r))return[];const c=await E(r,{workspaceRoot:e.workspaceRoot});if(c===void 0)return[];const l=c.versions[a]??c.versions[T(Object.keys(c.versions),c["dist-tags"]?.latest)??""];if(l===void 0)return[];const p=l.dist?.signatures,m=l.dist?.integrity;if(p===void 0||p.length===0)return[{code:"missing-signature",message:`Package ${r}@${a} has no dist.signatures from the registry.`,packageName:r,severity:"warning",version:a}];if(typeof m!="string"||m==="")return[{code:"missing-signature",message:`Package ${r}@${a} has signatures but no dist.integrity to verify against.`,packageName:r,severity:"warning",version:a}];const $=K(r,a,m),u=[];for(const n of p){const d=v.get(n.keyid);if(d===void 0){u.push({code:"unknown-keyid",keyid:n.keyid,message:`Package ${r}@${a} was signed with an unrecognized keyid (${n.keyid}).`,packageName:r,severity:"error",version:a});continue}if(U(d,w)){u.push({code:"expired-key",keyid:n.keyid,message:`Package ${r}@${a} was signed with an expired key (${n.keyid}, expired ${d.expires??"unknown"}).`,packageName:r,severity:t,version:a});continue}D({keyBase64:d.key,message:$,signatureBase64:n.sig})||u.push({code:"invalid-signature",keyid:n.keyid,message:`Package ${r}@${a} signature did not verify against ${n.keyid}.`,packageName:r,severity:"error",version:a})}return u})).flat()},"runSignatureMarshall");export{V as r};
|
|
@@ -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-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
|
+
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,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,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,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(`
|
|
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,b 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("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'"),"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(" ")}>
|