@visulima/vis 1.0.0-alpha.9 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CHANGELOG.md +1854 -3
  2. package/LICENSE.md +13515 -10
  3. package/README.md +215 -39
  4. package/bin/resolve-binary.mjs +85 -0
  5. package/bin/vis.mjs +76 -0
  6. package/dashboard/dist/index.html +152 -0
  7. package/dist/bin.d.ts +1 -0
  8. package/dist/bin.js +1 -2
  9. package/dist/binx.js +3 -0
  10. package/dist/config/index.d.ts +3276 -0
  11. package/dist/config/index.js +1 -0
  12. package/dist/generate/index.d.ts +1 -1
  13. package/dist/generate/index.js +1 -1
  14. package/dist/packem_chunks/CONFIG_FILES.js +8 -0
  15. package/dist/packem_chunks/DEFAULT_CLEAN_KEEP.js +1 -0
  16. package/dist/packem_chunks/agent-instructions.js +11 -0
  17. package/dist/packem_chunks/bloom-status.js +2 -0
  18. package/dist/packem_chunks/bloom-sync.js +2 -0
  19. package/dist/packem_chunks/cache-attestation.js +1 -0
  20. package/dist/packem_chunks/catalog-detector.js +1 -0
  21. package/dist/packem_chunks/catalog.js +114 -0
  22. package/dist/packem_chunks/cli-exec.js +1 -0
  23. package/dist/packem_chunks/cli-main.js +268 -0
  24. package/dist/packem_chunks/defineReleasePlugin.js +3 -0
  25. package/dist/packem_chunks/detect.js +3 -0
  26. package/dist/packem_chunks/detect2.js +8 -0
  27. package/dist/packem_chunks/devtools.js +4 -0
  28. package/dist/packem_chunks/discord.js +4 -0
  29. package/dist/packem_chunks/dispatch.js +4 -0
  30. package/dist/packem_chunks/doctor-probe.js +2 -0
  31. package/dist/packem_chunks/dynamic-import.js +1 -0
  32. package/dist/packem_chunks/extra-files.js +3 -0
  33. package/dist/packem_chunks/fix.js +11 -0
  34. package/dist/packem_chunks/git.js +3 -0
  35. package/dist/packem_chunks/group-tags.js +1 -0
  36. package/dist/packem_chunks/handler.js +1 -1
  37. package/dist/packem_chunks/handler10.js +5 -1
  38. package/dist/packem_chunks/handler11.js +1 -1
  39. package/dist/packem_chunks/handler12.js +26 -152
  40. package/dist/packem_chunks/handler13.js +5 -1
  41. package/dist/packem_chunks/handler14.js +1 -3
  42. package/dist/packem_chunks/handler15.js +1 -1
  43. package/dist/packem_chunks/handler16.js +1 -2
  44. package/dist/packem_chunks/handler17.js +1 -7
  45. package/dist/packem_chunks/handler18.js +1 -1
  46. package/dist/packem_chunks/handler19.js +5 -19
  47. package/dist/packem_chunks/handler2.js +1 -1
  48. package/dist/packem_chunks/handler20.js +2 -428
  49. package/dist/packem_chunks/handler21.js +2 -22
  50. package/dist/packem_chunks/handler22.js +14 -3
  51. package/dist/packem_chunks/handler23.js +1 -5
  52. package/dist/packem_chunks/handler24.js +1 -1
  53. package/dist/packem_chunks/handler25.js +1 -20
  54. package/dist/packem_chunks/handler26.js +5 -1
  55. package/dist/packem_chunks/handler27.js +1 -1
  56. package/dist/packem_chunks/handler28.js +3 -1
  57. package/dist/packem_chunks/handler29.js +1 -2
  58. package/dist/packem_chunks/handler3.js +4 -2
  59. package/dist/packem_chunks/handler30.js +1 -22
  60. package/dist/packem_chunks/handler31.js +2 -1
  61. package/dist/packem_chunks/handler32.js +2 -1
  62. package/dist/packem_chunks/handler33.js +2 -37
  63. package/dist/packem_chunks/handler34.js +3 -3
  64. package/dist/packem_chunks/handler35.js +6 -23
  65. package/dist/packem_chunks/handler36.js +1 -5
  66. package/dist/packem_chunks/handler37.js +36 -21
  67. package/dist/packem_chunks/handler38.js +8 -1
  68. package/dist/packem_chunks/handler39.js +9 -2
  69. package/dist/packem_chunks/handler4.js +4 -5
  70. package/dist/packem_chunks/handler40.js +75 -1
  71. package/dist/packem_chunks/handler41.js +5 -5
  72. package/dist/packem_chunks/handler42.js +4 -1
  73. package/dist/packem_chunks/handler43.js +3 -24
  74. package/dist/packem_chunks/handler44.js +2 -3
  75. package/dist/packem_chunks/handler45.js +1 -1
  76. package/dist/packem_chunks/handler46.js +1 -0
  77. package/dist/packem_chunks/handler47.js +1 -0
  78. package/dist/packem_chunks/handler48.js +3 -0
  79. package/dist/packem_chunks/handler49.js +1 -0
  80. package/dist/packem_chunks/handler5.js +6 -4
  81. package/dist/packem_chunks/handler50.js +7 -0
  82. package/dist/packem_chunks/handler51.js +33 -0
  83. package/dist/packem_chunks/handler52.js +3 -0
  84. package/dist/packem_chunks/handler53.js +8 -0
  85. package/dist/packem_chunks/handler54.js +4 -0
  86. package/dist/packem_chunks/handler55.js +1 -0
  87. package/dist/packem_chunks/handler56.js +12 -0
  88. package/dist/packem_chunks/handler57.js +11 -0
  89. package/dist/packem_chunks/handler58.js +5 -0
  90. package/dist/packem_chunks/handler59.js +11 -0
  91. package/dist/packem_chunks/handler6.js +8 -2
  92. package/dist/packem_chunks/handler60.js +3 -0
  93. package/dist/packem_chunks/handler61.js +22 -0
  94. package/dist/packem_chunks/handler62.js +61 -0
  95. package/dist/packem_chunks/handler63.js +3 -0
  96. package/dist/packem_chunks/handler64.js +6 -0
  97. package/dist/packem_chunks/handler65.js +9 -0
  98. package/dist/packem_chunks/handler66.js +2 -0
  99. package/dist/packem_chunks/handler67.js +24 -0
  100. package/dist/packem_chunks/handler68.js +25 -0
  101. package/dist/packem_chunks/handler69.js +153 -0
  102. package/dist/packem_chunks/handler7.js +1 -24
  103. package/dist/packem_chunks/handler70.js +10 -0
  104. package/dist/packem_chunks/handler71.js +23 -0
  105. package/dist/packem_chunks/handler72.js +322 -0
  106. package/dist/packem_chunks/handler73.js +708 -0
  107. package/dist/packem_chunks/handler74.js +48 -0
  108. package/dist/packem_chunks/handler75.js +27 -0
  109. package/dist/packem_chunks/handler76.js +3 -0
  110. package/dist/packem_chunks/handler77.js +190 -0
  111. package/dist/packem_chunks/handler78.js +38 -0
  112. package/dist/packem_chunks/handler8.js +1 -6
  113. package/dist/packem_chunks/handler9.js +1 -8
  114. package/dist/packem_chunks/heal-accept.js +10 -0
  115. package/dist/packem_chunks/heal.js +14 -0
  116. package/dist/packem_chunks/help-command.js +31 -0
  117. package/dist/packem_chunks/index.js +1 -7
  118. package/dist/packem_chunks/index2.js +802 -0
  119. package/dist/packem_chunks/index3.js +7 -0
  120. package/dist/packem_chunks/index4.js +135 -0
  121. package/dist/packem_chunks/index5.js +73 -0
  122. package/dist/packem_chunks/interface.js +2 -0
  123. package/dist/packem_chunks/keys-refresh.js +4 -0
  124. package/dist/packem_chunks/lean.js +4 -0
  125. package/dist/packem_chunks/list.js +3 -0
  126. package/dist/packem_chunks/loader.js +4 -1
  127. package/dist/packem_chunks/loader2.js +1 -0
  128. package/dist/packem_chunks/orchestrator.js +42 -0
  129. package/dist/packem_chunks/pre-mode.js +2 -0
  130. package/dist/packem_chunks/print-config.js +2 -0
  131. package/dist/packem_chunks/prompts.js +7 -0
  132. package/dist/packem_chunks/prune.js +3 -0
  133. package/dist/packem_chunks/publish-guards.js +1 -0
  134. package/dist/packem_chunks/registry.js +48 -0
  135. package/dist/packem_chunks/resolveFormatter.js +9 -0
  136. package/dist/packem_chunks/run.js +1 -0
  137. package/dist/packem_chunks/security.js +1 -0
  138. package/dist/packem_chunks/shell-runner.js +1 -0
  139. package/dist/packem_chunks/slack.js +2 -0
  140. package/dist/packem_chunks/snapshot.js +2 -0
  141. package/dist/packem_chunks/stage-publisher.js +1 -0
  142. package/dist/packem_chunks/staged-registry.js +2 -0
  143. package/dist/packem_chunks/state.js +3 -0
  144. package/dist/packem_chunks/status.js +2 -0
  145. package/dist/packem_chunks/success-walk.js +8 -0
  146. package/dist/packem_chunks/sync.js +2 -0
  147. package/dist/packem_chunks/sync2.js +2 -0
  148. package/dist/packem_chunks/tar.js +3 -0
  149. package/dist/packem_chunks/tripwire.js +2 -0
  150. package/dist/packem_chunks/ts-loader.js +22 -0
  151. package/dist/packem_chunks/verify-lockfile.js +2 -0
  152. package/dist/packem_chunks/version-resolver.js +2 -0
  153. package/dist/packem_chunks/webhook.js +1 -0
  154. package/dist/packem_chunks/workflow-templates.js +167 -0
  155. package/dist/packem_chunks/workspace.js +2 -0
  156. package/dist/packem_shared/AfterAllProjectsVersioned-CAKI2nWf.js +1 -0
  157. package/dist/packem_shared/MultiSpinner-B9U0-aE3-B-gIXhFk.js +3 -0
  158. package/dist/packem_shared/ReleaseClient-BY4OZNCK.js +1 -0
  159. package/dist/packem_shared/Table-BGIHvenQ-D2oJtNQj.js +34 -0
  160. package/dist/packem_shared/VisReleaseError-DMGRBTNO.js +1 -0
  161. package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +1 -0
  162. package/dist/packem_shared/advisories-CaP4uNhD.js +1 -0
  163. package/dist/packem_shared/affected-shas-BfO3PDJq.js +1 -0
  164. package/dist/packem_shared/ai-analysis-CO7No4rt.js +68 -0
  165. package/dist/packem_shared/ai-fix-B4u2zlVG.js +43 -0
  166. package/dist/packem_shared/anolilab-text-CAM_E6uK.js +13 -0
  167. package/dist/packem_shared/api.d-BPftyU9r.d.ts +27 -0
  168. package/dist/packem_shared/augment-8z86AwtF.js +4 -0
  169. package/dist/packem_shared/bin-Cv8vsMEo.js +1 -0
  170. package/dist/packem_shared/build-scripts-D477Ou-x.js +1 -0
  171. package/dist/packem_shared/command-runtime-EWjmSxPj.js +1 -0
  172. package/dist/packem_shared/compile-cache-B_Vf_WxT.js +3 -0
  173. package/dist/packem_shared/createAdapter-bU4DIP3F.js +1 -0
  174. package/dist/packem_shared/createVersionActions-BK43SNDH.js +1 -0
  175. package/dist/packem_shared/cyclonedx-CDWHbD9s.js +4 -0
  176. package/dist/packem_shared/defineFormatter-D5dCp6Kv.js +1 -0
  177. package/dist/packem_shared/definePlugin-DoUcoYSy.js +1 -0
  178. package/dist/packem_shared/dependency-scan-P52jY0pU.js +1 -0
  179. package/dist/packem_shared/docker-CD7o1D1o.js +59 -0
  180. package/dist/packem_shared/env-Cpxa_7UE.js +27 -0
  181. package/dist/packem_shared/failure-log-MOhz-TBv.js +2 -0
  182. package/dist/packem_shared/giget-DVTFJlbR.js +2 -0
  183. package/dist/packem_shared/glob-DMbPwGSj-uzODoE-1.js +1 -0
  184. package/dist/packem_shared/index-B0EsgdzO.js +1 -0
  185. package/dist/packem_shared/index-BAUIIRZJ.js +1 -0
  186. package/dist/packem_shared/index-BVuCxe14.js +22 -0
  187. package/dist/packem_shared/index-CdTXvj-V.js +1 -0
  188. package/dist/packem_shared/index-CgXLAAVI.js +28 -0
  189. package/dist/packem_shared/index-DjTWo3sH.js +1 -0
  190. package/dist/packem_shared/index.server-J83sowC4.js +2 -0
  191. package/dist/packem_shared/interface.d-B7VK2rcH.d.ts +148 -0
  192. package/dist/packem_shared/interface.d-Cezzifoh.d.ts +106 -0
  193. package/dist/packem_shared/license-t5KnNX6v.js +1 -0
  194. package/dist/packem_shared/lifecycle-hzwghh5a.js +2 -0
  195. package/dist/packem_shared/lockfile-CWcVTdRc.js +1 -0
  196. package/dist/packem_shared/main-B3juSU5z.js +1 -0
  197. package/dist/packem_shared/manifests-CaPqgQxW.js +1 -0
  198. package/dist/packem_shared/min-release-age-skpcnlpk.js +34 -0
  199. package/dist/packem_shared/missing-package-json-_hOp4AW5.js +1 -0
  200. package/dist/packem_shared/native-config-sync-CFi1iQNG.js +21 -0
  201. package/dist/packem_shared/osv-bloom-BAyJUnRx.js +2 -0
  202. package/dist/packem_shared/otelPlugin-DmKDBaPo.js +1 -0
  203. package/dist/packem_shared/packument-CYxvm590.js +1 -0
  204. package/dist/packem_shared/peer-warnings-BXAzXqY3.js +1 -0
  205. package/dist/packem_shared/plugins.d-ND23R9I3.d.ts +4 -0
  206. package/dist/packem_shared/pm-runner-mVFjedM6.js +1 -0
  207. package/dist/packem_shared/prompt-DjXHVgYU.js +1 -0
  208. package/dist/packem_shared/provenance-CI_WQx7G.js +1 -0
  209. package/dist/packem_shared/public-api-WqUCiyIe.js +131 -0
  210. package/dist/packem_shared/readJsonSync-DuMMeB3s-Cx08VBQg.js +1 -0
  211. package/dist/packem_shared/registry-keys-AGlSEY6R.js +1 -0
  212. package/dist/packem_shared/resolve-explicit-DVE9cfkm.js +5 -0
  213. package/dist/packem_shared/resolve-runtime-CGHf-wHz.js +1 -0
  214. package/dist/packem_shared/run-file-Bs_E9O6O.js +1 -0
  215. package/dist/packem_shared/runtime-check-pS2XH4BO.js +1 -0
  216. package/dist/packem_shared/runtime-process-Dmz0vCJy-DUwTvH1J.js +1 -0
  217. package/dist/packem_shared/s1ngularity-xmrq5T5r.js +1 -0
  218. package/dist/packem_shared/scan-progress-DQ4TMXcb.js +2 -0
  219. package/dist/packem_shared/selectors-CRgS4bU9.js +3 -0
  220. package/dist/packem_shared/signatures-Dp3th1DB.js +2 -0
  221. package/dist/packem_shared/slug-DoueYuLo.js +1 -0
  222. package/dist/packem_shared/spinner-DuJJvFTl.js +1 -0
  223. package/dist/packem_shared/sticky-comment-D6_7-w8T.js +1 -0
  224. package/dist/packem_shared/subtree-C7bZuiSQ.js +2 -0
  225. package/dist/packem_shared/symbols-DPTlrJ3B.js +1 -0
  226. package/dist/packem_shared/tabs-CgxCvjCY.js +1 -0
  227. package/dist/packem_shared/target-merge-D2eTghgd.js +11 -0
  228. package/dist/packem_shared/target-options-TM6ETDAS.js +1 -0
  229. package/dist/packem_shared/toolchain-B5KwUZfq.js +5 -0
  230. package/dist/packem_shared/typosquats-C0layQsP.js +1 -0
  231. package/dist/packem_shared/use-measured-height-Drobr4fe.js +1 -0
  232. package/dist/packem_shared/utils-CRueU43T.js +1 -0
  233. package/dist/packem_shared/verify-Cjo4EBFZ.js +1 -0
  234. package/dist/packem_shared/vis-update-app-qIkyvrd1.js +1 -0
  235. package/dist/packem_shared/watch-BnE1TzYn.js +1 -0
  236. package/dist/packem_shared/watch-loop-Irf3Pm-1.js +11 -0
  237. package/dist/release/core/changelog/index.d.ts +5 -0
  238. package/dist/release/core/changelog/index.js +1 -0
  239. package/dist/release/core/package-managers/index.d.ts +6 -0
  240. package/dist/release/core/package-managers/index.js +1 -0
  241. package/dist/release/core/version-actions/index.d.ts +14 -0
  242. package/dist/release/core/version-actions/index.js +1 -0
  243. package/dist/release/index.d.ts +233 -0
  244. package/dist/release/index.js +1 -0
  245. package/dist/release/plugin-sdk.d.ts +128 -0
  246. package/dist/release/plugin-sdk.js +1 -0
  247. package/dist/release/presets.d.ts +225 -0
  248. package/dist/release/presets.js +1 -0
  249. package/dist/release/types.d.ts +1493 -0
  250. package/dist/release/types.js +1 -0
  251. package/dist/runtime/preload.d.ts +1 -0
  252. package/dist/runtime/preload.js +1 -0
  253. package/index.d.ts +450 -0
  254. package/index.js +663 -556
  255. package/package.json +105 -62
  256. package/schemas/project.schema.json +872 -225
  257. package/schemas/vis-config.schema.json +6309 -264
  258. package/schemas/vis-release-config.schema.json +1423 -0
  259. package/skills/vis/SKILL.md +96 -0
  260. package/templates/buildkite-ci/.buildkite/pipeline.yml.tera +85 -0
  261. package/templates/buildkite-ci/template.yml +20 -0
  262. package/dist/config.d.ts +0 -1087
  263. package/dist/config.js +0 -1
  264. package/dist/packem_shared/VisUpdateApp-BBx3idMI.js +0 -1
  265. package/dist/packem_shared/ai-analysis-DDqXRFxY.js +0 -67
  266. package/dist/packem_shared/bin-BaZZ32BK.js +0 -93
  267. package/dist/packem_shared/cache-directory-DL8hfXeG.js +0 -1
  268. package/dist/packem_shared/catalog-CuSpuB_R.js +0 -12
  269. package/dist/packem_shared/dependency-scan-BoLG2Fez.js +0 -1
  270. package/dist/packem_shared/docker-BcfqH4Av.js +0 -2
  271. package/dist/packem_shared/flakiness-DSIHZGBT.js +0 -1
  272. package/dist/packem_shared/otelPlugin-DxyvBcXO.js +0 -1
  273. package/dist/packem_shared/runtime-check-CGHal8SO.js +0 -1
  274. package/dist/packem_shared/selectors-CfH9ZY08.js +0 -3
  275. package/dist/packem_shared/symbols-CIMw60-G.js +0 -1
  276. package/dist/packem_shared/toolchain-C3ZG0o_X.js +0 -5
  277. package/dist/packem_shared/typosquats-Bpq4zcWL.js +0 -1
  278. package/dist/packem_shared/utils-DrNg0XTR.js +0 -1
