@visulima/vis 4.1.20 → 4.3.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 (197) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE.md +804 -360
  3. package/dist/bin.js +1 -1
  4. package/dist/binx.js +1 -1
  5. package/dist/config/index.d.ts +117 -0
  6. package/dist/packem_chunks/CONFIG_FILES.js +1 -1
  7. package/dist/packem_chunks/bloom-status.js +1 -1
  8. package/dist/packem_chunks/bloom-sync.js +1 -1
  9. package/dist/packem_chunks/cargo-plan.js +3 -0
  10. package/dist/packem_chunks/catalog.js +50 -50
  11. package/dist/packem_chunks/cli-exec.js +1 -1
  12. package/dist/packem_chunks/cli-main.js +146 -142
  13. package/dist/packem_chunks/composer-projects.js +2 -0
  14. package/dist/packem_chunks/dart-plan.js +1 -0
  15. package/dist/packem_chunks/dart-projects.js +1 -0
  16. package/dist/packem_chunks/dispatch.js +1 -1
  17. package/dist/packem_chunks/fix.js +1 -1
  18. package/dist/packem_chunks/gem-plan.js +2 -0
  19. package/dist/packem_chunks/gem-projects.js +1 -0
  20. package/dist/packem_chunks/git.js +5 -5
  21. package/dist/packem_chunks/go-plan.js +1 -0
  22. package/dist/packem_chunks/go-projects.js +2 -0
  23. package/dist/packem_chunks/gradle-plan.js +1 -0
  24. package/dist/packem_chunks/handler.js +1 -1
  25. package/dist/packem_chunks/handler10.js +1 -1
  26. package/dist/packem_chunks/handler11.js +1 -1
  27. package/dist/packem_chunks/handler12.js +1 -1
  28. package/dist/packem_chunks/handler13.js +1 -1
  29. package/dist/packem_chunks/handler14.js +1 -1
  30. package/dist/packem_chunks/handler15.js +1 -1
  31. package/dist/packem_chunks/handler16.js +1 -1
  32. package/dist/packem_chunks/handler17.js +1 -1
  33. package/dist/packem_chunks/handler18.js +1 -1
  34. package/dist/packem_chunks/handler19.js +1 -1
  35. package/dist/packem_chunks/handler2.js +1 -1
  36. package/dist/packem_chunks/handler20.js +2 -2
  37. package/dist/packem_chunks/handler21.js +1 -1
  38. package/dist/packem_chunks/handler22.js +1 -1
  39. package/dist/packem_chunks/handler23.js +1 -1
  40. package/dist/packem_chunks/handler24.js +1 -1
  41. package/dist/packem_chunks/handler26.js +1 -1
  42. package/dist/packem_chunks/handler27.js +1 -1
  43. package/dist/packem_chunks/handler28.js +1 -1
  44. package/dist/packem_chunks/handler29.js +1 -1
  45. package/dist/packem_chunks/handler3.js +2 -2
  46. package/dist/packem_chunks/handler30.js +1 -1
  47. package/dist/packem_chunks/handler39.js +6 -6
  48. package/dist/packem_chunks/handler4.js +3 -3
  49. package/dist/packem_chunks/handler5.js +1 -1
  50. package/dist/packem_chunks/handler50.js +1 -1
  51. package/dist/packem_chunks/handler51.js +1 -1
  52. package/dist/packem_chunks/handler52.js +3 -3
  53. package/dist/packem_chunks/handler53.js +1 -1
  54. package/dist/packem_chunks/handler54.js +2 -2
  55. package/dist/packem_chunks/handler55.js +1 -1
  56. package/dist/packem_chunks/handler58.js +3 -3
  57. package/dist/packem_chunks/handler59.js +1 -1
  58. package/dist/packem_chunks/handler6.js +5 -5
  59. package/dist/packem_chunks/handler60.js +1 -1
  60. package/dist/packem_chunks/handler61.js +1 -1
  61. package/dist/packem_chunks/handler62.js +1 -1
  62. package/dist/packem_chunks/handler63.js +1 -1
  63. package/dist/packem_chunks/handler64.js +1 -1
  64. package/dist/packem_chunks/handler65.js +4 -4
  65. package/dist/packem_chunks/handler66.js +1 -1
  66. package/dist/packem_chunks/handler67.js +10 -10
  67. package/dist/packem_chunks/handler68.js +1 -1
  68. package/dist/packem_chunks/handler69.js +1 -1
  69. package/dist/packem_chunks/handler7.js +1 -1
  70. package/dist/packem_chunks/handler70.js +4 -4
  71. package/dist/packem_chunks/handler71.js +6 -6
  72. package/dist/packem_chunks/handler72.js +1 -1
  73. package/dist/packem_chunks/handler73.js +87 -86
  74. package/dist/packem_chunks/handler74.js +1 -1
  75. package/dist/packem_chunks/handler75.js +31 -31
  76. package/dist/packem_chunks/handler76.js +4 -4
  77. package/dist/packem_chunks/handler77.js +1 -1
  78. package/dist/packem_chunks/handler78.js +64 -64
  79. package/dist/packem_chunks/handler8.js +1 -1
  80. package/dist/packem_chunks/handler9.js +1 -1
  81. package/dist/packem_chunks/heal-accept.js +1 -1
  82. package/dist/packem_chunks/heal.js +1 -1
  83. package/dist/packem_chunks/help-command.js +7 -7
  84. package/dist/packem_chunks/hex-plan.js +3 -0
  85. package/dist/packem_chunks/hex-projects.js +1 -0
  86. package/dist/packem_chunks/index2.js +52 -42
  87. package/dist/packem_chunks/index4.js +58 -802
  88. package/dist/packem_chunks/index5.js +802 -7
  89. package/dist/packem_chunks/index6.js +7 -59
  90. package/dist/packem_chunks/keys-refresh.js +1 -1
  91. package/dist/packem_chunks/lean.js +1 -1
  92. package/dist/packem_chunks/list.js +1 -1
  93. package/dist/packem_chunks/loader.js +1 -1
  94. package/dist/packem_chunks/maven-plan.js +1 -0
  95. package/dist/packem_chunks/maven-projects.js +1 -0
  96. package/dist/packem_chunks/nuget-plan.js +1 -0
  97. package/dist/packem_chunks/nuget-projects.js +1 -0
  98. package/dist/packem_chunks/orchestrator.js +33 -33
  99. package/dist/packem_chunks/prune.js +1 -1
  100. package/dist/packem_chunks/python-plan.js +3 -0
  101. package/dist/packem_chunks/python-projects.js +1 -0
  102. package/dist/packem_chunks/security.js +1 -1
  103. package/dist/packem_chunks/snapshot.js +2 -2
  104. package/dist/packem_chunks/status.js +1 -1
  105. package/dist/packem_chunks/swift-projects.js +1 -0
  106. package/dist/packem_chunks/sync.js +3 -2
  107. package/dist/packem_chunks/sync2.js +1 -1
  108. package/dist/packem_chunks/tripwire.js +1 -1
  109. package/dist/packem_chunks/ts-loader.js +5 -5
  110. package/dist/packem_chunks/verify-lockfile.js +1 -1
  111. package/dist/packem_chunks/version-resolver.js +3 -3
  112. package/dist/packem_chunks/zig-plan.js +1 -0
  113. package/dist/packem_chunks/zig-projects.js +1 -0
  114. package/dist/packem_shared/Table-BB8xHTU5-BLPS917D.js +11 -0
  115. package/dist/packem_shared/affected-selection-BzIbfpA1.js +1 -0
  116. package/dist/packem_shared/{affected-shas-Dd0P7fGD.js → affected-shas-B2V84O0g.js} +1 -1
  117. package/dist/packem_shared/{ai-analysis-DSQQDFU9.js → ai-analysis-Cfj24UAy.js} +1 -1
  118. package/dist/packem_shared/{ai-fix-BHyx1F1j.js → ai-fix-DeRUtT-s.js} +1 -1
  119. package/dist/packem_shared/{augment-COAiXSIx.js → augment-B9kSZuvW.js} +1 -1
  120. package/dist/packem_shared/{bin-Bq3tJmvE.js → bin-D9TsVhq2.js} +1 -1
  121. package/dist/packem_shared/{build-scripts-pdVmqXRm.js → build-scripts-CEDx_nJp.js} +1 -1
  122. package/dist/packem_shared/{command-runtime-CiLVo4ED.js → command-runtime-p4IXiIf6.js} +1 -1
  123. package/dist/packem_shared/composer-DR3D-Psb.js +1 -0
  124. package/dist/packem_shared/dart-pubspec-BK_cK2EP.js +2 -0
  125. package/dist/packem_shared/{dependency-scan-DBH2Qo4I.js → dependency-scan-B8jroa1D.js} +1 -1
  126. package/dist/packem_shared/{docker-Dy-X_BuM.js → docker-DXqV-07f.js} +1 -1
  127. package/dist/packem_shared/ecosystem-gate-1M3wnsTr.js +6 -0
  128. package/dist/packem_shared/{failure-log-3R522Vb5.js → failure-log-D2x5BT8S.js} +1 -1
  129. package/dist/packem_shared/{formatBytes-BHAzNIrn-XohRrPdt.js → formatBytes-BHAzNIrn-CrusHOew.js} +1 -1
  130. package/dist/packem_shared/gemspec-K7N05xxc.js +3 -0
  131. package/dist/packem_shared/glob-Cyk1H9ZL-Dxlf9Swz.js +1 -0
  132. package/dist/packem_shared/go-modules-BsVqtyeC.js +1 -0
  133. package/dist/packem_shared/gradle-build-CHZDHyjI.js +8 -0
  134. package/dist/packem_shared/index-BO8qIogg.js +1 -0
  135. package/dist/packem_shared/index-BzhrR_iC.js +22 -0
  136. package/dist/packem_shared/{index-Vm90Te96.js → index-CNYv9D8g.js} +1 -1
  137. package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-CSnBISfV.js → isAccessibleSync-DYKTrrvc-C-_5cgwu.js} +1 -1
  138. package/dist/packem_shared/{lifecycle-CAIJbxIa.js → lifecycle-D6PMPor-.js} +1 -1
  139. package/dist/packem_shared/{lockfile-DVFySxTS.js → lockfile-CiUtEbnt.js} +1 -1
  140. package/dist/packem_shared/{manifests-BNSmpPF_.js → manifests-Du4yKlf_.js} +1 -1
  141. package/dist/packem_shared/maven-pom-B0KG9kJQ.js +1 -0
  142. package/dist/packem_shared/{min-release-age-ChzTC7_I.js → min-release-age-JViyQuBM.js} +1 -1
  143. package/dist/packem_shared/missing-package-json-DnHMxRnG.js +1 -0
  144. package/dist/packem_shared/mix-project-RYvdZp3_.js +2 -0
  145. package/dist/packem_shared/multi-eco-lockfiles-CUUxUjHK.js +1 -0
  146. package/dist/packem_shared/{native-config-sync-BSzU4qUO.js → native-config-sync-TdTWjVgI.js} +2 -2
  147. package/dist/packem_shared/nuget-project-RApYSW_y.js +4 -0
  148. package/dist/packem_shared/{osv-bloom-JYIWcH3F.js → osv-bloom-BCAX5ARR.js} +1 -1
  149. package/dist/packem_shared/package-version-DUcG-b7S.js +4 -0
  150. package/dist/packem_shared/{packument-DyuhH1Gz.js → packument-CyGSNquL.js} +1 -1
  151. package/dist/packem_shared/{pm-runner-d93_73O6.js → pm-runner-CMSml1Bj.js} +1 -1
  152. package/dist/packem_shared/{project-name-filter-CC5FF49q.js → project-name-filter--bq-FL2f.js} +1 -1
  153. package/dist/packem_shared/{provenance-BH80RHXx.js → provenance-DyF0b6KX.js} +1 -1
  154. package/dist/packem_shared/{readJsonSync-CbryXYxN-B2aSeDpC.js → readJsonSync-CbryXYxN-EWl7_7KX.js} +1 -1
  155. package/dist/packem_shared/{registry-keys-BWHRFWbb.js → registry-keys-DwB3ZXS_.js} +1 -1
  156. package/dist/packem_shared/{resolve-explicit-DuJ3mbzt.js → resolve-explicit-BjCEm0s-.js} +1 -1
  157. package/dist/packem_shared/resolve-runtime-CNiHcVtx.js +1 -0
  158. package/dist/packem_shared/{run-file-jMngGQhs.js → run-file-UBukWaha.js} +1 -1
  159. package/dist/packem_shared/{runtime-check-BklgEMkC.js → runtime-check-1U8HrQd9.js} +1 -1
  160. package/dist/packem_shared/{s1ngularity-BJ5j2vbJ.js → s1ngularity-YfmkD_AH.js} +1 -1
  161. package/dist/packem_shared/scan-progress-C_zaZjyY.js +2 -0
  162. package/dist/packem_shared/{selectors-B7lSFz7l.js → selectors-edwcgNl3.js} +1 -1
  163. package/dist/packem_shared/{signatures-BP042BlB.js → signatures-CL3ckp_Y.js} +1 -1
  164. package/dist/packem_shared/{spinner-BM_0Bj6x.js → spinner-DuB0K0Am.js} +1 -1
  165. package/dist/packem_shared/swift-package-B6X5kzQE.js +1 -0
  166. package/dist/packem_shared/{tabs-UDYQ3tqt.js → tabs-RZd_e1M0.js} +1 -1
  167. package/dist/packem_shared/{target-merge-B4No-LHM.js → target-merge-DVJl-7Qz.js} +1 -1
  168. package/dist/packem_shared/{target-options-d_rIrLyq.js → target-options-DsHFmRZH.js} +1 -1
  169. package/dist/packem_shared/{toolchain-DY11tPCw.js → toolchain-BRdpaAC4.js} +1 -1
  170. package/dist/packem_shared/{typosquats-CSkIFgF5.js → typosquats-8u0drCqQ.js} +1 -1
  171. package/dist/packem_shared/{use-measured-height-BPQg2q_p.js → use-measured-height-DWkDV9Dj.js} +1 -1
  172. package/dist/packem_shared/verify-B_MblU_Q.js +1 -0
  173. package/dist/packem_shared/{vis-update-app-CR21zyht.js → vis-update-app-D73C__fx.js} +1 -1
  174. package/dist/packem_shared/{vis-user-error-qqqhLoF6.js → vis-user-error-Cpg2FqA4.js} +15 -15
  175. package/dist/packem_shared/{watch-Dswvj6Zp.js → watch-CcTketln.js} +1 -1
  176. package/dist/packem_shared/{watch-loop-COWvvSbR.js → watch-loop-qRn0IHPG.js} +1 -1
  177. package/dist/packem_shared/{writeFileSync-DJoHk3Ks-CgQ-VNNT.js → writeFileSync-DJoHk3Ks-BPRoepNw.js} +1 -1
  178. package/dist/packem_shared/zig-manifest-P7ydLEOa.js +7 -0
  179. package/dist/release/plugin-sdk.d.ts +1 -1
  180. package/dist/release/types.d.ts +133 -7
  181. package/dist/runtime/preload.js +1 -1
  182. package/index.js +52 -52
  183. package/package.json +12 -12
  184. package/schemas/vis-config.schema.json +279 -5
  185. package/schemas/vis-release-config.schema.json +132 -5
  186. package/dist/packem_shared/Table-kgZ-Cd21-DdNsp69H.js +0 -9
  187. package/dist/packem_shared/advisories-0ScpWAHV.js +0 -1
  188. package/dist/packem_shared/affected-selection-Bt4qkPUb.js +0 -1
  189. package/dist/packem_shared/cyclonedx-CX2fFvDi.js +0 -4
  190. package/dist/packem_shared/glob-Cyk1H9ZL-ox19CSsT.js +0 -1
  191. package/dist/packem_shared/index-Czrll7SU.js +0 -1
  192. package/dist/packem_shared/index-DHD8wb6Z.js +0 -22
  193. package/dist/packem_shared/missing-package-json-C0keIt78.js +0 -1
  194. package/dist/packem_shared/package-version-DFlytdgJ.js +0 -4
  195. package/dist/packem_shared/resolve-runtime-C7NBCA1C.js +0 -1
  196. package/dist/packem_shared/scan-progress-DRIGQRMr.js +0 -2
  197. package/dist/packem_shared/verify-D8wYvB85.js +0 -1
