@visulima/vis 4.3.1 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +598 -0
  2. package/LICENSE.md +151 -88
  3. package/README.md +2 -2
  4. package/dist/bin.js +1 -1
  5. package/dist/binx.js +1 -1
  6. package/dist/config/index.d.ts +42 -19
  7. package/dist/packem_chunks/CONFIG_FILES.js +4 -4
  8. package/dist/packem_chunks/bloom-status.js +1 -1
  9. package/dist/packem_chunks/bloom-sync.js +1 -1
  10. package/dist/packem_chunks/catalog.js +61 -51
  11. package/dist/packem_chunks/cli-exec.js +1 -1
  12. package/dist/packem_chunks/cli-main.js +202 -176
  13. package/dist/packem_chunks/dart-plan.js +1 -1
  14. package/dist/packem_chunks/dart-projects.js +1 -1
  15. package/dist/packem_chunks/dispatch.js +1 -1
  16. package/dist/packem_chunks/doctor-probe.js +1 -1
  17. package/dist/packem_chunks/fix.js +1 -1
  18. package/dist/packem_chunks/handler.js +1 -1
  19. package/dist/packem_chunks/handler10.js +4 -4
  20. package/dist/packem_chunks/handler11.js +1 -1
  21. package/dist/packem_chunks/handler12.js +1 -1
  22. package/dist/packem_chunks/handler13.js +1 -1
  23. package/dist/packem_chunks/handler14.js +1 -1
  24. package/dist/packem_chunks/handler15.js +1 -1
  25. package/dist/packem_chunks/handler16.js +1 -1
  26. package/dist/packem_chunks/handler17.js +1 -1
  27. package/dist/packem_chunks/handler18.js +1 -1
  28. package/dist/packem_chunks/handler19.js +1 -1
  29. package/dist/packem_chunks/handler2.js +1 -1
  30. package/dist/packem_chunks/handler20.js +2 -2
  31. package/dist/packem_chunks/handler21.js +1 -1
  32. package/dist/packem_chunks/handler22.js +2 -2
  33. package/dist/packem_chunks/handler23.js +1 -1
  34. package/dist/packem_chunks/handler24.js +1 -1
  35. package/dist/packem_chunks/handler26.js +5 -5
  36. package/dist/packem_chunks/handler27.js +1 -1
  37. package/dist/packem_chunks/handler28.js +1 -1
  38. package/dist/packem_chunks/handler29.js +1 -1
  39. package/dist/packem_chunks/handler3.js +1 -1
  40. package/dist/packem_chunks/handler30.js +1 -1
  41. package/dist/packem_chunks/handler39.js +6 -6
  42. package/dist/packem_chunks/handler5.js +1 -1
  43. package/dist/packem_chunks/handler50.js +2 -2
  44. package/dist/packem_chunks/handler51.js +1 -1
  45. package/dist/packem_chunks/handler53.js +1 -1
  46. package/dist/packem_chunks/handler54.js +1 -1
  47. package/dist/packem_chunks/handler55.js +1 -1
  48. package/dist/packem_chunks/handler58.js +1 -1
  49. package/dist/packem_chunks/handler59.js +1 -1
  50. package/dist/packem_chunks/handler6.js +1 -1
  51. package/dist/packem_chunks/handler60.js +7 -7
  52. package/dist/packem_chunks/handler61.js +2 -2
  53. package/dist/packem_chunks/handler62.js +10 -10
  54. package/dist/packem_chunks/handler63.js +1 -1
  55. package/dist/packem_chunks/handler64.js +6 -3
  56. package/dist/packem_chunks/handler65.js +8 -6
  57. package/dist/packem_chunks/handler66.js +2 -2
  58. package/dist/packem_chunks/handler67.js +31 -20
  59. package/dist/packem_chunks/handler68.js +1 -1
  60. package/dist/packem_chunks/handler69.js +22 -153
  61. package/dist/packem_chunks/handler7.js +1 -1
  62. package/dist/packem_chunks/handler70.js +9 -9
  63. package/dist/packem_chunks/handler71.js +153 -22
  64. package/dist/packem_chunks/handler72.js +1 -1
  65. package/dist/packem_chunks/handler73.js +1 -1
  66. package/dist/packem_chunks/handler74.js +1 -1
  67. package/dist/packem_chunks/handler75.js +35 -35
  68. package/dist/packem_chunks/handler76.js +1 -1
  69. package/dist/packem_chunks/handler77.js +3 -3
  70. package/dist/packem_chunks/handler78.js +69 -67
  71. package/dist/packem_chunks/handler8.js +1 -1
  72. package/dist/packem_chunks/handler9.js +1 -1
  73. package/dist/packem_chunks/heal-accept.js +1 -1
  74. package/dist/packem_chunks/heal.js +1 -1
  75. package/dist/packem_chunks/help-command.js +40 -7
  76. package/dist/packem_chunks/index2.js +32 -32
  77. package/dist/packem_chunks/index6.js +1 -1
  78. package/dist/packem_chunks/keys-refresh.js +1 -1
  79. package/dist/packem_chunks/lean.js +3 -4
  80. package/dist/packem_chunks/list.js +1 -1
  81. package/dist/packem_chunks/loader.js +1 -1
  82. package/dist/packem_chunks/orchestrator.js +1 -1
  83. package/dist/packem_chunks/prompts.js +1 -1
  84. package/dist/packem_chunks/status.js +1 -1
  85. package/dist/packem_chunks/sync.js +1 -1
  86. package/dist/packem_chunks/sync2.js +1 -1
  87. package/dist/packem_chunks/tar.js +1 -1
  88. package/dist/packem_chunks/tripwire.js +1 -1
  89. package/dist/packem_chunks/ts-loader.js +5 -5
  90. package/dist/packem_chunks/verify-lockfile.js +1 -1
  91. package/dist/packem_shared/{affected-selection-D4giBK2X.js → affected-selection-DDxwjwM4.js} +1 -1
  92. package/dist/packem_shared/affected-shas-BuaWvmsG.js +1 -0
  93. package/dist/packem_shared/{ai-fix-BC6aIRJT.js → ai-fix-C2BhFFhi.js} +5 -5
  94. package/dist/packem_shared/{augment-B9kSZuvW.js → augment-CxUPE8KX.js} +1 -1
  95. package/dist/packem_shared/{bin-C1XKj-O-.js → bin-Be7_QhQK.js} +1 -1
  96. package/dist/packem_shared/{build-scripts-CEDx_nJp.js → build-scripts-DxyVSkgM.js} +1 -1
  97. package/dist/packem_shared/command-runtime-BXvH5EC0.js +1 -0
  98. package/dist/packem_shared/{dart-pubspec-BK_cK2EP.js → dart-pubspec-DvmyleIr.js} +2 -2
  99. package/dist/packem_shared/{dependency-scan-B8jroa1D.js → dependency-scan-DKK3ZEZI.js} +1 -1
  100. package/dist/packem_shared/{docker-DXqV-07f.js → docker-BTuwdXaC.js} +1 -1
  101. package/dist/packem_shared/{ecosystem-gate-ddru_hOg.js → ecosystem-gate-BpQNUJzN.js} +1 -1
  102. package/dist/packem_shared/env-consistency-CUBJHENL.js +1 -0
  103. package/dist/packem_shared/{failure-log-D2x5BT8S.js → failure-log-kp0n2rbD.js} +1 -1
  104. package/dist/packem_shared/{formatBytes-BHAzNIrn-CrusHOew.js → formatBytes-BHAzNIrn-DRcKvqnb.js} +1 -1
  105. package/dist/packem_shared/git-source-DExWbfN0.js +2 -0
  106. package/dist/packem_shared/{index-BzhrR_iC.js → index-BdMIfGVZ.js} +15 -15
  107. package/dist/packem_shared/index-C9ENZqH9.js +39 -0
  108. package/dist/packem_shared/{index-Chje3u9v.js → index-DQfNpt2u.js} +1 -1
  109. package/dist/packem_shared/{index-DQ2GJzmy.js → index-DsSWb5XH.js} +1 -1
  110. package/dist/packem_shared/{index.server-sXNQYpsl.js → index.server-D8BLnYZO.js} +2 -2
  111. package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-C-_5cgwu.js → isAccessibleSync-DYKTrrvc-BwaMhQs0.js} +1 -1
  112. package/dist/packem_shared/{lifecycle-D6PMPor-.js → lifecycle-BAhkhE2L.js} +1 -1
  113. package/dist/packem_shared/{lockfile-CiUtEbnt.js → lockfile-DHmlPGk1.js} +1 -1
  114. package/dist/packem_shared/{manifests-Du4yKlf_.js → manifests-Dd4Hoztt.js} +1 -1
  115. package/dist/packem_shared/{min-release-age-JViyQuBM.js → min-release-age-BJnOQaoF.js} +1 -1
  116. package/dist/packem_shared/{missing-package-json-Cu5YVAot.js → missing-package-json-DfzrGwe1.js} +1 -1
  117. package/dist/packem_shared/{multi-eco-lockfiles-B2X3yhyo.js → multi-eco-lockfiles-BIa6xvJc.js} +1 -1
  118. package/dist/packem_shared/{native-config-sync-TdTWjVgI.js → native-config-sync-Dr9XvxOf.js} +1 -1
  119. package/dist/packem_shared/osv-bloom-t40ra5U5.js +2 -0
  120. package/dist/packem_shared/{package-version-Dxirp-UO.js → package-version-CFuNUWDG.js} +2 -2
  121. package/dist/packem_shared/{packument-BQv4je9m.js → packument-C9nRiBJf.js} +1 -1
  122. package/dist/packem_shared/pm-runner-ImwtpnWY.js +1 -0
  123. package/dist/packem_shared/{project-name-filter-D6tXD8gd.js → project-name-filter-C2rkW-Vn.js} +1 -1
  124. package/dist/packem_shared/{provenance-DNyVMxNv.js → provenance-DF-ypZj3.js} +1 -1
  125. package/dist/packem_shared/{readJsonSync-CbryXYxN-EWl7_7KX.js → readJsonSync-CbryXYxN-Bm5i10UW.js} +1 -1
  126. package/dist/packem_shared/{registry-keys-DwB3ZXS_.js → registry-keys-BLuHOyZu.js} +1 -1
  127. package/dist/packem_shared/{resolve-explicit-BPsdmuty.js → resolve-explicit-BDaQRR6o.js} +1 -1
  128. package/dist/packem_shared/resolve-runtime-Cr19Pk6L.js +1 -0
  129. package/dist/packem_shared/{run-file-UBukWaha.js → run-file-XbRCF6Mp.js} +1 -1
  130. package/dist/packem_shared/{runtime-check-1U8HrQd9.js → runtime-check-Bh5q9IrT.js} +1 -1
  131. package/dist/packem_shared/{s1ngularity-QD2LD1sO.js → s1ngularity-UCZN7skW.js} +1 -1
  132. package/dist/packem_shared/{scan-progress-CkumcBG-.js → scan-progress-DcYI76zE.js} +1 -1
  133. package/dist/packem_shared/{selectors-edwcgNl3.js → selectors-DCiEU0iv.js} +2 -2
  134. package/dist/packem_shared/{signatures-t8LbOaqr.js → signatures-CicxPHN4.js} +1 -1
  135. package/dist/packem_shared/target-merge-BClIXg2k.js +14 -0
  136. package/dist/packem_shared/{target-options-DsHFmRZH.js → target-options-PgWIuJnb.js} +1 -1
  137. package/dist/packem_shared/task-env-Dl08aklA.js +2 -0
  138. package/dist/packem_shared/toolchain-DvUxlbDz.js +5 -0
  139. package/dist/packem_shared/{typosquats-8u0drCqQ.js → typosquats-DxPzyK7u.js} +1 -1
  140. package/dist/packem_shared/{verify-B_MblU_Q.js → verify-CadR9PUk.js} +1 -1
  141. package/dist/packem_shared/{vis-update-app-BCIccZfA.js → vis-update-app-DrFWQyPn.js} +1 -1
  142. package/dist/packem_shared/{vis-user-error-75VtCwMv.js → vis-user-error-k7CLTpA4.js} +15 -15
  143. package/dist/packem_shared/{watch-CcTketln.js → watch-Dr_6yz3o.js} +1 -1
  144. package/dist/packem_shared/watch-loop-BId9vT7Q.js +11 -0
  145. package/dist/packem_shared/{writeFileSync-DJoHk3Ks-BPRoepNw.js → writeFileSync-DJoHk3Ks-Dhem3Uof.js} +1 -1
  146. package/dist/release/core/version-actions/index.d.ts +1 -1
  147. package/dist/release/presets.d.ts +1 -55
  148. package/dist/release/presets.js +1 -1
  149. package/dist/release/types.d.ts +1 -18
  150. package/dist/runtime/preload.js +1 -1
  151. package/index.d.ts +204 -204
  152. package/index.js +52 -52
  153. package/package.json +10 -10
  154. package/schemas/project.schema.json +44 -1
  155. package/schemas/vis-config.schema.json +128 -35
  156. package/schemas/vis-release-config.schema.json +1 -12
  157. package/skills/vis/SKILL.md +24 -12
  158. package/dist/packem_shared/Table-BB8xHTU5-BLPS917D.js +0 -11
  159. package/dist/packem_shared/affected-shas-B2V84O0g.js +0 -1
  160. package/dist/packem_shared/command-runtime-p4IXiIf6.js +0 -1
  161. package/dist/packem_shared/giget-D8Kwb0kD.js +0 -2
  162. package/dist/packem_shared/index-BisalDCf.js +0 -39
  163. package/dist/packem_shared/osv-bloom-BCAX5ARR.js +0 -2
  164. package/dist/packem_shared/pm-runner-CMSml1Bj.js +0 -1
  165. package/dist/packem_shared/resolve-runtime-CNiHcVtx.js +0 -1
  166. package/dist/packem_shared/target-merge-DVJl-7Qz.js +0 -4
  167. package/dist/packem_shared/toolchain-BRdpaAC4.js +0 -5
  168. package/dist/packem_shared/watch-loop-qRn0IHPG.js +0 -11