@@ -0,0 +1,11 @@
1
+ import{createRequire as K}from"node:module";import{m as g,f as C,v as G,A as S,B as U,a as Q,H as X}from"./index-BVuCxe14.js";import{p as w}from"../packem_chunks/catalog.js";import{a as ee}from"./readJsonSync-DuMMeB3s-Cx08VBQg.js";import{s as le}from"./watch-BnE1TzYn.js";const H=K(import.meta.url),x=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,v=e=>{if(typeof x<"u"&&x.versions&&x.versions.node){const[t,s]=x.versions.node.split(".").map(Number);if(t>22||t===22&&s>=3||t===20&&s>=16)return x.getBuiltinModule(e)}return H(e)},{createHash:m}=v("node:crypto"),{fileURLToPath:Y,pathToFileURL:Z}=v("node:url"),{spawnSync:te,spawn:se}=v("node:child_process"),{openSync:ne,writeSync:re,closeSync:oe,statSync:ie,readFileSync:N,mkdirSync:ae,writeFileSync:ce}=v("node:fs"),{availableParallelism:b}=v("node:os"),W=(e,t)=>{for(const s of["dependencies","devDependencies","optionalDependencies","peerDependencies"]){const n=e[s];if(n&&typeof n[t]=="string")return n[t]}},k=(e,t)=>{for(const s of t){const n=g(e,s);if(C(n))return n}},ue=e=>{const t=g(e,"package.json");if(!C(t))return{};try{return ee(t)}catch{return{}}},tt=(e,t)=>{const s=ue(e),n=new Map;for(const o of t){const r=o.detect(e,s);r&&n.set(o.id,r)}return n},de={error:"error",info:"info",information:"info",warning:"warning"},st={argsCheck:(e,t)=>j(e,t,!1),argsFix:(e,t)=>j(e,t,!0),bin:()=>["pnpm","exec","biome"],cacheKey:(e,t)=>{const s=["biome",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return m("sha256").update(s.join("|")).digest("hex").slice(0,16)},detect:(e,t)=>{const s=W(t,w.biome.packageNames[0]),n=k(e,w.biome.configFiles);if(!(!s&&!n))return{adapter:"biome",configFile:n,declared:!!s,declaredVersion:s,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 s;try{s=JSON.parse(e.stdout)}catch{return[{adapter:"biome",file:t.root,fixable:!1,message:`biome output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of s.diagnostics??[]){const r=o.location?.start,i=o.location?.end,a=fe(t.root,o.location?.path),c=o.category??"",l=c==="format"||c.startsWith("format/");n.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:a,fixable:!0,line:r?.line&&r.line>0?r.line:void 0,message:l?"Code style issues would be auto-fixed":o.message??"",ruleId:c||void 0,severity:de[o.severity??""]??"warning"})}return n}},j=(e,t,s)=>{const n=["check","--reporter=json"];return s&&n.push("--write"),typeof t.maxWarnings=="number"&&n.push(`--max-diagnostics=${String(t.maxWarnings)}`),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},fe=(e,t)=>{const s=typeof t=="string"?t:t?.file;return s?s.startsWith("/")||/^[a-z]:[\\/]/i.test(s)?s:g(e,s):e},B=e=>t=>{const s=k(t,w.deno.configFiles);if(s)return{adapter:e,configFile:s,declared:!1,root:t}},D=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),nt={argsCheck:(e,t)=>F(e,t,!1),argsFix:(e,t)=>F(e,t,!0),bin:()=>["deno","lint"],cacheKey:(e,t)=>{const s=["deno-lint",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return m("sha256").update(s.join("|")).digest("hex").slice(0,16)},detect:B("deno-lint"),extensions:["js","jsx","mjs","mts","ts","tsx"],id:"deno-lint",kind:"lint",parse:(e,t)=>{if(!e.stdout.trim())return[];let s;try{s=JSON.parse(e.stdout)}catch{return[{adapter:"deno-lint",file:t.root,fixable:!1,message:`deno lint output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of s.diagnostics??[]){const r=o.range?.start,i=o.range?.end;n.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:pe(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 n}},rt={argsCheck:(e,t)=>I(e,t,!1),argsFix:(e,t)=>I(e,t,!0),bin:()=>["deno","fmt"],cacheKey:(e,t)=>{const s=["deno-fmt",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return m("sha256").update(s.join("|")).digest("hex").slice(0,16)},detect:B("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 s=[],n=new Set;for(const o of e.stdout.split(/\r?\n/)){const r=/^from (.+):$/.exec(o);if(!r)continue;const i=r[1];n.has(i)||(n.add(i),s.push({adapter:"deno-fmt",file:D(i)?i:`${t.root}/${i}`,fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return s}},F=(e,t,s)=>{const n=["--json"];return s&&n.push("--fix"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},I=(e,t,s)=>{const n=[];return s||n.push("--check"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},pe=(e,t)=>e.startsWith("file://")?Y(e):D(e)?e:`${t}/${e}`,J="pyproject.toml",ge=/^\[tool\.ruff(?:\.[\w-]+)*\]\s*$/m,he=/^Would reformat:?\s+(.+)$/,me=e=>{const t=g(e,J);if(!C(t))return!1;try{const s=G(t);return ge.test(s)}catch{return!1}},E=e=>(t,s)=>{const n=w.ruff.packageNames.map(a=>W(s,a)).find(a=>a!==void 0),o=k(t,w.ruff.configFiles),r=o?void 0:me(t)?g(t,J):void 0,i=o??r;if(!(!n&&!i))return{adapter:e,configFile:i,declared:!!n,declaredVersion:n,root:t}},ye=e=>e.startsWith("/")||/^[a-z]:[\\/]/i.test(e),P=(e,t)=>e?ye(e)?e:g(t,e):t,xe=e=>he.exec(e)?.[1]?.trim(),ot={argsCheck:(e,t)=>L(e,t,!1),argsFix:(e,t)=>L(e,t,!0),bin:()=>["ruff","check"],cacheKey:(e,t)=>{const s=["ruff-check",e.declaredVersion??"unknown",e.configFile??"no-config",t.maxWarnings===void 0?"":`mw=${t.maxWarnings}`,t.quiet?"q":"",...t.extraArgs??[]];return m("sha256").update(s.join("|")).digest("hex").slice(0,16)},detect:E("ruff-check"),extensions:["py","pyi"],id:"ruff-check",kind:"lint",parse:(e,t)=>{if(!e.stdout.trim())return[];let s;try{s=JSON.parse(e.stdout)}catch{return[{adapter:"ruff-check",file:t.root,fixable:!1,message:`ruff check output was not valid JSON (exit ${e.exitCode})`,severity:"error"}]}const n=[];for(const o of s){const r=o.location,i=o.end_location;n.push({adapter:"ruff-check",column:r?.column,endColumn:i?.column,endLine:i?.row,file:P(o.filename,t.root),fixable:!!o.fix,line:r?.row,message:o.message??"",ruleId:o.code,severity:"warning"})}return n}},it={argsCheck:(e,t)=>R(e,t,!1),argsFix:(e,t)=>R(e,t,!0),bin:()=>["ruff","format"],cacheKey:(e,t)=>{const s=["ruff-fmt",e.declaredVersion??"unknown",e.configFile??"no-config",t.quiet?"q":"",...t.extraArgs??[]];return m("sha256").update(s.join("|")).digest("hex").slice(0,16)},detect:E("ruff-fmt"),extensions:["py","pyi"],id:"ruff-fmt",kind:"fmt",parse:(e,t)=>{if(e.exitCode===0)return[];const s=[],n=new Set;for(const o of e.stdout.split(/\r?\n/)){const r=xe(o);!r||n.has(r)||(n.add(r),s.push({adapter:"ruff-fmt",file:P(r,t.root),fixable:!0,message:"Code style issues would be auto-fixed",severity:"info"}))}return s}},L=(e,t,s)=>{const n=["--output-format=json"];return s&&n.push("--fix"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},R=(e,t,s)=>{const n=[];return s||n.push("--check"),t.quiet&&n.push("--quiet"),t.extraArgs?.length&&n.push(...t.extraArgs),n.push(...e),n},at=(e,t)=>{const s=$(e,["diff","--name-only","--diff-filter=ACMR","-z",`${t}...HEAD`]);if(s===void 0)return;const n=$(e,["diff","--name-only","--diff-filter=ACMR","-z"]),o=$(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]),r=$(e,["ls-files","--others","--exclude-standard","-z"]),i=new Set;for(const a of[s,n??"",o??"",r??""])for(const c of a.split("\0"))c.length!==0&&i.add(S(c)?c:g(e,c));return[...i].sort()},ct=e=>{const t=$(e,["diff","--name-only","--diff-filter=ACMR","--cached","-z"]);if(t===void 0)return;const s=new Set;for(const n of t.split("\0"))n.length!==0&&s.add(S(n)?n:g(e,n));return[...s].sort()},$=(e,t)=>{const s=te("git",[...t],{cwd:e,encoding:"utf8",timeout:1e4});if(s.status===0)return s.stdout},lt=(e,t)=>{const s=new Set(t.map(r=>r.toLowerCase())),n=[],o=new Set;for(const r of e){const i=r.lastIndexOf(".");if(i===-1||i===r.length-1)continue;const a=r.slice(i+1).toLowerCase();s.has(a)&&(o.has(r)||(o.add(r),n.push(r)))}return n},$e=new Set(["-","stdout"]),M=e=>({close:()=>{},write:t=>{e.write(t)}}),we=e=>{Q(X(e));const t=ne(e,"w");let s=[];return{close:()=>{s.length>0&&(re(t,s.join("")),s=[]),oe(t)},write:n=>{s.push(n)}}},ut=e=>{const{cwd:t,target:s}=e;if(s===void 0||$e.has(s))return M(process.stdout);if(s==="stderr")return M(process.stderr);const n=S(s)?s:U(t,s);return we(n)},q=["oxlint","oxfmt","biome","eslint","dprint","prettier","stylelint","ruff-check","ruff-fmt","markdownlint","shellcheck","deno-lint","deno-fmt"],dt=(e,t)=>{const s=new Map(e.map(i=>[i.id,i])),n=[],o=new Set,r=t&&t.length>0?t:q;for(const i of r){const a=s.get(i);a&&!o.has(i)&&(n.push(a),o.add(i))}if(t&&t.length>0)for(const i of q){const a=s.get(i);a&&!o.has(i)&&(n.push(a),o.add(i))}for(const i of e)o.has(i.id)||(n.push(i),o.add(i.id));return n},ft=(e,t,s)=>{const n=[];for(const o of t){const r=e.get(o.id);r&&ve(o.kind,s)&&n.push({adapter:o,presence:r})}return n},ve=(e,t)=>e===t||e==="both",pt=(e,t,s={})=>{const n=new Map;for(const o of e){const r=Se(o),i=Ae(r,t,s);if(!i)continue;const a=n.get(i);a?a.push(o):n.set(i,[o])}return n},Se=e=>{const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()},Ae=(e,t,s)=>{const n=s[e];if(n&&t.some(o=>o.adapter.id===n))return n;for(const{adapter:o}of t)if(o.extensions.includes(e))return o.id},Ce=e=>e==="error"?"error":e==="warning"?"warning":"notice",V=e=>e.replaceAll("%","%25").replaceAll("\r","%0D").replaceAll(`
2
+ `,"%0A"),T=e=>V(e).replaceAll(",","%2C").replaceAll(":","%3A").replaceAll("=","%3D"),ke=(e,t)=>t&&e.startsWith(`${t}/`)?e.slice(t.length+1):e,be=(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,t)=>{const s=Ce(e.severity),n=ke(e.file,t),o=e.ruleId?`${e.adapter}(${e.ruleId})`:e.adapter,r=[`file=${T(n)}`];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=${T(o)}`),`::${s} ${r.join(",")}::${V(e.message)}
3
+ `},gt=e=>e.runs.flatMap(t=>[...t.findings]).sort(be).map(t=>je(t,e.workspaceRoot)).join(""),y=e=>e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&apos;"),Fe=e=>`<![CDATA[${e.replaceAll("]]>","]]]]><![CDATA[>")}]]>`,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),Le=e=>e==="error"?"error":e==="warning"?"warning":"info",Re=(e,t)=>{let{file:s}=e;return t&&e.file.startsWith(`${t}/`)&&(s=e.file.slice(t.length+1)),e.line===void 0?s:e.column===void 0?`${s}:${String(e.line)}`:`${s}:${String(e.line)}:${String(e.column)}`},Me=(e,t,s)=>{const n=Re(e,s),o=Le(e.severity),r=e.ruleId?`[${e.ruleId}] ${e.message}`:e.message;return[` <testcase classname="${y(t)}" name="${y(n)}">`,` <failure type="${y(o)}" message="${y(r)}">${Fe(e.message)}</failure>`," </testcase>",""].join(`
4
+ `)},qe=(e,t,s)=>{const n=[...e.findings].sort(Ie),o=n.filter(l=>l.severity==="error").length,r=n.filter(l=>l.severity==="warning").length,i=n.length,a=(e.durationMs/1e3).toFixed(3),c=n.map(l=>Me(l,e.adapter,s)).join("");return` <testsuite ${[`name="${y(e.adapter)}"`,`tests="${String(i)}"`,`failures="${String(o)}"`,'errors="0"',`skipped="${String(r)}"`,`time="${a}"`,`timestamp="${t}"`].join(" ")}>
5
+ ${c} </testsuite>
6
+ `},ht=e=>{const t=(e.now??new Date).toISOString(),s=e.suiteName??"vis-lint-fmt",n=e.runs.map(c=>qe(c,t,e.workspaceRoot)).join(""),o=e.runs.reduce((c,l)=>c+l.findings.length,0),r=e.runs.reduce((c,l)=>c+l.findings.filter(p=>p.severity==="error").length,0),i=e.runs.reduce((c,l)=>c+l.findings.filter(p=>p.severity==="warning").length,0),a=(e.runs.reduce((c,l)=>c+l.durationMs,0)/1e3).toFixed(3);return`<?xml version="1.0" encoding="UTF-8"?>
7
+ <testsuites ${[`name="${y(s)}"`,`tests="${String(o)}"`,`failures="${String(r)}"`,'errors="0"',`skipped="${String(i)}"`,`time="${a}"`].join(" ")}>
8
+ ${n}</testsuites>
9
+ `},Te="2.1.0",Oe="https://json.schemastore.org/sarif-2.1.0.json",_e=e=>e==="error"?"error":e==="warning"?"warning":"note",Ne=(e,t)=>t&&e.startsWith(`${t}/`)?{uri:e.slice(t.length+1),uriBaseId:"SRCROOT"}:{uri:e},We=e=>{const{href:t}=Z(e);return t.endsWith("/")?t:`${t}/`},Be=(e,t)=>e.file!==t.file?e.file<t.file?-1:1:(e.line??0)-(t.line??0)||(e.column??0)-(t.column??0),De=e=>{const t=new Map;for(const s of e)s.ruleId&&(t.has(s.ruleId)||t.set(s.ruleId,{id:s.ruleId,name:s.ruleId}));return[...t.values()]},Je=(e,t)=>{const{uri:s,uriBaseId:n}=Ne(e.file,t),o={artifactLocation:n?{uri:s,uriBaseId:n}:{uri:s}};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 r={level:_e(e.severity),locations:[{physicalLocation:o}],message:{text:e.message}};return e.ruleId&&(r.ruleId=e.ruleId),r},Ee=(e,t)=>{const s=[...e.findings].sort(Be),n=De(s),o={name:e.adapter,rules:n};e.presence?.declaredVersion&&(o.version=e.presence.declaredVersion);const r={results:s.map(i=>Je(i,t)),tool:{driver:o}};return t&&(r.originalUriBaseIds={SRCROOT:{uri:We(t)}}),r},mt=e=>{const t={$schema:Oe,runs:e.runs.map(s=>Ee(s,e.workspaceRoot)),version:Te};return`${JSON.stringify(t,void 0,2)}
10
+ `},O={error:3,info:1,warning:2},yt=e=>{const t=[],s=[];let n,o=!1;for(const r of e){s.push({adapter:r.adapter,durationMs:r.durationMs,exitCode:r.exitCode,findingCount:r.findings.length}),r.exitCode!==0&&r.exitCode!==null&&r.findings.length===0&&(o=!0);for(const i of r.findings)t.push(i),(!n||O[i.severity]>O[n])&&(n=i.severity)}return{findings:t,hadProcessFailure:o,maxSeverity:n,runs:s}},xt=e=>{const t=new Map;for(const s of e){const n=t.get(s.file);n?n.push(s):t.set(s.file,[s])}return t},$t=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 s of e)if(s==="."||s==="./"||s==="..")return!1;return!0},Ve=e=>{try{const t=N(e);return m("sha256").update(t).digest("hex")}catch{return}},ze=(e,t,s,n,o)=>{const r=e.cacheKey(t,n),i=[];for(const c of[...s].sort()){const l=S(c)?c:g(t.root,c);try{ie(l)}catch{return}const p=Ve(l);if(!p)return;i.push({hash:p,path:l})}const a=m("sha256");a.update(e.id),a.update("\0"),a.update(r),a.update("\0"),a.update(o);for(const c of i)a.update("\0"),a.update(c.path),a.update("\0"),a.update(c.hash);return{fileHashes:i,key:a.digest("hex")}},z=(e,t)=>g(e,"lint-fmt",t),Ke=(e,t,s)=>{const n=g(z(e,t.id),`${s}.json`);try{const o=N(n,"utf8"),r=JSON.parse(o);return r.schema!==1?void 0:r}catch{return}},He=(e,t,s,n,o)=>{const r=z(e,t.id),i={fileHashes:o,result:n,savedAt:Date.now(),schema:1};try{ae(r,{recursive:!0}),ce(g(r,`${s}.json`),JSON.stringify(i))}catch{}},_=async(e,t,s,n,o)=>{const r=e.bin(t),i=[...r.slice(1),...o==="fix"?e.argsFix(s,n):e.argsCheck(s,n)];return new Promise(a=>{const c=Date.now(),l=se(r[0],i,{cwd:t.root}),p=[],u=[];let h=!1;const f=setTimeout(()=>{h=!0,l.kill("SIGKILL")},6e4);l.stdout.on("data",d=>p.push(d)),l.stderr.on("data",d=>u.push(d)),l.on("error",d=>{clearTimeout(f),a({durationMs:Date.now()-c,exitCode:null,stderr:d.message,stdout:""})}),l.on("close",d=>{clearTimeout(f),a({durationMs:Date.now()-c,exitCode:h?null:d,stderr:Buffer.concat(u).toString("utf8"),stdout:Buffer.concat(p).toString("utf8")})})})},wt=async(e,t,s,n=b())=>{if(e.length===0)return[];const{cacheRoot:o,concurrency:r}=typeof n=="number"?{concurrency:n}:{cacheRoot:n.cacheRoot,concurrency:n.concurrency??b()},i=async u=>{const h=u.options??t;if(o&&Pe(u.files,s)){const f=ze(u.adapter,u.presence,u.files,h,s);if(f){const d=Ke(o,u.adapter,f.key);if(d)return d.result;const A=await _(u.adapter,u.presence,u.files,h,s);return A.exitCode!==null&&He(o,u.adapter,f.key,A,f.fileHashes),A}}return _(u.adapter,u.presence,u.files,h,s)};if(process.env.VIS_LINT_FMT_SERIAL==="1"){const u=[];for(const h of e)u.push(await i(h));return u}const a=Math.max(1,Math.min(r,e.length)),c=Array.from({length:e.length});let l=0;const p=async()=>{for(;;){const u=l;if(l+=1,u>=e.length)return;c[u]=await i(e[u])}};return await Promise.all(Array.from({length:a},()=>p())),c},Ge=e=>{const t=new Set;for(const s of e)t.add(s.toLowerCase());return t},Ue=(e,t)=>{const s=e.lastIndexOf(".");return s===-1||s===e.length-1?!1:t.has(e.slice(s+1).toLowerCase())},vt=async e=>{const{extensions:t,initialFiles:s,label:n,log:o,runCycle:r,workspaceRoot:i}=e,a=o??(f=>{process.stdout.write(`${f}
11
+ `)}),c=Ge(t);await r(s),a(`▸ ${n}: watching workspace — press Ctrl-C to exit`);let l=new Set,p=!1;const u=async()=>{for(;l.size>0;){const f=[...l];l=new Set;try{await r(f)}catch(d){a(`✗ ${n}: watch cycle failed — ${d.message}`)}}},h=le({debounceMs:200,filter:f=>Ue(f,c),onChange:async f=>{for(const d of f)l.add(S(d)?d:g(i,d));if(!p){p=!0;try{await u()}finally{p=!1}}},paths:[i]});await new Promise(f=>{const d=()=>{h.close(),process.off("SIGINT",d),process.off("SIGTERM",d),f()};process.once("SIGINT",d),process.once("SIGTERM",d)})};export{tt as a,ft as b,at as c,W as d,vt as e,k as f,pt as g,wt as h,yt as i,ut as j,mt as k,ht as l,gt as m,st as n,it as o,rt as p,xt as q,dt as r,ct as s,$t as t,lt as u,ot as v,nt as w};
@@ -0,0 +1,5 @@
1
+ import { C as ChangelogFormatter } from "../../../packem_shared/api.d-BPftyU9r.js";
2
+ export { type a as ChangeFileMeta, type b as ChangelogContext, type c as ChangelogFormatterModule, type d as ChangelogTarget, e as defineFormatter } from "../../../packem_shared/api.d-BPftyU9r.js";
3
+ import { VisReleaseConfig } from "../../types.js";
4
+ declare const resolveFormatter: (setting: VisReleaseConfig["changelog"], cwd: string) => Promise<ChangelogFormatter>;
5
+ export { type ChangelogFormatter, resolveFormatter };
@@ -0,0 +1 @@
1
+ import{defineFormatter as o}from"../../../packem_shared/defineFormatter-D5dCp6Kv.js";import{resolveFormatter as m}from"../../../packem_chunks/resolveFormatter.js";export{o as defineFormatter,m as resolveFormatter};
@@ -0,0 +1,6 @@
1
+ import { C as CommandRunner, P as PackageManagerAdapter } from "../../../packem_shared/interface.d-B7VK2rcH.js";
2
+ export type { I as InstallLockfileOnlyOptions, a as PackOptions, b as PackResult, c as PublishNativeOptions, d as PublishOptions, e as PublishResult, W as WorkspaceListEntry } from "../../../packem_shared/interface.d-B7VK2rcH.js";
3
+ type PackageManagerId = "npm" | "pnpm" | "yarn" | "bun";
4
+ declare const detectPackageManager: (cwd: string, _runner: CommandRunner) => Promise<PackageManagerId>;
5
+ declare const createAdapter: (id: PackageManagerId, runner: CommandRunner) => PackageManagerAdapter;
6
+ export { type CommandRunner, type PackageManagerAdapter, type PackageManagerId, createAdapter, detectPackageManager };
@@ -0,0 +1 @@
1
+ import{c as r,d as t}from"../../../packem_chunks/detect.js";export{r as createAdapter,t as detectPackageManager};
@@ -0,0 +1,14 @@
1
+ import { V as VersionActions } from "../../../packem_shared/interface.d-Cezzifoh.js";
2
+ export { A as AfterAllProjectsVersioned, type a as AfterAllVersionedContext, type b as AfterAllVersionedResult, type P as PublishContext } from "../../../packem_shared/interface.d-Cezzifoh.js";
3
+ import "../../types.js";
4
+ import "../../../packem_shared/interface.d-B7VK2rcH.js";
5
+ /**
6
+ * Construct the {@link VersionActions} implementation for a resolved id.
7
+ *
8
+ * Unknown ids fall back to npm — the historical default and the only safe
9
+ * choice for a JS workspace package without explicit configuration.
10
+ * @param id versionActions id (e.g. `npm`, `cargo`, `jsr`, `container`).
11
+ * @returns a fresh {@link VersionActions} instance.
12
+ */
13
+ declare const createVersionActions: (id: string) => VersionActions;
14
+ export { VersionActions, createVersionActions };
@@ -0,0 +1 @@
1
+ import{AfterAllProjectsVersioned as r,VersionActions as s}from"../../../packem_shared/AfterAllProjectsVersioned-CAKI2nWf.js";import{c}from"../../../packem_chunks/registry.js";export{r as AfterAllProjectsVersioned,s as VersionActions,c as createVersionActions};
@@ -0,0 +1,233 @@
1
+ import { PlannedRelease, VisReleaseConfig, ReleasePlan, DependencyBumpRules, CleanPackageJsonConfig } from "./types.js";
2
+ export { BUMP_LEVELS, type BumpAs, type BumpLevel, type BumpReason, type BumpSource, type CatalogResolutionMode, type ChangeFile, type ChangeFileNested, type ChangeFileSimple, type ChannelConfig, type ChannelMode, type DependencyBumpRule, type DependencyKind, type DependentInfo, type GitUserConfig, type LockInfo, type PackManager, type PackageManifest, type PerPackageReleaseConfig, type PluginPackageInfo, type PluginPublishSummary, type ProtocolResolutionMode, type PublishConfig, type PublishGuardsConfig, type PublishStrategy, type ReleaseAssetsConfig, type ReleasePlugin, type ReleasePluginContext, type ReplayCondition, type SnapshotBackend, type SnapshotConfig, type SnapshotTagKind, type StateFile, type SuccessWalkConfig, type UpdateInternalDependenciesMode, type VersionPrConfig, type WorkspacePackage, bumpRank, maxBump } from "./types.js";
3
+ export { d as defineReleasePlugin } from "../packem_shared/plugins.d-ND23R9I3.js";
4
+ declare global {
5
+ interface SymbolConstructor {
6
+ readonly asyncDispose: unique symbol;
7
+ }
8
+ }
9
+ interface ReleaseOptionsBase {
10
+ /** Force a specific channel name (overrides branch detection). */
11
+ channel?: string;
12
+ /** Inline config — merged on top of `vis.config.ts`'s `release` block. */
13
+ config?: VisReleaseConfig;
14
+ /** Override workspace root (default: `process.cwd()`'s monorepo root). */
15
+ cwd?: string;
16
+ /** Skip writes / network calls. */
17
+ dryRun?: boolean;
18
+ /**
19
+ * Greenfield bootstrap. Forces `currentVersionResolver: "disk"` and
20
+ * skips remote tag-collision checks so the very first release on a
21
+ * fresh repo (no prior git tag, no published version) can proceed
22
+ * without errors. Maps to `nx release --first-release` and
23
+ * release-please's `bootstrap-sha`.
24
+ */
25
+ firstRelease?: boolean;
26
+ /** Limit to packages matching these globs. */
27
+ projects?: string[];
28
+ /** Resume from a previous run's `.state.json`. */
29
+ resume?: boolean;
30
+ }
31
+ interface VersionOptions extends ReleaseOptionsBase {
32
+ /** Auto-commit after writing versions. (Wired in M5.) */
33
+ commit?: boolean;
34
+ }
35
+ interface ChangelogOptions extends ReleaseOptionsBase {
36
+ interactive?: boolean;
37
+ versionData?: PlannedRelease[];
38
+ }
39
+ interface PublishOptions extends ReleaseOptionsBase {
40
+ /** Skip `git push --tags` after publish. */
41
+ noPush?: boolean;
42
+ /** 2FA token. */
43
+ otp?: string;
44
+ /** Override npm dist-tag. */
45
+ tag?: string;
46
+ versionData?: PlannedRelease[];
47
+ }
48
+ interface SnapshotOptions extends ReleaseOptionsBase {
49
+ registry?: string;
50
+ tag: string;
51
+ }
52
+ interface ReleaseOptions extends VersionOptions {
53
+ skipPublish?: boolean;
54
+ yes?: boolean;
55
+ }
56
+ interface VersionResult {
57
+ /** Files written / deleted by `apply-release-plan`. */
58
+ changedFiles: string[];
59
+ deletedFiles: string[];
60
+ plan: ReleasePlan;
61
+ }
62
+ interface ChangelogResult {
63
+ projectChangelogs: {
64
+ content: string;
65
+ file: string;
66
+ package: string;
67
+ }[];
68
+ workspaceChangelog?: {
69
+ content: string;
70
+ file: string;
71
+ };
72
+ }
73
+ interface PublishResult {
74
+ failed: {
75
+ name: string;
76
+ reason: string;
77
+ }[];
78
+ published: {
79
+ name: string;
80
+ version: string;
81
+ }[];
82
+ skipped: {
83
+ name: string;
84
+ reason: string;
85
+ }[];
86
+ }
87
+ interface SnapshotResult {
88
+ failed: {
89
+ name: string;
90
+ reason: string;
91
+ }[];
92
+ published: {
93
+ name: string;
94
+ url?: string;
95
+ version: string;
96
+ }[];
97
+ skipped: {
98
+ name: string;
99
+ reason: string;
100
+ }[];
101
+ /** Snapshot version applied to every published item. */
102
+ snapshotVersion: string;
103
+ /** dist-tag used. */
104
+ tag: string;
105
+ }
106
+ declare const releaseVersion: (options?: VersionOptions) => Promise<VersionResult>;
107
+ /**
108
+ * Standalone changelog rendering — produces the per-package CHANGELOG.md
109
+ * entries WITHOUT writing them to disk. Useful for previewing the
110
+ * changelog output, or for downstream tooling (e.g. release-notes for
111
+ * GH Releases) that needs the rendered content separately from the
112
+ * version-apply pass.
113
+ *
114
+ * The default `releaseVersion` path also writes changelog entries
115
+ * automatically (formatter is invoked inside `applyReleasePlan`); this
116
+ * function is for read-only access to the same rendered output.
117
+ */
118
+ declare const releaseChangelog: (options?: ChangelogOptions) => Promise<ChangelogResult>;
119
+ declare const releasePublish: (options?: PublishOptions) => Promise<PublishResult>;
120
+ /**
121
+ * A computed-but-not-yet-applied release. Holds the resolved {@link ReleasePlan}
122
+ * so callers can inspect what *would* happen, then either {@link ReleaseDraft.apply}
123
+ * it (write versions + changelogs, consume change files) or {@link ReleaseDraft.discard}
124
+ * it.
125
+ *
126
+ * Implements `Symbol.asyncDispose`, so the idiomatic form is:
127
+ *
128
+ * ```ts
129
+ * await using draft = await releaseDraft({ cwd });
130
+ * console.log(draft.plan.releases);
131
+ * // draft.apply() runs automatically when the block exits — unless you
132
+ * // called draft.discard() first.
133
+ * ```
134
+ *
135
+ * Disposal fires on *any* scope exit, including thrown errors. If you need
136
+ * apply-only-on-success semantics, call {@link ReleaseDraft.apply} explicitly
137
+ * and `discard()` on the error path instead of relying on disposal.
138
+ */
139
+ interface ReleaseDraft {
140
+ /** Auto-apply on `await using` scope exit unless already applied or discarded. */
141
+ [Symbol.asyncDispose]: () => Promise<void>;
142
+ /** Write the planned versions + changelogs and consume the change files. Idempotent — repeat calls are no-ops returning the first result. */
143
+ apply: () => Promise<VersionResult>;
144
+ /** Abandon the draft so disposal will not apply it. */
145
+ discard: () => void;
146
+ /** The computed plan (available before apply). */
147
+ readonly plan: ReleasePlan;
148
+ }
149
+ declare const releaseDraft: (options?: VersionOptions) => Promise<ReleaseDraft>;
150
+ declare const releaseSnapshot: (options: SnapshotOptions) => Promise<SnapshotResult>;
151
+ declare const release: (options?: ReleaseOptions) => Promise<{
152
+ changelog: ChangelogResult;
153
+ publish: PublishResult;
154
+ version: VersionResult;
155
+ }>;
156
+ declare class ReleaseClient {
157
+ readonly config: VisReleaseConfig;
158
+ constructor(config?: VisReleaseConfig);
159
+ releaseVersion(options?: Omit<VersionOptions, "config">): Promise<VersionResult>;
160
+ releaseChangelog(options?: Omit<ChangelogOptions, "config">): Promise<ChangelogResult>;
161
+ releasePublish(options?: Omit<PublishOptions, "config">): Promise<PublishResult>;
162
+ releaseDraft(options?: Omit<VersionOptions, "config">): Promise<ReleaseDraft>;
163
+ releaseSnapshot(options: Omit<SnapshotOptions, "config">): Promise<SnapshotResult>;
164
+ }
165
+ /**
166
+ * Identity function for type-narrowing a `VisReleaseConfig` defined in
167
+ * a separate file (e.g. `release.config.ts`). Use vis's top-level
168
+ * `defineConfig` from `@visulima/vis/config` when defining the whole
169
+ * `vis.config.ts` instead.
170
+ */
171
+ declare const defineReleaseConfig: (config: VisReleaseConfig) => VisReleaseConfig;
172
+ /**
173
+ * Built-in defaults. Used by the loader when a key is not set by the user
174
+ * and must be in the resolved config.
175
+ */
176
+ declare const DEFAULT_CONFIG: Required<Pick<VisReleaseConfig, "baseBranch" | "changesDir" | "access" | "changelog" | "changedFilePatterns" | "updateInternalDependencies" | "fixed" | "linked" | "ignore" | "include" | "privatePackages" | "aggregateRelease" | "defaultManaged" | "allowCustomCommands" | "preVersionCommand" | "postVersionCommand" | "prePublishCommand" | "postPublishCommand">>;
177
+ declare const DEFAULT_DEPENDENCY_BUMP_RULES: Required<DependencyBumpRules>;
178
+ /**
179
+ * Default fields stripped from `package.json` on publish (RFC §20.4).
180
+ * Match `@anolilab/semantic-release-clean-package-json` behaviour.
181
+ */
182
+ declare const DEFAULT_CLEAN_STRIP: ReadonlyArray<string>;
183
+ /**
184
+ * Default fields preserved on publish — informational, used only by `--dry-run` rendering.
185
+ * The actual publish step strips by deny-list (`DEFAULT_CLEAN_STRIP`), not by allow-list.
186
+ */
187
+ declare const DEFAULT_CLEAN_KEEP: ReadonlyArray<string>;
188
+ /**
189
+ * Resolve user-supplied `cleanPackageJson` to a concrete strip list.
190
+ * `false` → empty (don't strip anything).
191
+ * `true` / undefined → defaults.
192
+ * Object form → defaults + extra strip, minus anything in `keep`.
193
+ */
194
+ declare const resolveCleanStripList: (cfg: boolean | CleanPackageJsonConfig | undefined) => string[];
195
+ /**
196
+ * Typed errors for the release subsystem (RFC §19.4).
197
+ *
198
+ * Modeled on nx's `CreateNxReleaseConfigError`. Every failure path throws
199
+ * a `VisReleaseError` with a stable `code` from `VisReleaseErrorCode`.
200
+ * Codes are part of the public API surface — additions are minor, removals
201
+ * are major (RFC §21.1).
202
+ */
203
+ type VisReleaseErrorCode = "AUTH_MISSING" | "DUPLICATE_PACKAGE_NAME" | "CYCLIC_DEPENDENCY" | "TAG_COLLISION" | "BUMP_FILE_INVALID" | "CONFIG_INVALID" | "GIT_OPERATION_FAILED" | "PM_VERSION_TOO_LOW" | "NATIVE_ADDON_VERSION_MISMATCH" | "PUBLISH_FAILED" | "STAGE_PENDING" | "TAG_PUSH_FAILED" | "STATE_FILE_CORRUPT";
204
+ interface VisReleaseErrorOptions {
205
+ /** Original error for stack-trace continuity. */
206
+ cause?: unknown;
207
+ /** Stable machine-readable code. */
208
+ code: VisReleaseErrorCode;
209
+ /** Link to docs explaining the failure. */
210
+ docsUrl?: string;
211
+ /** File path (e.g. for `BUMP_FILE_INVALID`). */
212
+ file?: string;
213
+ /** Suggested next step. Optional but encouraged. */
214
+ hint?: string;
215
+ /** Line number (when relevant). */
216
+ line?: number;
217
+ /** Human-readable message. */
218
+ message: string;
219
+ /** Package name (when error is package-scoped). */
220
+ packageName?: string;
221
+ }
222
+ declare class VisReleaseError extends Error {
223
+ readonly code: VisReleaseErrorCode;
224
+ readonly hint?: string;
225
+ readonly docsUrl?: string;
226
+ readonly packageName?: string;
227
+ readonly file?: string;
228
+ readonly line?: number;
229
+ constructor(options: VisReleaseErrorOptions);
230
+ }
231
+ /** Convenience factory — same as `new VisReleaseError(opts)` but more ergonomic at the call site. */
232
+ declare const visReleaseError: (options: VisReleaseErrorOptions) => VisReleaseError;
233
+ export { type ChangelogOptions, type ChangelogResult, type CleanPackageJsonConfig, DEFAULT_CLEAN_KEEP, DEFAULT_CLEAN_STRIP, DEFAULT_CONFIG, DEFAULT_DEPENDENCY_BUMP_RULES, type DependencyBumpRules, type PlannedRelease, type PublishOptions, type PublishResult, ReleaseClient, type ReleaseDraft, type ReleaseOptions, type ReleaseOptionsBase, type ReleasePlan, type SnapshotOptions, type SnapshotResult, type VersionOptions, type VersionResult, type VisReleaseConfig, VisReleaseError, type VisReleaseErrorCode, type VisReleaseErrorOptions, defineReleaseConfig, release, releaseChangelog, releaseDraft, releasePublish, releaseSnapshot, releaseVersion, resolveCleanStripList, visReleaseError };
@@ -0,0 +1 @@
1
+ import{ReleaseClient as s,release as a,releaseChangelog as l,releaseDraft as o,releasePublish as E,releaseSnapshot as i,releaseVersion as n}from"../packem_shared/ReleaseClient-BY4OZNCK.js";import{DEFAULT_CLEAN_KEEP as L,DEFAULT_CLEAN_STRIP as f,DEFAULT_CONFIG as p,DEFAULT_DEPENDENCY_BUMP_RULES as _,defineReleaseConfig as m,resolveCleanStripList as C}from"../packem_chunks/DEFAULT_CLEAN_KEEP.js";import{defineReleasePlugin as D}from"../packem_chunks/defineReleasePlugin.js";import{VisReleaseError as U,visReleaseError as x}from"../packem_shared/VisReleaseError-DMGRBTNO.js";import{BUMP_LEVELS as F,bumpRank as N,maxBump as S}from"./types.js";export{F as BUMP_LEVELS,L as DEFAULT_CLEAN_KEEP,f as DEFAULT_CLEAN_STRIP,p as DEFAULT_CONFIG,_ as DEFAULT_DEPENDENCY_BUMP_RULES,s as ReleaseClient,U as VisReleaseError,N as bumpRank,m as defineReleaseConfig,D as defineReleasePlugin,S as maxBump,a as release,l as releaseChangelog,o as releaseDraft,E as releasePublish,i as releaseSnapshot,n as releaseVersion,C as resolveCleanStripList,x as visReleaseError};
@@ -0,0 +1,128 @@
1
+ import { C as ChangelogFormatter } from "../packem_shared/api.d-BPftyU9r.js";
2
+ export type { b as ChangelogContext, c as ChangelogFormatterModule, d as ChangelogTarget } from "../packem_shared/api.d-BPftyU9r.js";
3
+ import { V as VersionActions } from "../packem_shared/interface.d-Cezzifoh.js";
4
+ export { A as AfterAllProjectsVersioned, type a as AfterAllVersionedContext, type b as AfterAllVersionedResult, type P as PublishContext } from "../packem_shared/interface.d-Cezzifoh.js";
5
+ export type { e as PublishResult } from "../packem_shared/interface.d-B7VK2rcH.js";
6
+ export { d as defineReleasePlugin } from "../packem_shared/plugins.d-ND23R9I3.js";
7
+ export type { PluginPackageInfo, PluginPublishSummary, ReleasePlugin, ReleasePluginContext } from "./types.js";
8
+ interface NotificationPackage {
9
+ /** Package name. */
10
+ name: string;
11
+ /** dist-tag / channel name (`latest`, `alpha`, …). */
12
+ tag?: string;
13
+ /**
14
+ * URL of the published artifact (npm package page, GH release URL,
15
+ * etc.). Populated by `publishContext` after `createRemoteReleases`.
16
+ * May be absent when the registry has no canonical URL (e.g. a
17
+ * shell-publish target with no `checkPublished` lookup).
18
+ */
19
+ url?: string;
20
+ /** Resolved version. */
21
+ version: string;
22
+ }
23
+ interface NotificationContext {
24
+ /** Active channel name (`main`, `alpha`, …). Absent when no channel matched. */
25
+ channel?: string;
26
+ /** ISO-8601 wave-completion timestamp. */
27
+ completedAt: string;
28
+ /** Workspace name pulled from root `package.json#name`, when present. */
29
+ monorepoName?: string;
30
+ /** Packages that successfully published in this wave. */
31
+ published: ReadonlyArray<NotificationPackage>;
32
+ /** Repo slug (`owner/name`) for URL composition. */
33
+ repo?: string;
34
+ /**
35
+ * Packages skipped at the publish gate (stage-rejected / stage-timeout /
36
+ * already-published / etc.). Channel implementations decide whether to
37
+ * surface them.
38
+ */
39
+ skipped: ReadonlyArray<{
40
+ name: string;
41
+ reason: string;
42
+ }>;
43
+ }
44
+ /**
45
+ * The contract a notification channel implements. Built-in channels
46
+ * (slack, discord, webhook) implement this; custom plugins do too.
47
+ *
48
+ * Implementations MUST be idempotent — `dispatchNotifications` may be
49
+ * retried after a partial failure, and posting the same release twice
50
+ * is annoying.
51
+ */
52
+ interface NotificationChannel {
53
+ /** Stable id used in log messages: `"slack"`, `"discord"`, `"webhook"`, …. */
54
+ readonly id: string;
55
+ /**
56
+ * Send the notification. Throw on hard failure (HTTP non-2xx,
57
+ * network error). The dispatcher catches and logs as a warn-level
58
+ * message; it does NOT propagate.
59
+ */
60
+ send: (context: NotificationContext) => Promise<void>;
61
+ }
62
+ /**
63
+ * Re-export of {@link NotificationChannel} so plugin authors get the
64
+ * full type from a single import path.
65
+ */
66
+ /**
67
+ * Identity wrapper that constrains its argument to a
68
+ * {@link NotificationChannel}. Use as the default export of a custom
69
+ * channel module so the type-system catches missing fields (e.g. no
70
+ * `id` / no `send`) at the import site.
71
+ *
72
+ * ```ts
73
+ * export default defineNotificationChannel({
74
+ * id: "teams",
75
+ * async send(context) {
76
+ * await fetch(WEBHOOK, { body: JSON.stringify(context) });
77
+ * },
78
+ * });
79
+ * ```
80
+ */
81
+ declare const defineNotificationChannel: (channel: NotificationChannel) => NotificationChannel;
82
+ /**
83
+ * Re-export the shapes a `VersionActions` implementation interacts
84
+ * with. `PublishContext` carries everything you need at publish time
85
+ * (the package, the resolved version, workspace + per-package config);
86
+ * `PublishResult` is the typed return shape.
87
+ */
88
+ /**
89
+ * Identity wrapper that constrains its argument to a concrete
90
+ * {@link VersionActions} subclass instance.
91
+ *
92
+ * Most authors will subclass `VersionActions` directly because it's an
93
+ * abstract class with two abstract methods. `defineVersionActions` is
94
+ * still useful as a type-narrowed default-export wrapper that surfaces
95
+ * a clearer compile error when the subclass forgets `id` /
96
+ * `readPublishedVersion` / `publish`:
97
+ *
98
+ * ```ts
99
+ * class TeamsActions extends VersionActions {
100
+ * readonly id = "teams";
101
+ * async readPublishedVersion() { return undefined; }
102
+ * async publish(context: PublishContext): Promise&lt;PublishResult> { ... }
103
+ * }
104
+ *
105
+ * export default defineVersionActions(new TeamsActions());
106
+ * ```
107
+ */
108
+ declare const defineVersionActions: (actions: VersionActions) => VersionActions;
109
+ /**
110
+ * Re-export of the changelog formatter contract — same shape as
111
+ * `@visulima/vis/release/types` exposes, surfaced here so plugin authors
112
+ * never need a second import path.
113
+ */
114
+ /**
115
+ * Identity wrapper around a {@link ChangelogFormatter}.
116
+ *
117
+ * ```ts
118
+ * export default defineChangelogFormatter(async (context) => {
119
+ * return `### ${context.release.name} ${context.release.newVersion}\n…`;
120
+ * });
121
+ * ```
122
+ *
123
+ * Aliased to the historical `defineFormatter` export from
124
+ * `core/changelog/api` so existing user code continues to type-check;
125
+ * future plugin authors should prefer the SDK name for clarity.
126
+ */
127
+ declare const defineChangelogFormatter: (formatter: ChangelogFormatter) => ChangelogFormatter;
128
+ export { type ChangelogFormatter, type NotificationChannel, type NotificationContext, type NotificationPackage, VersionActions, defineChangelogFormatter, defineNotificationChannel, defineVersionActions };
@@ -0,0 +1 @@
1
+ import{defineReleasePlugin as f}from"../packem_chunks/defineReleasePlugin.js";import{AfterAllProjectsVersioned as l,VersionActions as a}from"../packem_shared/AfterAllProjectsVersioned-CAKI2nWf.js";const o=e=>e,n=e=>e,i=e=>e;export{l as AfterAllProjectsVersioned,a as VersionActions,i as defineChangelogFormatter,o as defineNotificationChannel,f as defineReleasePlugin,n as defineVersionActions};