@@ -1 +1 @@
1
- import{createRequire as b}from"node:module";import{U as v,m as j,a as R}from"./index-DHD8wb6Z.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,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,4 +1,4 @@
1
- import{createRequire as K}from"node:module";import{e as h,z as H,v as S,U as Y,m as Q}from"./index-DHD8wb6Z.js";import{T as w}from"../packem_chunks/catalog.js";import{y as C}from"./isAccessibleSync-DYKTrrvc-CSnBISfV.js";import{p as ee}from"./readJsonSync-CbryXYxN-B2aSeDpC.js";import{h as le}from"./writeFileSync-DJoHk3Ks-CgQ-VNNT.js";import{s as ue}from"./watch-Dswvj6Zp.js";let z;const G=e=>(z??=K(import.meta.url))(e),x=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,A=e=>{if(typeof x<"u"&&x.versions&&x.versions.node){const[t,n]=x.versions.node.split(".").map(Number);if(t>22||t===22&&n>=3||t===20&&n>=16)return x.getBuiltinModule(e)}return G(e)},{createHash:g}=A("node:crypto"),{fileURLToPath:X,pathToFileURL:Z}=A("node:url"),{spawnSync:te,spawn:ne}=A("node:child_process"),{openSync:se,writeSync:re,closeSync:oe,statSync:ie,readFileSync:P,mkdirSync:ce,writeFileSync:ae}=A("node:fs"),{availableParallelism:k}=A("node:os"),D=(e,t)=>{for(const n of["dependencies","devDependencies","optionalDependencies","peerDependencies"]){const s=e[n];if(s&&typeof s[t]=="string")return s[t]}},F=(e,t)=>{for(const n of t){const s=h(e,n);if(C(s))return s}},de=e=>{const t=h(e,"package.json");if(!C(t))return{};try{return ee(t)}catch{return{}}},rt=(e,t)=>{const n=de(e),s=new Map;for(const o of t){const r=o.detect(e,n);r&&s.set(o.id,r)}return s},fe={error:"error",info:"info",information:"info",warning:"warning"},ot={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 g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:(e,t)=>{const n=D(t,w.biome.packageNames[0]),s=F(e,w.biome.configFiles);if(!(!n&&!s))return{adapter:"biome",configFile:s,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 s=[];for(const o of n.diagnostics??[]){const r=o.location?.start,i=o.location?.end,c=pe(t.root,o.location?.path),u=o.category??"",a=u==="format"||u.startsWith("format/");s.push({adapter:"biome",column:r?.column&&r.column>0?r.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:r?.line&&r.line>0?r.line:void 0,message:a?"Code style issues would be auto-fixed":o.message??"",ruleId:u||void 0,severity:fe[o.severity??""]??"warning"})}return s}},I=(e,t,n)=>{const s=["check","--reporter=json"];return n&&s.push("--write"),typeof t.maxWarnings=="number"&&s.push(`--max-diagnostics=${String(t.maxWarnings)}`),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},pe=(e,t)=>{const n=typeof t=="string"?t:t?.file;return n?n.startsWith("/")||/^[a-z]:[\\/]/i.test(n)?n:h(e,n):e},N=e=>t=>{const n=F(t,w.deno.configFiles);if(n)return{adapter:e,configFile:n,declared:!1,root:t}},O=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),it={argsCheck:(e,t)=>b(e,t,!1),argsFix:(e,t)=>b(e,t,!0),bin:()=>["deno","lint"],cacheKey:(e,t)=>{const n=["deno-lint",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:N("deno-lint"),extensions:["js","jsx","mjs","mts","ts","tsx"],id:"deno-lint",kind:"lint",parse:(e,t)=>{if(!e.stdout.trim())return[];let n;try{n=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 s=[];for(const o of n.diagnostics??[]){const r=o.range?.start,i=o.range?.end;s.push({adapter:"deno-lint",column:r?.col===void 0?void 0:r.col+1,endColumn:i?.col===void 0?void 0:i.col+1,endLine:i?.line===void 0?void 0:i.line+1,file:he(o.filename??t.root,t.root),fixable:!1,line:r?.line===void 0?void 0:r.line+1,message:o.message??"",ruleId:o.code,severity:"warning"})}return s}},ct={argsCheck:(e,t)=>R(e,t,!1),argsFix:(e,t)=>R(e,t,!0),bin:()=>["deno","fmt"],cacheKey:(e,t)=>{const n=["deno-fmt",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:N("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:(e,t)=>{if(e.exitCode===0)return[];const n=[],s=new Set;for(const o of e.stdout.split(/\r?\n/)){const r=/^from (.+):$/.exec(o);if(!r)continue;const i=r[1];s.has(i)||(s.add(i),n.push({adapter:"deno-fmt",file:O(i)?i:`${t.root}/${i}`,fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return n}},b=(e,t,n)=>{const s=["--json"];return n&&s.push("--fix"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},R=(e,t,n)=>{const s=[];return n||s.push("--check"),t.quiet&&s.push("--quiet"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},he=(e,t)=>e.startsWith("file://")?X(e):O(e)?e:`${t}/${e}`,W="pyproject.toml",me=/^\[tool\.ruff(?:\.[\w-]+)*\]\s*$/m,ge=/^Would reformat:?\s+(.+)$/,ye=e=>{const t=h(e,W);if(!C(t))return!1;try{const n=H(t);return me.test(n)}catch{return!1}},B=e=>(t,n)=>{const s=w.ruff.packageNames.map(c=>D(n,c)).find(c=>c!==void 0),o=F(t,w.ruff.configFiles),r=o?void 0:ye(t)?h(t,W):void 0,i=o??r;if(!(!s&&!i))return{adapter:e,configFile:i,declared:!!s,declaredVersion:s,root:t}},xe=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),J=(e,t)=>e?xe(e)?e:h(t,e):t,ve=e=>ge.exec(e)?.[1]?.trim(),at={argsCheck:(e,t)=>T(e,t,!1),argsFix:(e,t)=>T(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 g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:B("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 s=[];for(const o of n){const r=o.location,i=o.end_location;s.push({adapter:"ruff-check",column:r?.column,endColumn:i?.column,endLine:i?.row,file:J(o.filename,t.root),fixable:!!o.fix,line:r?.row,message:o.message??"",ruleId:o.code,severity:"warning"})}return s}},lt={argsCheck:(e,t)=>L(e,t,!1),argsFix:(e,t)=>L(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 g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:B("ruff-fmt"),extensions:["py","pyi"],id:"ruff-fmt",kind:"fmt",parse:(e,t)=>{if(e.exitCode===0)return[];const n=[],s=new Set;for(const o of e.stdout.split(/\r?\n/)){const r=ve(o);!r||s.has(r)||(s.add(r),n.push({adapter:"ruff-fmt",file:J(r,t.root),fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return n}},T=(e,t,n)=>{const s=["--output-format=json"];return n&&s.push("--fix"),t.quiet&&s.push("--quiet"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},L=(e,t,n)=>{const s=[];return n||s.push("--check"),t.quiet&&s.push("--quiet"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},ut=(e,t)=>{const n=v(e,["diff","--name-only","--diff-filter=ACMR","-z",`${t}...HEAD`]);if(n===void 0)return;const s=v(e,["diff","--name-only","--diff-filter=ACMR","-z"]),o=v(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]),r=v(e,["ls-files","--others","--exclude-standard","-z"]),i=new Set;for(const c of[n,s??"",o??"",r??""])for(const u of c.split("\0"))u.length!==0&&i.add(S(u)?u:h(e,u));return[...i].sort()},dt=e=>{const t=v(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]);if(t===void 0)return;const n=new Set;for(const s of t.split("\0"))s.length!==0&&n.add(S(s)?s:h(e,s));return[...n].sort()},v=(e,t)=>{const n=te("git",[...t],{cwd:e,encoding:"utf8",timeout:1e4});if(n.status===0)return n.stdout},ft=(e,t)=>{const n=new Set(t.map(r=>r.toLowerCase())),s=[],o=new Set;for(const r of e){const i=r.lastIndexOf(".");if(i===-1||i===r.length-1)continue;const c=r.slice(i+1).toLowerCase();n.has(c)&&(o.has(r)||(o.add(r),s.push(r)))}return s},we=new Set(["-","stdout"]),_=e=>({close:()=>{},write:t=>{e.write(t)}}),Ae=e=>{le(Q(e));const t=se(e,"w");let n=[];return{close:()=>{n.length>0&&(re(t,n.join("")),n=[]),oe(t)},write:s=>{n.push(s)}}},pt=e=>{const{cwd:t,target:n}=e;if(n===void 0||we.has(n))return _(process.stdout);if(n==="stderr")return _(process.stderr);const s=S(n)?n:Y(t,n);return Ae(s)},j=["oxlint","oxfmt","biome","eslint","dprint","prettier","stylelint","ruff-check","ruff-fmt","markdownlint","shellcheck","deno-lint","deno-fmt"],ht=(e,t)=>{const n=new Map(e.map(i=>[i.id,i])),s=[],o=new Set,r=t&&t.length>0?t:j;for(const i of r){const c=n.get(i);c&&!o.has(i)&&(s.push(c),o.add(i))}if(t&&t.length>0)for(const i of j){const c=n.get(i);c&&!o.has(i)&&(s.push(c),o.add(i))}for(const i of e)o.has(i.id)||(s.push(i),o.add(i.id));return s},mt=(e,t,n)=>{const s=[];for(const o of t){const r=e.get(o.id);r&&Se(o.kind,n)&&s.push({adapter:o,presence:r})}return s},Se=(e,t)=>e===t||e==="both",gt=(e,t,n={})=>{const s=new Map;for(const o of e){const r=$e(o),i=Ce(r,t,n);if(!i)continue;const c=s.get(i);c?c.push(o):s.set(i,[o])}return s},$e=e=>{const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()},Ce=(e,t,n)=>{const s=n[e];if(s&&t.some(o=>o.adapter.id===s))return s;for(const{adapter:o}of t)if(o.extensions.includes(e))return o.id},Fe=e=>e==="error"?"error":e==="warning"?"warning":"notice",V=e=>e.replaceAll("%","%25").replaceAll("\r","%0D").replaceAll(`
1
+ import{createRequire as K}from"node:module";import{e as h,z as H,v as S,U as Y,m as Q}from"./index-BzhrR_iC.js";import{T as w}from"../packem_chunks/catalog.js";import{y as C}from"./isAccessibleSync-DYKTrrvc-C-_5cgwu.js";import{p as ee}from"./readJsonSync-CbryXYxN-EWl7_7KX.js";import{h as le}from"./writeFileSync-DJoHk3Ks-BPRoepNw.js";import{s as ue}from"./watch-CcTketln.js";let z;const G=e=>(z??=K(import.meta.url))(e),x=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,A=e=>{if(typeof x<"u"&&x.versions&&x.versions.node){const[t,n]=x.versions.node.split(".").map(Number);if(t>22||t===22&&n>=3||t===20&&n>=16)return x.getBuiltinModule(e)}return G(e)},{createHash:g}=A("node:crypto"),{fileURLToPath:X,pathToFileURL:Z}=A("node:url"),{spawnSync:te,spawn:ne}=A("node:child_process"),{openSync:se,writeSync:re,closeSync:oe,statSync:ie,readFileSync:P,mkdirSync:ce,writeFileSync:ae}=A("node:fs"),{availableParallelism:k}=A("node:os"),D=(e,t)=>{for(const n of["dependencies","devDependencies","optionalDependencies","peerDependencies"]){const s=e[n];if(s&&typeof s[t]=="string")return s[t]}},F=(e,t)=>{for(const n of t){const s=h(e,n);if(C(s))return s}},de=e=>{const t=h(e,"package.json");if(!C(t))return{};try{return ee(t)}catch{return{}}},rt=(e,t)=>{const n=de(e),s=new Map;for(const o of t){const r=o.detect(e,n);r&&s.set(o.id,r)}return s},fe={error:"error",info:"info",information:"info",warning:"warning"},ot={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 g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:(e,t)=>{const n=D(t,w.biome.packageNames[0]),s=F(e,w.biome.configFiles);if(!(!n&&!s))return{adapter:"biome",configFile:s,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 s=[];for(const o of n.diagnostics??[]){const r=o.location?.start,i=o.location?.end,c=pe(t.root,o.location?.path),u=o.category??"",a=u==="format"||u.startsWith("format/");s.push({adapter:"biome",column:r?.column&&r.column>0?r.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:r?.line&&r.line>0?r.line:void 0,message:a?"Code style issues would be auto-fixed":o.message??"",ruleId:u||void 0,severity:fe[o.severity??""]??"warning"})}return s}},I=(e,t,n)=>{const s=["check","--reporter=json"];return n&&s.push("--write"),typeof t.maxWarnings=="number"&&s.push(`--max-diagnostics=${String(t.maxWarnings)}`),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},pe=(e,t)=>{const n=typeof t=="string"?t:t?.file;return n?n.startsWith("/")||/^[a-z]:[\\/]/i.test(n)?n:h(e,n):e},N=e=>t=>{const n=F(t,w.deno.configFiles);if(n)return{adapter:e,configFile:n,declared:!1,root:t}},O=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),it={argsCheck:(e,t)=>b(e,t,!1),argsFix:(e,t)=>b(e,t,!0),bin:()=>["deno","lint"],cacheKey:(e,t)=>{const n=["deno-lint",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:N("deno-lint"),extensions:["js","jsx","mjs","mts","ts","tsx"],id:"deno-lint",kind:"lint",parse:(e,t)=>{if(!e.stdout.trim())return[];let n;try{n=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 s=[];for(const o of n.diagnostics??[]){const r=o.range?.start,i=o.range?.end;s.push({adapter:"deno-lint",column:r?.col===void 0?void 0:r.col+1,endColumn:i?.col===void 0?void 0:i.col+1,endLine:i?.line===void 0?void 0:i.line+1,file:he(o.filename??t.root,t.root),fixable:!1,line:r?.line===void 0?void 0:r.line+1,message:o.message??"",ruleId:o.code,severity:"warning"})}return s}},ct={argsCheck:(e,t)=>R(e,t,!1),argsFix:(e,t)=>R(e,t,!0),bin:()=>["deno","fmt"],cacheKey:(e,t)=>{const n=["deno-fmt",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:N("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:(e,t)=>{if(e.exitCode===0)return[];const n=[],s=new Set;for(const o of e.stdout.split(/\r?\n/)){const r=/^from (.+):$/.exec(o);if(!r)continue;const i=r[1];s.has(i)||(s.add(i),n.push({adapter:"deno-fmt",file:O(i)?i:`${t.root}/${i}`,fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return n}},b=(e,t,n)=>{const s=["--json"];return n&&s.push("--fix"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},R=(e,t,n)=>{const s=[];return n||s.push("--check"),t.quiet&&s.push("--quiet"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},he=(e,t)=>e.startsWith("file://")?X(e):O(e)?e:`${t}/${e}`,W="pyproject.toml",me=/^\[tool\.ruff(?:\.[\w-]+)*\]\s*$/m,ge=/^Would reformat:?\s+(.+)$/,ye=e=>{const t=h(e,W);if(!C(t))return!1;try{const n=H(t);return me.test(n)}catch{return!1}},B=e=>(t,n)=>{const s=w.ruff.packageNames.map(c=>D(n,c)).find(c=>c!==void 0),o=F(t,w.ruff.configFiles),r=o?void 0:ye(t)?h(t,W):void 0,i=o??r;if(!(!s&&!i))return{adapter:e,configFile:i,declared:!!s,declaredVersion:s,root:t}},xe=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),J=(e,t)=>e?xe(e)?e:h(t,e):t,ve=e=>ge.exec(e)?.[1]?.trim(),at={argsCheck:(e,t)=>T(e,t,!1),argsFix:(e,t)=>T(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 g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:B("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 s=[];for(const o of n){const r=o.location,i=o.end_location;s.push({adapter:"ruff-check",column:r?.column,endColumn:i?.column,endLine:i?.row,file:J(o.filename,t.root),fixable:!!o.fix,line:r?.row,message:o.message??"",ruleId:o.code,severity:"warning"})}return s}},lt={argsCheck:(e,t)=>L(e,t,!1),argsFix:(e,t)=>L(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 g("sha256").update(n.join("|")).digest("hex").slice(0,16)},detect:B("ruff-fmt"),extensions:["py","pyi"],id:"ruff-fmt",kind:"fmt",parse:(e,t)=>{if(e.exitCode===0)return[];const n=[],s=new Set;for(const o of e.stdout.split(/\r?\n/)){const r=ve(o);!r||s.has(r)||(s.add(r),n.push({adapter:"ruff-fmt",file:J(r,t.root),fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return n}},T=(e,t,n)=>{const s=["--output-format=json"];return n&&s.push("--fix"),t.quiet&&s.push("--quiet"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},L=(e,t,n)=>{const s=[];return n||s.push("--check"),t.quiet&&s.push("--quiet"),t.extraArgs?.length&&s.push(...t.extraArgs),s.push(...e),s},ut=(e,t)=>{const n=v(e,["diff","--name-only","--diff-filter=ACMR","-z",`${t}...HEAD`]);if(n===void 0)return;const s=v(e,["diff","--name-only","--diff-filter=ACMR","-z"]),o=v(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]),r=v(e,["ls-files","--others","--exclude-standard","-z"]),i=new Set;for(const c of[n,s??"",o??"",r??""])for(const u of c.split("\0"))u.length!==0&&i.add(S(u)?u:h(e,u));return[...i].sort()},dt=e=>{const t=v(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]);if(t===void 0)return;const n=new Set;for(const s of t.split("\0"))s.length!==0&&n.add(S(s)?s:h(e,s));return[...n].sort()},v=(e,t)=>{const n=te("git",[...t],{cwd:e,encoding:"utf8",timeout:1e4});if(n.status===0)return n.stdout},ft=(e,t)=>{const n=new Set(t.map(r=>r.toLowerCase())),s=[],o=new Set;for(const r of e){const i=r.lastIndexOf(".");if(i===-1||i===r.length-1)continue;const c=r.slice(i+1).toLowerCase();n.has(c)&&(o.has(r)||(o.add(r),s.push(r)))}return s},we=new Set(["-","stdout"]),_=e=>({close:()=>{},write:t=>{e.write(t)}}),Ae=e=>{le(Q(e));const t=se(e,"w");let n=[];return{close:()=>{n.length>0&&(re(t,n.join("")),n=[]),oe(t)},write:s=>{n.push(s)}}},pt=e=>{const{cwd:t,target:n}=e;if(n===void 0||we.has(n))return _(process.stdout);if(n==="stderr")return _(process.stderr);const s=S(n)?n:Y(t,n);return Ae(s)},j=["oxlint","oxfmt","biome","eslint","dprint","prettier","stylelint","ruff-check","ruff-fmt","markdownlint","shellcheck","deno-lint","deno-fmt"],ht=(e,t)=>{const n=new Map(e.map(i=>[i.id,i])),s=[],o=new Set,r=t&&t.length>0?t:j;for(const i of r){const c=n.get(i);c&&!o.has(i)&&(s.push(c),o.add(i))}if(t&&t.length>0)for(const i of j){const c=n.get(i);c&&!o.has(i)&&(s.push(c),o.add(i))}for(const i of e)o.has(i.id)||(s.push(i),o.add(i.id));return s},mt=(e,t,n)=>{const s=[];for(const o of t){const r=e.get(o.id);r&&Se(o.kind,n)&&s.push({adapter:o,presence:r})}return s},Se=(e,t)=>e===t||e==="both",gt=(e,t,n={})=>{const s=new Map;for(const o of e){const r=$e(o),i=Ce(r,t,n);if(!i)continue;const c=s.get(i);c?c.push(o):s.set(i,[o])}return s},$e=e=>{const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()},Ce=(e,t,n)=>{const s=n[e];if(s&&t.some(o=>o.adapter.id===s))return s;for(const{adapter:o}of t)if(o.extensions.includes(e))return o.id},Fe=e=>e==="error"?"error":e==="warning"?"warning":"notice",V=e=>e.replaceAll("%","%25").replaceAll("\r","%0D").replaceAll(`
2
2
  `,"%0A"),M=e=>V(e).replaceAll(",","%2C").replaceAll(":","%3A").replaceAll("=","%3D"),ke=(e,t)=>t&&e.startsWith(`${t}/`)?e.slice(t.length+1):e,Ie=(e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),be=(e,t)=>{const n=Fe(e.severity),s=ke(e.file,t),o=e.ruleId?`${e.adapter}(${e.ruleId})`:e.adapter,r=[`file=${M(s)}`];return e.line!==void 0&&r.push(`line=${String(e.line)}`),e.endLine!==void 0&&r.push(`endLine=${String(e.endLine)}`),e.column!==void 0&&r.push(`col=${String(e.column)}`),e.endColumn!==void 0&&r.push(`endColumn=${String(e.endColumn)}`),r.push(`title=${M(o)}`),`::${n} ${r.join(",")}::${V(e.message)}
3
3
  `},yt=e=>e.runs.flatMap(n=>[...n.findings]).sort(Ie).map(n=>be(n,e.workspaceRoot)).join(""),y=e=>e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&apos;"),Re=e=>`<![CDATA[${e.replaceAll("]]>","]]]]><![CDATA[>")}]]>`,Te=(e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),Le=e=>e==="error"?"error":e==="warning"?"warning":"info",_e=(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)}`},je=(e,t,n)=>{const s=_e(e,n),o=Le(e.severity),r=e.ruleId?`[${e.ruleId}] ${e.message}`:e.message;return[` <testcase classname="${y(t)}" name="${y(s)}">`,` <failure type="${y(o)}" message="${y(r)}">${Re(e.message)}</failure>`," </testcase>",""].join(`
4
4
  `)},Me=(e,t,n)=>{const s=[...e.findings].sort(Te),o=s.filter(d=>d.severity==="error").length,r=s.filter(d=>d.severity==="warning").length,i=s.length,c=(e.durationMs/1e3).toFixed(3),u=s.map(d=>je(d,e.adapter,n)).join("");return` <testsuite ${[`name="${y(e.adapter)}"`,`tests="${String(i)}"`,`failures="${String(o)}"`,'errors="0"',`skipped="${String(r)}"`,`time="${c}"`,`timestamp="${t}"`].join(" ")}>
@@ -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-DHD8wb6Z.js";import{y}from"./isAccessibleSync-DYKTrrvc-CSnBISfV.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,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};
@@ -0,0 +1,7 @@
1
+ import{createRequire as R}from"node:module";let q;const B=n=>(q??=R(import.meta.url))(n),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,D=n=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[i,e]=y.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return y.getBuiltinModule(n)}return B(n)},{existsSync:L,readFileSync:O}=D("node:fs"),{join:A,resolve:W,relative:H,sep:P,isAbsolute:V}=D("node:path");class g extends Error{constructor(i,e){super(e),this.file=i,this.name="ZigManifestError"}file}const C=/[A-Z_]\w*/iy,z=/^[A-Z_]/i,G=/[\w.+\-@]+/y,F=(n,i)=>{let e=0;const r=(t,s=e)=>{const o=n.slice(0,s).split(`
2
+ `).length;throw new g(i,`${i} line ${o}: ${t}`)},f=t=>n.slice(0,t).split(`
3
+ `).length,a=()=>{for(;;){const t=n[e];if(t===" "||t===" "||t==="\r"||t===`
4
+ `)e+=1;else if(t==="/"&&n[e+1]==="/"){const s=n.indexOf(`
5
+ `,e);e=s===-1?n.length:s}else return}},p=t=>{t.lastIndex=e;const s=t.exec(n);if(s!==null)return e=t.lastIndex,s[0]},c=()=>n[e]==="@"&&n[e+1]==='"'?(e+=1,m().value):p(C)??r("expected a field or enum name"),m=()=>{const t=e,s=f(e);n[e]!=='"'&&r("expected a string literal"),e+=1;let o="";for(;;){const l=n[e];if((l===void 0||l===`
6
+ `)&&r("unterminated string literal",t),l==='"')return e+=1,{end:e,kind:"string",line:s,start:t,value:o};if(l==="\\"){const d=n[e+1],k=d===void 0?void 0:{'"':'"',"'":"'","\\":"\\",n:`
7
+ `,r:"\r",t:" "}[d];k===void 0&&r(`unsupported escape \\${d??""}; vis reads only plain string literals`),o+=k,e+=2}else o+=l,e+=1}},$=()=>{a(),n[e]!==","&&n[e]!=="}"&&r('expected "," or "}" after a value; vis reads only plain literals, not expressions')},S=()=>{const t=f(e);e+=2;const s=[],o=[];for(;;){if(a(),e>=n.length&&r("unterminated struct literal",0),n[e]==="}")return e+=1,{fields:s,items:o,kind:"struct",line:t};if(n[e]===","){e+=1;continue}const l=e;if(n[e]==="."&&(z.test(n.charAt(e+1))||n[e+1]==="@")){e+=1;const d=c();if(a(),n[e]==="="){e+=1,s.push({line:f(l),name:d,value:v()}),$();continue}e=l}o.push(v()),$()}},v=()=>{a();const t=n[e],s=f(e);return t==='"'?m():t==="\\"?r('multiline string literals are not supported; vis reads only a plain "…" literal'):t==="."&&n[e+1]==="{"?S():t==="."&&(z.test(n.charAt(e+1))||n[e+1]==="@")?(e+=1,{kind:"enum",line:s,name:c()}):p(G)===void 0?r("expected a value"):{kind:"other",line:s}};a(),(n[e]!=="."||n[e+1]!=="{")&&r('a build.zig.zon manifest is a struct literal starting with ".{"');const T=v();a(),e<n.length&&r("unexpected text after the manifest struct"),T.kind!=="struct"&&r("a build.zig.zon manifest is a struct literal");const N=t=>T.kind==="struct"?T.fields.filter(s=>s.name===t):[],b=t=>{const s=N(t);return s.length>1&&r(`declares .${t} ${String(s.length)} times (lines ${s.map(o=>String(o.line)).join(", ")})`,0),s[0]},u=b("name");let j;if(u!==void 0)if(u.value.kind==="enum")j={line:u.line,value:u.value.name};else if(u.value.kind==="string")j={line:u.line,value:u.value.value};else throw new g(i,`${i} sets .name on line ${String(u.line)} to something other than a literal. vis reads an enum literal (.name = .foo) or a string.`);const h=b("version");let M;if(h!==void 0){if(h.value.kind!=="string")throw new g(i,`${i} sets .version on line ${String(h.line)} to something other than a string literal. vis reads only a plain "…" version.`);M={end:h.value.end,line:h.line,start:h.value.start,value:h.value.value}}const Z=[],I=[],_=b("dependencies");if(_!==void 0){if(_.value.kind!=="struct")throw new g(i,`${i} sets .dependencies on line ${String(_.line)} to something other than a struct.`);for(const t of _.value.fields){if(t.value.kind!=="struct")throw new g(i,`${i} line ${String(t.line)}: dependency .${t.name} is not a struct.`);const s=l=>{const d=t.value.kind==="struct"?t.value.fields.filter(k=>k.name===l):[];if(d.length===0)return;const x=d[0];if(x?.value.kind!=="string")throw new g(i,`${i} line ${String(x?.line??t.line)}: dependency .${t.name} sets .${l} to something other than a string literal.`);return x.value.value},o=s("path");o!==void 0&&Z.push(o),I.push({hash:s("hash"),line:t.line,name:t.name,path:o,url:s("url")})}}return{dependencies:I,name:j,pathDependencies:Z,version:M}},E="build.zig.zon",J=(n,i)=>{const e=H(n,i);return e===""||e!==".."&&!e.startsWith(`..${P}`)&&!V(e)},U=(n,i,e)=>{const r=[],f=new Set,a=p=>{const c=A(p,E);if(f.has(c))return;f.add(c);const m=e(c);if(m===void 0)return;const $=F(m,c);r.push({dir:p,manifest:$,path:c});for(const S of $.pathDependencies){const v=W(p,S);J(i,v)&&a(v)}};return a(n),r},K=n=>L(n)?O(n,"utf8"):void 0,X=n=>{try{return F(K(A(n,E))??"",A(n,E)).name?.value}catch{return}};export{g as Z,X as a,F as p,K as r,U as w};
@@ -5,7 +5,7 @@ export { A as AfterAllProjectsVersioned, type a as AfterAllVersionedContext, typ
5
5
  export type { e as PublishResult } from "../packem_shared/interface.d-CRqRz4jt.js";
6
6
  export {
7
7
  /**
8
- * Author a lifecycle plugin (tegami parity). Unlike the single-purpose
8
+ * Author a lifecycle plugin. Unlike the single-purpose
9
9
  * `define*` helpers above, a plugin hooks arbitrary points of the release
10
10
  * lifecycle — `applyDraft`, `willPublish`, `afterPublish`, `afterPublishAll`.
11
11
  *
@@ -11,7 +11,7 @@ type BumpLevel = "major" | "minor" | "patch" | "none";
11
11
  declare const BUMP_LEVELS: ReadonlyArray<BumpLevel>;
12
12
  /**
13
13
  * Numeric ranking used to compare two bump levels.
14
- * `major` &gt; `minor` &gt; `patch` &gt; `none`.
14
+ * `major` > `minor` > `patch` > `none`.
15
15
  */
16
16
  declare const bumpRank: (level: BumpLevel) => number;
17
17
  /** Take the maximum of two bump levels. */
@@ -21,7 +21,7 @@ interface ChangeFileSimple {
21
21
  bumps: Record<string, BumpLevel>;
22
22
  }
23
23
  /**
24
- * A replay trigger (tegami parity). A change file carrying `replay` conditions
24
+ * A replay trigger. A change file carrying `replay` conditions
25
25
  * is NOT consumed on `version`; instead its body is re-emitted into a package's
26
26
  * changelog when a milestone is reached:
27
27
  * - `{ kind: "version" }` — the package reaches an exact version (`name@1.2.0`)
@@ -85,6 +85,13 @@ interface ChangeFile {
85
85
  interface WorkspacePackage {
86
86
  /** Absolute directory containing the package. */
87
87
  dir: string;
88
+ /**
89
+ * Which ecosystem owns the manifest. JS packages (`package.json`) leave it
90
+ * `undefined`; a non-JS package sets it to its ecosystem id. Cargo crates
91
+ * discovered from `Cargo.toml` (opt-in) set `"cargo"`; their `manifest` is
92
+ * synthetic and must never be serialized into `manifestPath`.
93
+ */
94
+ ecosystem?: "cargo" | "composer" | "dart" | "gem" | "go" | "gradle" | "hex" | "maven" | "nuget" | "python" | "swift" | "zig";
88
95
  /** Raw `package.json` contents. */
89
96
  manifest: PackageManifest;
90
97
  /** Path to `package.json`. */
@@ -190,7 +197,7 @@ interface ReleasePluginContext {
190
197
  cwd: string;
191
198
  }
192
199
  /**
193
- * A release lifecycle plugin (tegami parity). Unlike the single-purpose
200
+ * A release lifecycle plugin. Unlike the single-purpose
194
201
  * `defineVersionActions` / `defineChangelogFormatter` / `defineNotificationChannel`
195
202
  * extension points, a plugin can hook arbitrary points of the version/publish
196
203
  * lifecycle — e.g. run a build in `willPublish`, push docs in `afterPublishAll`.
@@ -274,7 +281,7 @@ type ReleaseGroupConfig = string[] | {
274
281
  /**
275
282
  * Emit a single shared git tag (and one aggregate GitHub/GitLab
276
283
  * release) for the whole group instead of one tag + release per
277
- * member (tegami parity). Default `false`.
284
+ * member. Default `false`.
278
285
  */
279
286
  syncGitTag?: boolean;
280
287
  /**
@@ -582,6 +589,14 @@ interface PerPackageReleaseConfig {
582
589
  * path to a custom implementation module.
583
590
  */
584
591
  versionActions?: string;
592
+ /**
593
+ * Non-JS version manifests to bump alongside `package.json`, relative to the
594
+ * package directory. Supported basenames: `Cargo.toml` (`[package]` and
595
+ * `[workspace.package]`) and `tauri.conf.json` (Tauri v1 `package.version`
596
+ * and v2 top-level `version`). Unlike `extraFiles` no regex is needed, and
597
+ * an unsupported basename fails the release instead of being skipped.
598
+ */
599
+ versionFiles?: string[];
585
600
  }
586
601
  interface CleanPackageJsonConfig {
587
602
  /** Fields to keep — overrides default strip behaviour. */
@@ -835,7 +850,7 @@ interface PublishConfig {
835
850
  * partially-failed publish can be resumed from a *fresh checkout on a
836
851
  * different runner* — the ephemeral-CI case where `.state.json` (untracked)
837
852
  * never survives the clone. On full success the lock is removed and the
838
- * removal committed. Mirrors tegami's `publish-lock.yaml`-in-git model.
853
+ * removal committed.
839
854
  */
840
855
  lockInGit?: boolean;
841
856
  /**
@@ -1063,6 +1078,15 @@ interface VisReleaseConfig {
1063
1078
  * `bumpMinorPreMajor`. Default `false`.
1064
1079
  */
1065
1080
  bumpPatchForMinorPreMajor?: boolean;
1081
+ /**
1082
+ * Cargo crates as release packages. Off by default: a repo with Rust crates
1083
+ * sees no change until `discover` is set. When on, every crate in the root
1084
+ * `Cargo.toml`'s `[workspace].members` (minus `exclude`) is a release
1085
+ * package, unless a JS package already claims its manifest.
1086
+ */
1087
+ cargo?: {
1088
+ discover?: boolean;
1089
+ };
1066
1090
  /** Globs that count toward "package changed" detection. */
1067
1091
  changedFilePatterns?: string[];
1068
1092
  /**
@@ -1084,6 +1108,15 @@ interface VisReleaseConfig {
1084
1108
  changesDir?: string;
1085
1109
  /** Per-channel routing config (semantic-release-style). */
1086
1110
  channels?: Record<string, ChannelConfig>;
1111
+ /**
1112
+ * Composer packages as release packages. Off by default. When on, the root
1113
+ * `composer.json` with a `name` is a release package. The version is the
1114
+ * highest `vX.Y.Z` git tag, and the release creates the next tag. Nested
1115
+ * packages and a `"version"` key are refused.
1116
+ */
1117
+ composer?: {
1118
+ discover?: boolean;
1119
+ };
1087
1120
  /**
1088
1121
  * Source of truth for "what is the current version of this package?",
1089
1122
  * controlling how `oldVersion` is resolved when building the release plan.
@@ -1114,6 +1147,15 @@ interface VisReleaseConfig {
1114
1147
  * greenfield monorepo can't trip over missing tags or registry 404s.
1115
1148
  */
1116
1149
  currentVersionResolver?: "disk" | "git-tag" | "registry";
1150
+ /**
1151
+ * Dart packages as release packages. Off by default. When on, the root
1152
+ * `pubspec.yaml` (when it sets a version) and each member of its `workspace:`
1153
+ * list is a release package named by its `name:`. The version must be a
1154
+ * `version:` literal in that pubspec. Publishes to pub.dev with `dart pub publish`.
1155
+ */
1156
+ dart?: {
1157
+ discover?: boolean;
1158
+ };
1117
1159
  /** Default `release.managed` for unconfigured packages. Default: `false`. */
1118
1160
  defaultManaged?: boolean;
1119
1161
  /** Default dep-bump rules (overridable per-package). */
@@ -1203,6 +1245,15 @@ interface VisReleaseConfig {
1203
1245
  * off).
1204
1246
  */
1205
1247
  formatChangedFiles?: boolean;
1248
+ /**
1249
+ * Gems as release packages. Off by default. Every `*.gemspec` under the root (skipping
1250
+ * `vendor`, `node_modules` and `.bundle`) is a release package named by its `spec.name`
1251
+ * literal. The version is `spec.version = "…"`, or `Name::VERSION` with `VERSION = "…"`
1252
+ * in `lib/&lt;name>/version.rb`. Publish runs `gem build` and `gem push` (POSIX only).
1253
+ */
1254
+ gem?: {
1255
+ discover?: boolean;
1256
+ };
1206
1257
  /**
1207
1258
  * Self-hosted GitHub Enterprise host (e.g. `"github.acme.com"` — no
1208
1259
  * scheme). Translates to the `GH_HOST` env var that the `gh` CLI
@@ -1228,12 +1279,41 @@ interface VisReleaseConfig {
1228
1279
  gitSignCommits?: boolean;
1229
1280
  /** Git committer identity used by CI workflows. */
1230
1281
  gitUser?: GitUserConfig;
1282
+ /**
1283
+ * Go modules as release packages. Off by default. When on, every `use` entry of
1284
+ * `go.work` (or the root `go.mod` without one) is a release package named by its
1285
+ * module path. The version is the highest git tag for the module, and the
1286
+ * release creates the next tag. A `/vN` major needs a matching module path.
1287
+ */
1288
+ go?: {
1289
+ discover?: boolean;
1290
+ };
1291
+ /**
1292
+ * Gradle modules as release packages. Off by default. When on, the root build
1293
+ * and every module in `settings.gradle(.kts)` is a release package named
1294
+ * `group:artifact`. The version must be a string literal in the module's
1295
+ * script or the root script's allprojects / subprojects block; a group or
1296
+ * version the release cannot read fails it.
1297
+ */
1298
+ gradle?: {
1299
+ discover?: boolean;
1300
+ };
1231
1301
  /**
1232
1302
  * Group-scoped preVersion command. Runs once before any package in the
1233
1303
  * group is versioned. `groupName` matches a `fixed`/`linked` array's index
1234
1304
  * (group-0, group-1, …) or a named entry (future).
1235
1305
  */
1236
1306
  groupPreVersionCommands?: Record<string, string>;
1307
+ /**
1308
+ * Hex packages as release packages. Off by default. The root `mix.exs` is a package, and so is
1309
+ * each `&lt;apps_path>/*` app of an umbrella. The name is the `package: [name: "…"]` string, or the
1310
+ * `app:` atom. The version is a `version: "…"` literal, or `version: \@version` with a literal
1311
+ * `\@version "…"` attribute; a `mix.exs` with no `version:` key is an aggregate and is skipped.
1312
+ * Publish runs `mix hex.publish --yes` (POSIX only), with the key in `HEX_API_KEY`.
1313
+ */
1314
+ hex?: {
1315
+ discover?: boolean;
1316
+ };
1237
1317
  /**
1238
1318
  * HTTPS proxy URL (e.g. `"http://proxy.acme.com:8080"`) for
1239
1319
  * enterprise networks that route outbound HTTPS through a proxy.
@@ -1298,6 +1378,15 @@ interface VisReleaseConfig {
1298
1378
  * `ReleaseGroupConfig` doc comment for details.
1299
1379
  */
1300
1380
  linked?: ReleaseGroupConfig[];
1381
+ /**
1382
+ * Maven modules as release packages. Off by default. When on, the root
1383
+ * `pom.xml` and every module reachable through `&lt;modules>` is a release
1384
+ * package named `groupId:artifactId`. A version the release cannot rewrite
1385
+ * (no literal, no resolvable parent or property) fails the release.
1386
+ */
1387
+ maven?: {
1388
+ discover?: boolean;
1389
+ };
1301
1390
  /**
1302
1391
  * Notifications — post-release fan-out to chat / webhook
1303
1392
  * destinations. See {@link NotificationsConfig}. Each channel
@@ -1306,7 +1395,17 @@ interface VisReleaseConfig {
1306
1395
  */
1307
1396
  notifications?: NotificationsConfig;
1308
1397
  /**
1309
- * Emit one release commit per package (a `release(channel): pkg@version
1398
+ * NuGet projects as release packages. Off by default. Every `*.csproj` / `*.fsproj` under the
1399
+ * root (skipping `bin`, `obj`, `node_modules` and claimed JS directories) is a release package
1400
+ * named by its lowercased package id. The version is a plain `&lt;Version>` literal in the project
1401
+ * file, or in the nearest `Directory.Build.props`, which releases its inheriting projects in
1402
+ * lockstep. Publish runs `dotnet pack` and `dotnet nuget push` (POSIX only).
1403
+ */
1404
+ nuget?: {
1405
+ discover?: boolean;
1406
+ };
1407
+ /**
1408
+ * Emit one release commit per package (a `release(channel): pkg\@version
1310
1409
  * [skip ci]` message) instead of a single aggregate commit for the whole
1311
1410
  * wave (RFC §19.5). Mirrors the per-package commit history that
1312
1411
  * multi-semantic-release produced — useful for projects migrating off it
@@ -1319,7 +1418,7 @@ interface VisReleaseConfig {
1319
1418
  oneCommitPerPackage?: boolean;
1320
1419
  /** Per-package overrides (matches `package.json["vis-release"]`). */
1321
1420
  packages?: Record<string, PerPackageReleaseConfig>;
1322
- /** Lifecycle plugins (tegami-style hooks: `applyDraft` / `willPublish` / `afterPublish` / `afterPublishAll`). */
1421
+ /** Lifecycle plugins (hooks: `applyDraft` / `willPublish` / `afterPublish` / `afterPublishAll`). */
1323
1422
  plugins?: ReleasePlugin[];
1324
1423
  /** Shell command run after all publishes complete. */
1325
1424
  postPublishCommand?: string;
@@ -1338,6 +1437,15 @@ interface VisReleaseConfig {
1338
1437
  provider?: "github" | "gitlab" | "auto";
1339
1438
  /** Publish-related config. */
1340
1439
  publish?: PublishConfig;
1440
+ /**
1441
+ * Python projects as release packages. Off by default. When on, the root
1442
+ * `pyproject.toml` (with `[project]`) and every `[tool.uv.workspace].members`
1443
+ * entry (minus `exclude`) is a release package. A dynamic or missing version
1444
+ * fails the release instead of being skipped.
1445
+ */
1446
+ python?: {
1447
+ discover?: boolean;
1448
+ };
1341
1449
  /**
1342
1450
  * Wrap each per-package GitHub / GitLab release body with operator-
1343
1451
  * supplied header / footer text. Common use: link a migration guide
@@ -1420,6 +1528,14 @@ interface VisReleaseConfig {
1420
1528
  * the comment template / labels / prerelease behaviour.
1421
1529
  */
1422
1530
  successWalk?: SuccessWalkConfig;
1531
+ /**
1532
+ * Swift packages as release packages. Off by default. Every directory under the root with a
1533
+ * `Package.swift` is a release package named by its `Package(name: "…")` literal. The version
1534
+ * comes from Git tags, and the release creates the tag.
1535
+ */
1536
+ swift?: {
1537
+ discover?: boolean;
1538
+ };
1423
1539
  /** Dep-propagation mode. Default: `"out-of-range"`. */
1424
1540
  updateInternalDependencies?: UpdateInternalDependenciesMode;
1425
1541
  /** Version-PR config. */
@@ -1433,6 +1549,16 @@ interface VisReleaseConfig {
1433
1549
  file?: string;
1434
1550
  waveHeading?: string;
1435
1551
  };
1552
+ /**
1553
+ * Zig packages as release packages. Off by default. When on, the workspace root's
1554
+ * `build.zig.zon` and each in-workspace `.path` dependency that has one is a release
1555
+ * package named by its `.name`. The version must be a `.version` string literal; a
1556
+ * package with no `.version` is an aggregate and is skipped. Release is a git tag:
1557
+ * Zig has no registry, so nothing is uploaded.
1558
+ */
1559
+ zig?: {
1560
+ discover?: boolean;
1561
+ };
1436
1562
  }
1437
1563
  interface LockInfo {
1438
1564
  acquiredAt: string;
@@ -1 +1 @@
1
- import{t as r}from"../packem_shared/compile-cache-DoMHRsRZ.js";import{p as o}from"../packem_shared/augment-COAiXSIx.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-B9kSZuvW.js";import{r as p}from"../packem_chunks/ts-loader.js";r();p();await o(process.cwd());