@@ -1 +1 @@
1
- import{createRequire as b}from"node:module";import{U as v,m as j,a as R}from"./index-BzhrR_iC.js";import{p as h}from"../packem_chunks/cli-main.js";let y;const $=o=>(y??=b(import.meta.url))(o),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,w=o=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[c,r]=m.versions.node.split(".").map(Number);if(c>22||c===22&&r>=3||c===20&&r>=16)return m.getBuiltinModule(o)}return $(o)},{watch:T}=w("node:fs"),{execFileSync:S}=w("node:child_process"),{createRequire:W}=w("node:module"),g=W(import.meta.url);let p;const q=()=>{if(p!==void 0)return p;try{g.resolve("fb-watchman")}catch{return p=!1,!1}try{S("watchman",["--version"],{stdio:"ignore",timeout:2e3})}catch{return p=!1,!1}return p=!0,!0},k=(o,c)=>{if(!q())return;let r;try{r=g("fb-watchman")}catch(s){h.warn(`[vis watch] fb-watchman failed to load, using native watcher: ${s.message}`);return}const a=new r.Client;a.on("error",s=>{h.warn(`[vis watch] watchman error: ${s.message}`)}),a.on("subscription",s=>{const t=s;if(!t.is_fresh_instance)for(const e of t.files??[])c(e)});for(const[s,t]of o.entries()){const e=v(t),i=`vis-watch-${s}-${process.pid}`;a.command(["watch-project",e],(l,u)=>{if(l){h.warn(`[vis watch] watchman could not watch ${t}: ${l.message}`);return}const f={expression:["allof",["type","f"]],fields:["name"]};u.relative_path&&(f.relative_root=u.relative_path),a.command(["subscribe",u.watch,i,f],n=>{n&&h.warn(`[vis watch] watchman subscribe failed for ${t}: ${n.message}`)})})}return{close:()=>{try{a.end()}catch{}}}},A=[/node_modules(?:\/|$)/,/\.git(?:\/|$)/,/\.vis(?:\/|$)/],M=(o,c)=>{const r=new Set,a=new Set;for(const[,e]of o){const i=e.task.hashDetails?.nodes;if(i)for(const l of Object.keys(i))r.add(l),a.add(j(v(c,l)))}const s=[...a].sort(),t=[];for(const e of s)t.some(i=>e===i||e.startsWith(`${i}/`))||t.push(e);return{directories:t,files:r}},z=(o,c,r)=>{const a=new Set;for(const s of o){const t=v(c,s);for(const e of r)if(t===e||t.startsWith(`${e}/`)){const i=R(e,t);i.length>0&&a.add(i)}}return s=>{const t=s.replaceAll("\\","/");return a.has(t)}},P=o=>{const c=o.replaceAll("\\","/");return A.some(r=>r.test(c))},B=o=>{const{debounceMs:c=150,filter:r,onChange:a,paths:s}=o;let t=new Set,e;const i=()=>{e=void 0;const n=[...t];t=new Set,n.length!==0&&Promise.resolve(a(n)).catch(d=>{h.error("[vis watch] onChange handler failed:",d)})},l=n=>{P(n)||r&&!r(n)||(t.add(n),e&&clearTimeout(e),e=setTimeout(i,c))},u=k(s,l);if(u)return{close:()=>{e&&clearTimeout(e),u.close()}};const f=[];for(const n of s)try{const d=T(n,{recursive:!0},(x,_)=>{_&&l(_)});f.push(d)}catch(d){h.warn(`[vis watch] unable to watch ${n}: ${d.message}`)}return{close:()=>{e&&clearTimeout(e);for(const n of f)try{n.close()}catch{}}}};export{z as a,M as c,B as s};
1
+ import{createRequire as b}from"node:module";import{U as v,$ as j,b as R}from"./index-BdMIfGVZ.js";import{p as h}from"../packem_chunks/cli-main.js";let $;const y=o=>($??=b(import.meta.url))(o),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,w=o=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[c,r]=m.versions.node.split(".").map(Number);if(c>22||c===22&&r>=3||c===20&&r>=16)return m.getBuiltinModule(o)}return y(o)},{watch:T}=w("node:fs"),{execFileSync:S}=w("node:child_process"),{createRequire:W}=w("node:module"),g=W(import.meta.url);let p;const q=()=>{if(p!==void 0)return p;try{g.resolve("fb-watchman")}catch{return p=!1,!1}try{S("watchman",["--version"],{stdio:"ignore",timeout:2e3})}catch{return p=!1,!1}return p=!0,!0},k=(o,c)=>{if(!q())return;let r;try{r=g("fb-watchman")}catch(s){h.warn(`[vis watch] fb-watchman failed to load, using native watcher: ${s.message}`);return}const a=new r.Client;a.on("error",s=>{h.warn(`[vis watch] watchman error: ${s.message}`)}),a.on("subscription",s=>{const t=s;if(!t.is_fresh_instance)for(const e of t.files??[])c(e)});for(const[s,t]of o.entries()){const e=v(t),i=`vis-watch-${s}-${process.pid}`;a.command(["watch-project",e],(l,u)=>{if(l){h.warn(`[vis watch] watchman could not watch ${t}: ${l.message}`);return}const f={expression:["allof",["type","f"]],fields:["name"]};u.relative_path&&(f.relative_root=u.relative_path),a.command(["subscribe",u.watch,i,f],n=>{n&&h.warn(`[vis watch] watchman subscribe failed for ${t}: ${n.message}`)})})}return{close:()=>{try{a.end()}catch{}}}},A=[/node_modules(?:\/|$)/,/\.git(?:\/|$)/,/\.vis(?:\/|$)/],M=(o,c)=>{const r=new Set,a=new Set;for(const[,e]of o){const i=e.task.hashDetails?.nodes;if(i)for(const l of Object.keys(i))r.add(l),a.add(j(v(c,l)))}const s=[...a].sort(),t=[];for(const e of s)t.some(i=>e===i||e.startsWith(`${i}/`))||t.push(e);return{directories:t,files:r}},z=(o,c,r)=>{const a=new Set;for(const s of o){const t=v(c,s);for(const e of r)if(t===e||t.startsWith(`${e}/`)){const i=R(e,t);i.length>0&&a.add(i)}}return s=>{const t=s.replaceAll("\\","/");return a.has(t)}},P=o=>{const c=o.replaceAll("\\","/");return A.some(r=>r.test(c))},B=o=>{const{debounceMs:c=150,filter:r,onChange:a,paths:s}=o;let t=new Set,e;const i=()=>{e=void 0;const n=[...t];t=new Set,n.length!==0&&Promise.resolve(a(n)).catch(d=>{h.error("[vis watch] onChange handler failed:",d)})},l=n=>{P(n)||r&&!r(n)||(t.add(n),e&&clearTimeout(e),e=setTimeout(i,c))},u=k(s,l);if(u)return{close:()=>{e&&clearTimeout(e),u.close()}};const f=[];for(const n of s)try{const d=T(n,{recursive:!0},(x,_)=>{_&&l(_)});f.push(d)}catch(d){h.warn(`[vis watch] unable to watch ${n}: ${d.message}`)}return{close:()=>{e&&clearTimeout(e);for(const n of f)try{n.close()}catch{}}}};export{z as a,M as c,B as s};
@@ -0,0 +1,11 @@
1
+ import{createRequire as B}from"node:module";import{e as h,a as U,z as S,U as z,$ as K}from"./index-BdMIfGVZ.js";import{T as A}from"../packem_chunks/catalog.js";import{y as k}from"./isAccessibleSync-DYKTrrvc-BwaMhQs0.js";import{p as G}from"./readJsonSync-CbryXYxN-Bm5i10UW.js";import{h as re}from"./writeFileSync-DJoHk3Ks-Dhem3Uof.js";import{s as oe}from"./watch-Dr_6yz3o.js";let V;const J=e=>(V??=B(import.meta.url))(e),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,x=e=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[t,n]=y.versions.node.split(".").map(Number);if(t>22||t===22&&n>=3||t===20&&n>=16)return y.getBuiltinModule(e)}return J(e)},{createHash:v}=x("node:crypto"),{spawnSync:H,spawn:Y}=x("node:child_process"),{openSync:Q,writeSync:X,closeSync:Z,statSync:ee,readFileSync:E,mkdirSync:te,writeFileSync:ne}=x("node:fs"),{pathToFileURL:se}=x("node:url"),{availableParallelism:F}=x("node:os"),j=(e,t)=>{for(const n of["dependencies","devDependencies","optionalDependencies","peerDependencies"]){const r=e[n];if(r&&typeof r[t]=="string")return r[t]}},D=(e,t)=>{for(const n of t){const r=h(e,n);if(k(r))return r}},ie=e=>{const t=h(e,"package.json");if(!k(t))return{};try{return G(t)}catch{return{}}},Xe=(e,t)=>{const n=ie(e),r=new Map;for(const o of t){const s=o.detect(e,n);s&&r.set(o.id,s)}return r},ce={error:"error",info:"info",information:"info",warning:"warning"},Ze={argsCheck:(e,t)=>I(e,t,!1),argsFix:(e,t)=>I(e,t,!0),bin:()=>["pnpm","exec","biome"],cacheKey:(e,t)=>{const n=["biome",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return v("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:(e,t)=>{const n=j(t,A.biome.packageNames[0]),r=D(e,A.biome.configFiles);if(!(!n&&!r))return{adapter:"biome",configFile:r,declared:!!n,declaredVersion:n,root:e}},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 n;try{n=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 r=[];for(const o of n.diagnostics??[]){const s=o.location?.start,i=o.location?.end,c=ae(t.root,o.location?.path),u=o.category??"",a=u==="format"||u.startsWith("format/");r.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:c,fixable:!0,line:s?.line&&s.line>0?s.line:void 0,message:a?"Code style issues would be auto-fixed":o.message??"",ruleId:u||void 0,severity:ce[o.severity??""]??"warning"})}return r}},I=(e,t,n)=>{const r=["check","--reporter=json"];return n&&r.push("--write"),typeof t.maxWarnings=="number"&&r.push(`--max-diagnostics=${String(t.maxWarnings)}`),t.extraArgs?.length&&r.push(...t.extraArgs),r.push(...e),r},ae=(e,t)=>{const n=typeof t=="string"?t:t?.file;return n?n.startsWith("/")||/^[a-z]:[\\/]/i.test(n)?n:h(e,n):e},O="pyproject.toml",le=/^\[tool\.ruff(?:\.[\w-]+)*\]\s*$/m,ue=/^Would reformat:?\s+(.+)$/,de=e=>{const t=h(e,O);if(!k(t))return!1;try{const n=U(t);return le.test(n)}catch{return!1}},P=e=>(t,n)=>{const r=A.ruff.packageNames.map(c=>j(n,c)).find(c=>c!==void 0),o=D(t,A.ruff.configFiles),s=o?void 0:de(t)?h(t,O):void 0,i=o??s;if(!(!r&&!i))return{adapter:e,configFile:i,declared:!!r,declaredVersion:r,root:t}},fe=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),N=(e,t)=>e?fe(e)?e:h(t,e):t,pe=e=>ue.exec(e)?.[1]?.trim(),et={argsCheck:(e,t)=>R(e,t,!1),argsFix:(e,t)=>R(e,t,!0),bin:()=>["ruff","check"],cacheKey:(e,t)=>{const n=["ruff-check",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return v("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:P("ruff-check"),extensions:["py","pyi"],id:"ruff-check",kind:"lint",parse:(e,t)=>{if(!e.stdout.trim())return[];let n;try{n=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 r=[];for(const o of n){const s=o.location,i=o.end_location;r.push({adapter:"ruff-check",column:s?.column,endColumn:i?.column,endLine:i?.row,file:N(o.filename,t.root),fixable:!!o.fix,line:s?.row,message:o.message??"",ruleId:o.code,severity:"warning"})}return r}},tt={argsCheck:(e,t)=>T(e,t,!1),argsFix:(e,t)=>T(e,t,!0),bin:()=>["ruff","format"],cacheKey:(e,t)=>{const n=["ruff-fmt",e.declaredVersion??"unknown",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return v("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:P("ruff-fmt"),extensions:["py","pyi"],id:"ruff-fmt",kind:"fmt",parse:(e,t)=>{if(e.exitCode===0)return[];const n=[],r=new Set;for(const o of e.stdout.split(/\r?\n/)){const s=pe(o);!s||r.has(s)||(r.add(s),n.push({adapter:"ruff-fmt",file:N(s,t.root),fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return n}},R=(e,t,n)=>{const r=["--output-format=json"];return n&&r.push("--fix"),t.quiet&&r.push("--quiet"),t.extraArgs?.length&&r.push(...t.extraArgs),r.push(...e),r},T=(e,t,n)=>{const r=[];return n||r.push("--check"),t.quiet&&r.push("--quiet"),t.extraArgs?.length&&r.push(...t.extraArgs),r.push(...e),r},nt=(e,t)=>{const n=w(e,["diff","--name-only","--diff-filter=ACMR","-z",`${t}...HEAD`]);if(n===void 0)return;const r=w(e,["diff","--name-only","--diff-filter=ACMR","-z"]),o=w(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]),s=w(e,["ls-files","--others","--exclude-standard","-z"]),i=new Set;for(const c of[n,r??"",o??"",s??""])for(const u of c.split("\0"))u.length!==0&&i.add(S(u)?u:h(e,u));return[...i].sort()},rt=e=>{const t=w(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]);if(t===void 0)return;const n=new Set;for(const r of t.split("\0"))r.length!==0&&n.add(S(r)?r:h(e,r));return[...n].sort()},w=(e,t)=>{const n=H("git",[...t],{cwd:e,encoding:"utf8",timeout:1e4});if(n.status===0)return n.stdout},st=(e,t)=>{const n=new Set(t.map(s=>s.toLowerCase())),r=[],o=new Set;for(const s of e){const i=s.lastIndexOf(".");if(i===-1||i===s.length-1)continue;const c=s.slice(i+1).toLowerCase();n.has(c)&&(o.has(s)||(o.add(s),r.push(s)))}return r},he=new Set(["-","stdout"]),_=e=>({close:()=>{},write:t=>{e.write(t)}}),me=e=>{re(K(e));const t=Q(e,"w");let n=[];return{close:()=>{n.length>0&&(X(t,n.join("")),n=[]),Z(t)},write:r=>{n.push(r)}}},ot=e=>{const{cwd:t,target:n}=e;if(n===void 0||he.has(n))return _(process.stdout);if(n==="stderr")return _(process.stderr);const r=S(n)?n:z(t,n);return me(r)},C=["oxlint","oxfmt","biome","eslint","dprint","prettier","stylelint","ruff-check","ruff-fmt","markdownlint","shellcheck","typecheck"],it=(e,t)=>{const n=new Map(e.map(i=>[i.id,i])),r=[],o=new Set,s=t&&t.length>0?t:C;for(const i of s){const c=n.get(i);c&&!o.has(i)&&(r.push(c),o.add(i))}if(t&&t.length>0)for(const i of C){const c=n.get(i);c&&!o.has(i)&&(r.push(c),o.add(i))}for(const i of e)o.has(i.id)||(r.push(i),o.add(i.id));return r},ct=(e,t,n)=>{const r=[];for(const o of t){const s=e.get(o.id);s&&ge(o.kind,n)&&r.push({adapter:o,presence:s})}return r},ge=(e,t)=>e===t||e==="both",at=(e,t,n={})=>{const r=new Map;for(const o of e){const s=ye(o),i=we(s,t,n);if(!i)continue;const c=r.get(i);c?c.push(o):r.set(i,[o])}return r},ye=e=>{const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()},we=(e,t,n)=>{const r=n[e];if(r&&t.some(o=>o.adapter.id===r))return r;for(const{adapter:o}of t)if(o.extensions.includes(e))return o.id},lt=(e,t,n)=>{const r=new Set(C),o=new Set([...n?.order??[],...Object.keys(n?.adapters??{})]);for(const s of o)r.has(s)||e.warn(`vis.config ${t}: unknown adapter "${s}" is ignored.`)},xe=e=>e==="error"?"error":e==="warning"?"warning":"notice",W=e=>e.replaceAll("%","%25").replaceAll("\r","%0D").replaceAll(`
2
+ `,"%0A"),b=e=>W(e).replaceAll(",","%2C").replaceAll(":","%3A").replaceAll("=","%3D"),ve=(e,t)=>t&&e.startsWith(`${t}/`)?e.slice(t.length+1):e,Se=(e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),Ae=(e,t)=>{const n=xe(e.severity),r=ve(e.file,t),o=e.ruleId?`${e.adapter}(${e.ruleId})`:e.adapter,s=[`file=${b(r)}`];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=${b(o)}`),`::${n} ${s.join(",")}::${W(e.message)}
3
+ `},ut=e=>e.runs.flatMap(n=>[...n.findings]).sort(Se).map(n=>Ae(n,e.workspaceRoot)).join(""),g=e=>e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&apos;"),$e=e=>`<![CDATA[${e.replaceAll("]]>","]]]]><![CDATA[>")}]]>`,Ce=(e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),ke=e=>e==="error"?"error":e==="warning"?"warning":"info",Fe=(e,t)=>{let{file:n}=e;return t&&e.file.startsWith(`${t}/`)&&(n=e.file.slice(t.length+1)),e.line===void 0?n:e.column===void 0?`${n}:${String(e.line)}`:`${n}:${String(e.line)}:${String(e.column)}`},Ie=(e,t,n)=>{const r=Fe(e,n),o=ke(e.severity),s=e.ruleId?`[${e.ruleId}] ${e.message}`:e.message;return[` <testcase classname="${g(t)}" name="${g(r)}">`,` <failure type="${g(o)}" message="${g(s)}">${$e(e.message)}</failure>`," </testcase>",""].join(`
4
+ `)},Re=(e,t,n)=>{const r=[...e.findings].sort(Ce),o=r.filter(d=>d.severity==="error").length,s=r.filter(d=>d.severity==="warning").length,i=r.length,c=(e.durationMs/1e3).toFixed(3),u=r.map(d=>Ie(d,e.adapter,n)).join("");return` <testsuite ${[`name="${g(e.adapter)}"`,`tests="${String(i)}"`,`failures="${String(o)}"`,'errors="0"',`skipped="${String(s)}"`,`time="${c}"`,`timestamp="${t}"`].join(" ")}>
5
+ ${u} </testsuite>
6
+ `},dt=e=>{const t=(e.now??new Date).toISOString(),n=e.suiteName??"vis-lint-fmt",r=e.runs.map(a=>Re(a,t,e.workspaceRoot)).join(""),o=e.runs.reduce((a,d)=>a+d.findings.length,0),s=e.runs.reduce((a,d)=>a+d.findings.filter(l=>l.severity==="error").length,0),i=e.runs.reduce((a,d)=>a+d.findings.filter(l=>l.severity==="warning").length,0),c=(e.runs.reduce((a,d)=>a+d.durationMs,0)/1e3).toFixed(3);return`<?xml version="1.0" encoding="UTF-8"?>
7
+ <testsuites ${[`name="${g(n)}"`,`tests="${String(o)}"`,`failures="${String(s)}"`,'errors="0"',`skipped="${String(i)}"`,`time="${c}"`].join(" ")}>
8
+ ${r}</testsuites>
9
+ `},Te="2.1.0",_e="https://json.schemastore.org/sarif-2.1.0.json",be=e=>e==="error"?"error":e==="warning"?"warning":"note",Me=(e,t)=>t&&e.startsWith(`${t}/`)?{uri:e.slice(t.length+1),uriBaseId:"SRCROOT"}:{uri:e},Le=e=>{const{href:t}=se(e);return t.endsWith("/")?t:`${t}/`},Ee=(e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),je=e=>{const t=new Map;for(const n of e)n.ruleId&&(t.has(n.ruleId)||t.set(n.ruleId,{id:n.ruleId,name:n.ruleId}));return[...t.values()]},De=(e,t)=>{const{uri:n,uriBaseId:r}=Me(e.file,t),o={artifactLocation:r?{uri:n,uriBaseId:r}:{uri:n}};if(e.line!==void 0){const i={startLine:e.line};e.column!==void 0&&(i.startColumn=e.column),e.endLine!==void 0&&(i.endLine=e.endLine),e.endColumn!==void 0&&(i.endColumn=e.endColumn),o.region=i}const s={level:be(e.severity),locations:[{physicalLocation:o}],message:{text:e.message}};return e.ruleId&&(s.ruleId=e.ruleId),s},Oe=(e,t)=>{const n=[...e.findings].sort(Ee),r=je(n),o={name:e.adapter,rules:r};e.presence?.declaredVersion&&(o.version=e.presence.declaredVersion);const s={results:n.map(i=>De(i,t)),tool:{driver:o}};return t&&(s.originalUriBaseIds={SRCROOT:{uri:Le(t)}}),s},ft=e=>{const t={$schema:_e,runs:e.runs.map(n=>Oe(n,e.workspaceRoot)),version:Te};return`${JSON.stringify(t,void 0,2)}
10
+ `},M={error:3,info:1,warning:2},pt=e=>{const t=[],n=[];let r,o=!1;for(const s of e){n.push({adapter:s.adapter,durationMs:s.durationMs,exitCode:s.exitCode,findingCount:s.findings.length}),s.exitCode!==0&&s.exitCode!==null&&s.findings.length===0&&(o=!0);for(const i of s.findings)t.push(i),(!r||M[i.severity]>M[r])&&(r=i.severity)}return{findings:t,hadProcessFailure:o,maxSeverity:r,runs:n}},ht=e=>{const t=new Map;for(const n of e){const r=t.get(n.file);r?r.push(n):t.set(n.file,[n])}return t},mt=e=>e.hadProcessFailure||e.maxSeverity==="error"?1:0,Pe=(e,t)=>{if(t==="fix"||process.env.VIS_NO_CACHE==="1"||e.length===0)return!1;for(const n of e)if(n==="."||n==="./"||n==="..")return!1;return!0},Ne=e=>{try{const t=E(e);return v("sha256").update(t).digest("hex")}catch{return}},We=(e,t,n,r,o)=>{const s=e.cacheKey(t,r),i=[];for(const u of[...n].sort()){const a=S(u)?u:h(t.root,u);try{ee(a)}catch{return}const d=Ne(a);if(!d)return;i.push({hash:d,path:a})}const c=v("sha256");c.update(e.id),c.update("\0"),c.update(s),c.update("\0"),c.update(o);for(const u of i)c.update("\0"),c.update(u.path),c.update("\0"),c.update(u.hash);return{fileHashes:i,key:c.digest("hex")}},q=(e,t)=>h(e,"lint-fmt",t),qe=(e,t,n)=>{const r=h(q(e,t.id),`${n}.json`);try{const o=E(r,"utf8"),s=JSON.parse(o);return s.schema!==1?void 0:s}catch{return}},Be=(e,t,n,r,o)=>{const s=q(e,t.id),i={fileHashes:o,result:r,savedAt:Date.now(),schema:1};try{te(s,{recursive:!0}),ne(h(s,`${n}.json`),JSON.stringify(i))}catch{}},L=async(e,t,n,r,o)=>{const s=e.bin(t),i=[...s.slice(1),...o==="fix"?e.argsFix(n,r):e.argsCheck(n,r)];return new Promise(c=>{const u=Date.now(),a=Y(s[0],i,{cwd:t.root}),d=[],l=[];let m=!1;const p=setTimeout(()=>{m=!0,a.kill("SIGKILL")},6e4);a.stdout.on("data",f=>d.push(f)),a.stderr.on("data",f=>l.push(f)),a.on("error",f=>{clearTimeout(p),c({durationMs:Date.now()-u,exitCode:null,stderr:f.message,stdout:""})}),a.on("close",f=>{clearTimeout(p),c({durationMs:Date.now()-u,exitCode:m?null:f,stderr:Buffer.concat(l).toString("utf8"),stdout:Buffer.concat(d).toString("utf8")})})})},gt=async(e,t,n,r=F())=>{if(e.length===0)return[];const{cacheRoot:o,concurrency:s}=typeof r=="number"?{concurrency:r}:{cacheRoot:r.cacheRoot,concurrency:r.concurrency??F()},i=async l=>{const m=l.options??t;if(o&&Pe(l.files,n)){const p=We(l.adapter,l.presence,l.files,m,n);if(p){const f=qe(o,l.adapter,p.key);if(f)return f.result;const $=await L(l.adapter,l.presence,l.files,m,n);return $.exitCode!==null&&Be(o,l.adapter,p.key,$,p.fileHashes),$}}return L(l.adapter,l.presence,l.files,m,n)};if(process.env.VIS_LINT_FMT_SERIAL==="1"){const l=[];for(const m of e)l.push(await i(m));return l}const c=Math.max(1,Math.min(s,e.length)),u=Array.from({length:e.length});let a=0;const d=async()=>{for(;;){const l=a;if(a+=1,l>=e.length)return;u[l]=await i(e[l])}};return await Promise.all(Array.from({length:c},()=>d())),u},Ve=e=>{const t=new Set;for(const n of e)t.add(n.toLowerCase());return t},Je=(e,t)=>{const n=e.lastIndexOf(".");return n===-1||n===e.length-1?!1:t.has(e.slice(n+1).toLowerCase())},yt=async e=>{const{extensions:t,initialFiles:n,label:r,log:o,runCycle:s,workspaceRoot:i}=e,c=o??(p=>{process.stdout.write(`${p}
11
+ `)}),u=Ve(t);await s(n),c(`▸ ${r}: watching workspace — press Ctrl-C to exit`);let a=new Set,d=!1;const l=async()=>{for(;a.size>0;){const p=[...a];a=new Set;try{await s(p)}catch(f){c(`✗ ${r}: watch cycle failed — ${f.message}`)}}},m=oe({debounceMs:200,filter:p=>Je(p,u),onChange:async p=>{for(const f of p)a.add(S(f)?f:h(i,f));if(!d){d=!0;try{await l()}finally{d=!1}}},paths:[i]});await new Promise(p=>{const f=()=>{m.close(),process.off("SIGINT",f),process.off("SIGTERM",f),p()};process.once("SIGINT",f),process.once("SIGTERM",f)})};export{Xe as a,ct as b,nt as c,j as d,yt as e,D as f,Ze as g,tt as h,at as i,gt as j,pt as k,ot as l,ft as m,dt as n,ut as o,mt as p,ht as q,it as r,rt as s,ie as t,et as u,st as v,lt as w};
@@ -1 +1 @@
1
- import{createRequire as v}from"node:module";import{n as w,C as x,o as B,m as A}from"./index-BzhrR_iC.js";import{y}from"./isAccessibleSync-DYKTrrvc-C-_5cgwu.js";let S;const T=e=>(S??=v(import.meta.url))(e),n=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=e=>{if(typeof n<"u"&&n.versions&&n.versions.node){const[r,t]=n.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return n.getBuiltinModule(e)}return T(e)},{createRequire:l}=_("node:module");let k=class extends Error{constructor(r){super(`EEXIST: ${r}`)}get code(){return"EEXIST"}set code(r){throw new Error("Cannot overwrite code EEXIST")}get name(){return"AlreadyExistsError"}set name(r){throw new Error("Cannot overwrite name of AlreadyExistsError")}};const m=e=>{if(e.isFile())return"file";if(e.isDirectory())return"dir";if(e.isSymbolicLink())return"symlink"};let j;const F=e=>(j??=l(import.meta.url))(e),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,N=e=>{if(typeof i<"u"&&i.versions&&i.versions.node){const[r,t]=i.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return i.getBuiltinModule(e)}return F(e)},{lstatSync:g,mkdirSync:q}=N("node:fs"),re=e=>{w(e);try{const r=g(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(m(r))}'`);return}catch(r){if(r.code!=="ENOENT")throw r}try{q(e,{recursive:!0})}catch(r){if(r.code!=="EEXIST")throw r;const t=g(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(m(t))}'`,{cause:r})}},I=e=>{if(typeof e!="string"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError("File contents must be a string, ArrayBuffer, or ArrayBuffer view.")};let M;const $=e=>(M??=l(import.meta.url))(e),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,R=e=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[r,t]=c.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return c.getBuiltinModule(e)}return $(e)},{randomBytes:U}=R("node:crypto"),X=e=>`${e}.${process.pid.toString(36)}.${U(6).toString("hex")}.tmp`,C=new TextEncoder,D=e=>{if(e instanceof Uint8Array)return e;if(typeof e=="string")return C.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){const r=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(r)}throw new TypeError("Invalid contents type. Expected string or ArrayBuffer.")};let O;const L=e=>(O??=l(import.meta.url))(e),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,V=e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[r,t]=u.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return u.getBuiltinModule(e)}return L(e)},{mkdirSync:P,readFileSync:z,writeFileSync:G,statSync:H,renameSync:h,chownSync:J,chmodSync:K,unlinkSync:Q}=V("node:fs"),te=(e,r,t)=>{t={backup:!1,encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...t},w(e),I(r),e=x(e);const f=y(e,B),d=t.flag??"w",b=d.includes("a"),E=d.includes("x");if(f&&(!t.overwrite||E))throw new k(`file already exists, open '${e}'`);const s=X(e);try{!f&&t.recursive&&P(A(e),{recursive:!0});let o,a=typeof r=="string"?Buffer.from(r,t.encoding??"utf8"):D(r);if(b&&f&&(a=Buffer.concat([z(e),a])),G(s,a,{flag:"wx"}),f&&t.backup&&(o=H(e),t.chown??={gid:o.gid,uid:o.uid},h(e,`${e}.bak`)),t.chown)try{J(s,t.chown.uid,t.chown.gid)}catch{}const p=o&&t.mode===void 0?o.mode:t.mode;p!==void 0&&K(s,p),h(s,e)}catch(o){throw new Error(`Failed to write file at: ${e} - ${o.message}`,{cause:o})}finally{y(s)&&Q(s)}};export{te as U,re as h,m as r};
1
+ import{createRequire as v}from"node:module";import{n as w,C as x,o as B,$ as A}from"./index-BdMIfGVZ.js";import{y}from"./isAccessibleSync-DYKTrrvc-BwaMhQs0.js";let S;const T=e=>(S??=v(import.meta.url))(e),n=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=e=>{if(typeof n<"u"&&n.versions&&n.versions.node){const[r,t]=n.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return n.getBuiltinModule(e)}return T(e)},{createRequire:l}=_("node:module");let k=class extends Error{constructor(r){super(`EEXIST: ${r}`)}get code(){return"EEXIST"}set code(r){throw new Error("Cannot overwrite code EEXIST")}get name(){return"AlreadyExistsError"}set name(r){throw new Error("Cannot overwrite name of AlreadyExistsError")}};const g=e=>{if(e.isFile())return"file";if(e.isDirectory())return"dir";if(e.isSymbolicLink())return"symlink"};let j;const $=e=>(j??=l(import.meta.url))(e),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,F=e=>{if(typeof i<"u"&&i.versions&&i.versions.node){const[r,t]=i.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return i.getBuiltinModule(e)}return $(e)},{lstatSync:m,mkdirSync:N}=F("node:fs"),re=e=>{w(e);try{const r=m(e);if(!r.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(g(r))}'`);return}catch(r){if(r.code!=="ENOENT")throw r}try{N(e,{recursive:!0})}catch(r){if(r.code!=="EEXIST")throw r;const t=m(e);if(!t.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(g(t))}'`,{cause:r})}},q=e=>{if(typeof e!="string"&&!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))throw new TypeError("File contents must be a string, ArrayBuffer, or ArrayBuffer view.")};let I;const M=e=>(I??=l(import.meta.url))(e),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,R=e=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[r,t]=c.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return c.getBuiltinModule(e)}return M(e)},{randomBytes:U}=R("node:crypto"),X=e=>`${e}.${process.pid.toString(36)}.${U(6).toString("hex")}.tmp`,C=new TextEncoder,D=e=>{if(e instanceof Uint8Array)return e;if(typeof e=="string")return C.encode(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){const r=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(r)}throw new TypeError("Invalid contents type. Expected string or ArrayBuffer.")};let O;const L=e=>(O??=l(import.meta.url))(e),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,V=e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[r,t]=u.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return u.getBuiltinModule(e)}return L(e)},{mkdirSync:P,readFileSync:z,writeFileSync:G,statSync:H,renameSync:h,chownSync:J,chmodSync:K,unlinkSync:Q}=V("node:fs"),te=(e,r,t)=>{t={backup:!1,encoding:"utf8",flag:"w",overwrite:!0,recursive:!0,...t},w(e),q(r),e=x(e);const f=y(e,B),d=t.flag??"w",b=d.includes("a"),E=d.includes("x");if(f&&(!t.overwrite||E))throw new k(`file already exists, open '${e}'`);const s=X(e);try{!f&&t.recursive&&P(A(e),{recursive:!0});let o,a=typeof r=="string"?Buffer.from(r,t.encoding??"utf8"):D(r);if(b&&f&&(a=Buffer.concat([z(e),a])),G(s,a,{flag:"wx"}),f&&t.backup&&(o=H(e),t.chown??={gid:o.gid,uid:o.uid},h(e,`${e}.bak`)),t.chown)try{J(s,t.chown.uid,t.chown.gid)}catch{}const p=o&&t.mode===void 0?o.mode:t.mode;p!==void 0&&K(s,p),h(s,e)}catch(o){throw new Error(`Failed to write file at: ${e} - ${o.message}`,{cause:o})}finally{y(s)&&Q(s)}};export{te as U,re as h,g as r};
@@ -43,7 +43,7 @@ import "../../../packem_shared/interface.d-CRqRz4jt.js";
43
43
  *
44
44
  * Unknown ids fall back to npm — the historical default and the only safe
45
45
  * choice for a JS workspace package without explicit configuration.
46
- * @param id versionActions id (e.g. `npm`, `cargo`, `jsr`, `container`).
46
+ * @param id versionActions id (e.g. `npm`, `cargo`, `container`).
47
47
  * @returns a fresh {@link VersionActions} instance.
48
48
  */
49
49
  declare const createVersionActions: (id: string) => VersionActions;
@@ -152,60 +152,6 @@ interface ContainerPresetOptions {
152
152
  * `skipLatest: true`).
153
153
  */
154
154
  declare const container: (options: ContainerPresetOptions) => PerPackageReleaseConfig;
155
- interface JsrPresetOptions {
156
- /**
157
- * Convenience for adding `--allow-slow-types` to `jsr publish`. JSR
158
- * rejects packages whose exported API has types it can't statically infer
159
- * unless this flag is set. Default `false`.
160
- */
161
- allowSlowTypes?: boolean;
162
- /**
163
- * When `true`, also write the version literal into `deno.json` (in
164
- * addition to `jsr.json`). Useful for Deno-flavoured packages that
165
- * keep their full Deno config in `deno.json` and use `jsr.json` only
166
- * for the JSR manifest itself. Default `false`.
167
- *
168
- * When the package uses `deno.json` as its sole JSR manifest, pass
169
- * `manifestPath: "deno.json"` instead — that points the
170
- * versionActions reader and the extra-files rule at the same file.
171
- */
172
- deno?: boolean;
173
- extraFiles?: ExtraFileRule[];
174
- /**
175
- * Relative path to the JSR manifest. Default `"jsr.json"`. Pass
176
- * `"deno.json"` for Deno-flavoured packages that use it as the
177
- * primary JSR manifest.
178
- */
179
- manifestPath?: string;
180
- /**
181
- * Extra arguments forwarded verbatim to `jsr publish` (e.g.
182
- * `["--allow-slow-types"]`). `--allow-dirty` is always passed by vis and
183
- * need not be listed. Merged after the `allowSlowTypes` shorthand.
184
- */
185
- publishArgs?: string[];
186
- }
187
- /**
188
- * Bump `"version": "..."` in a JSR manifest (`jsr.json` or `deno.json`)
189
- * AND default `versionActions: "jsr"` so vis drives `npx jsr publish`
190
- * natively (jsr.io metadata lookup + OIDC trusted publishing + JSR's
191
- * scoped-name validation).
192
- *
193
- * JSR is Deno's package registry (jsr.io). Operators publish via
194
- * `npx jsr publish` after authoring `jsr.json` (or `deno.json` for
195
- * Deno-flavoured packages); the manifest uses PEP 621-style fields
196
- * (`name`, `version`, `exports`).
197
- *
198
- * The default rule matches the FIRST `"version": "..."` line in the
199
- * JSON file, which is the convention for the project version under
200
- * `name`. If your manifest has nested objects with their own
201
- * `"version"` keys, write a more specific rule.
202
- *
203
- * Operators who need to bump BOTH `jsr.json` AND `deno.json` (because
204
- * the package keeps a separate Deno config) can pass `deno: true` —
205
- * the preset emits an extra rule against `deno.json` alongside the
206
- * primary `jsr.json` bump.
207
- */
208
- declare const jsr: (options?: JsrPresetOptions) => PerPackageReleaseConfig;
209
155
  interface GoModPresetOptions {
210
156
  extraFiles?: ExtraFileRule[];
211
157
  /** Path to go.mod. Default: package root. */
@@ -222,4 +168,4 @@ interface GoModPresetOptions {
222
168
  * pass it via `extraFiles`.
223
169
  */
224
170
  declare const goMod: (options?: GoModPresetOptions) => PerPackageReleaseConfig;
225
- export { CargoPresetOptions, ContainerPresetOptions, GoModPresetOptions, GradlePropertiesPresetOptions, JsrPresetOptions, PomXmlPresetOptions, PyprojectPresetOptions, cargo, container, goMod, gradleProperties, jsr, pomXml, pyproject };
171
+ export { CargoPresetOptions, ContainerPresetOptions, GoModPresetOptions, GradlePropertiesPresetOptions, PomXmlPresetOptions, PyprojectPresetOptions, cargo, container, goMod, gradleProperties, pomXml, pyproject };
@@ -1 +1 @@
1
- const c=(r={})=>{const e=r.crateDir?`${r.crateDir}/Cargo.toml`:"Cargo.toml";return{cargoTomlPath:e,extraFiles:[{flags:"m",path:e,replace:"$1{version}$3",search:String.raw`^(version\s*=\s*")([^"]+)(")`},...r.extraFiles??[]],versionActions:"cargo"}},n=(r={})=>({extraFiles:[{flags:"m",path:r.projectDir?`${r.projectDir}/pyproject.toml`:"pyproject.toml",replace:"$1{version}$3",search:String.raw`^(version\s*=\s*")([^"]+)(")`},...r.extraFiles??[]],...r.projectDir?{pythonProjectDir:r.projectDir}:{},...r.uvLockPath?{uvLockPath:r.uvLockPath}:{},...r.uvWorkspace?{uvWorkspace:r.uvWorkspace}:{},versionActions:"python"}),i=(r={})=>{const e=r.projectDir?`${r.projectDir}/gradle.properties`:"gradle.properties",a=r.property??"version";return{extraFiles:[{flags:"m",path:e,replace:`${a}={version}`,search:String.raw`^${a}\s*=.*$`},...r.extraFiles??[]]}},o=(r={})=>({extraFiles:[{flags:"",path:r.pomDir?`${r.pomDir}/pom.xml`:"pom.xml",replace:"$1{version}$3",search:"(<version>)([^<]+)(</version>)"},...r.extraFiles??[]],versionActions:"maven"}),l=r=>({buildContext:r.buildContext,containerBuildArgs:r.buildArgs,containerImage:r.image,containerPlatforms:r.platforms,containerSigning:r.signing,containerSkipLatest:r.skipLatest,extraFiles:r.extraFiles??[],versionActions:"container"}),g=(r={})=>{const e=r.manifestPath??"jsr.json",a={flags:"m",path:e,replace:"$1{version}$3",search:String.raw`^(\s*"version"\s*:\s*")([^"]+)(")`},s=r.deno&&e!=="deno.json"?{flags:"m",path:"deno.json",replace:"$1{version}$3",search:String.raw`^(\s*"version"\s*:\s*")([^"]+)(")`}:void 0,t=[...r.allowSlowTypes?["--allow-slow-types"]:[],...r.publishArgs??[]];return{extraFiles:[a,...s?[s]:[],...r.extraFiles??[]],jsrConfigPath:e,...t.length>0?{jsrPublishArgs:t}:{},versionActions:"jsr"}},p=(r={})=>({extraFiles:r.extraFiles??[]});export{c as cargo,l as container,p as goMod,i as gradleProperties,g as jsr,o as pomXml,n as pyproject};
1
+ const a=(r={})=>{const e=r.crateDir?`${r.crateDir}/Cargo.toml`:"Cargo.toml";return{cargoTomlPath:e,extraFiles:[{flags:"m",path:e,replace:"$1{version}$3",search:String.raw`^(version\s*=\s*")([^"]+)(")`},...r.extraFiles??[]],versionActions:"cargo"}},c=(r={})=>({extraFiles:[{flags:"m",path:r.projectDir?`${r.projectDir}/pyproject.toml`:"pyproject.toml",replace:"$1{version}$3",search:String.raw`^(version\s*=\s*")([^"]+)(")`},...r.extraFiles??[]],...r.projectDir?{pythonProjectDir:r.projectDir}:{},...r.uvLockPath?{uvLockPath:r.uvLockPath}:{},...r.uvWorkspace?{uvWorkspace:r.uvWorkspace}:{},versionActions:"python"}),s=(r={})=>{const e=r.projectDir?`${r.projectDir}/gradle.properties`:"gradle.properties",t=r.property??"version";return{extraFiles:[{flags:"m",path:e,replace:`${t}={version}`,search:String.raw`^${t}\s*=.*$`},...r.extraFiles??[]]}},i=(r={})=>({extraFiles:[{flags:"",path:r.pomDir?`${r.pomDir}/pom.xml`:"pom.xml",replace:"$1{version}$3",search:"(<version>)([^<]+)(</version>)"},...r.extraFiles??[]],versionActions:"maven"}),n=r=>({buildContext:r.buildContext,containerBuildArgs:r.buildArgs,containerImage:r.image,containerPlatforms:r.platforms,containerSigning:r.signing,containerSkipLatest:r.skipLatest,extraFiles:r.extraFiles??[],versionActions:"container"}),o=(r={})=>({extraFiles:r.extraFiles??[]});export{a as cargo,n as container,o as goMod,s as gradleProperties,i as pomXml,c as pyproject};
@@ -498,23 +498,6 @@ interface PerPackageReleaseConfig {
498
498
  * `release.publish.extraFiles` (per-package wins on path collision).
499
499
  */
500
500
  extraFiles?: ExtraFileRule[];
501
- /**
502
- * Relative path from the package directory to the JSR manifest
503
- * (`jsr.json` or `deno.json`) for the `jsr` versionActions. Set
504
- * automatically by the `jsr()` preset from its `manifestPath`
505
- * option. Defaults to `"jsr.json"`.
506
- */
507
- jsrConfigPath?: string;
508
- /**
509
- * Extra arguments forwarded verbatim to `jsr publish` for the `jsr`
510
- * versionActions (the `jsr()` preset wires this from its `publishArgs` /
511
- * `allowSlowTypes` options). The most common entry is
512
- * `"--allow-slow-types"`, which JSR requires for packages whose public
513
- * API has types it can't statically infer. `--allow-dirty` is always
514
- * passed by vis (the version is bumped on disk before publish) and need
515
- * not be listed here.
516
- */
517
- jsrPublishArgs?: string[];
518
501
  /** Hard opt-in/out — overrides every other rule. */
519
502
  managed?: boolean;
520
503
  /**
@@ -585,7 +568,7 @@ interface PerPackageReleaseConfig {
585
568
  };
586
569
  /**
587
570
  * Built-in id (`"npm"`, `"native-addon"`, `"private"`, `"shell"`,
588
- * `"cargo"`, `"python"`, `"maven"`, `"container"`, `"jsr"`) or a
571
+ * `"cargo"`, `"python"`, `"maven"`, `"container"`) or a
589
572
  * path to a custom implementation module.
590
573
  */
591
574
  versionActions?: string;
@@ -1 +1 @@
1
- import{t as r}from"../packem_shared/compile-cache-DoMHRsRZ.js";import{p as o}from"../packem_shared/augment-B9kSZuvW.js";import{r as p}from"../packem_chunks/ts-loader.js";r();p();await o(process.cwd());
1
+ import{t as r}from"../packem_shared/compile-cache-DoMHRsRZ.js";import{p as o}from"../packem_shared/augment-CxUPE8KX.js";import{r as p}from"../packem_chunks/ts-loader.js";r();p();await o(process.cwd());