@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.
- package/CHANGELOG.md +42 -0
- package/LICENSE.md +804 -360
- package/dist/bin.js +1 -1
- package/dist/binx.js +1 -1
- package/dist/config/index.d.ts +117 -0
- package/dist/packem_chunks/CONFIG_FILES.js +1 -1
- package/dist/packem_chunks/bloom-status.js +1 -1
- package/dist/packem_chunks/bloom-sync.js +1 -1
- package/dist/packem_chunks/cargo-plan.js +3 -0
- package/dist/packem_chunks/catalog.js +50 -50
- package/dist/packem_chunks/cli-exec.js +1 -1
- package/dist/packem_chunks/cli-main.js +146 -142
- package/dist/packem_chunks/composer-projects.js +2 -0
- package/dist/packem_chunks/dart-plan.js +1 -0
- package/dist/packem_chunks/dart-projects.js +1 -0
- package/dist/packem_chunks/dispatch.js +1 -1
- package/dist/packem_chunks/fix.js +1 -1
- package/dist/packem_chunks/gem-plan.js +2 -0
- package/dist/packem_chunks/gem-projects.js +1 -0
- package/dist/packem_chunks/git.js +5 -5
- package/dist/packem_chunks/go-plan.js +1 -0
- package/dist/packem_chunks/go-projects.js +2 -0
- package/dist/packem_chunks/gradle-plan.js +1 -0
- package/dist/packem_chunks/handler.js +1 -1
- package/dist/packem_chunks/handler10.js +1 -1
- package/dist/packem_chunks/handler11.js +1 -1
- package/dist/packem_chunks/handler12.js +1 -1
- package/dist/packem_chunks/handler13.js +1 -1
- package/dist/packem_chunks/handler14.js +1 -1
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler16.js +1 -1
- package/dist/packem_chunks/handler17.js +1 -1
- package/dist/packem_chunks/handler18.js +1 -1
- package/dist/packem_chunks/handler19.js +1 -1
- package/dist/packem_chunks/handler2.js +1 -1
- package/dist/packem_chunks/handler20.js +2 -2
- package/dist/packem_chunks/handler21.js +1 -1
- package/dist/packem_chunks/handler22.js +1 -1
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler26.js +1 -1
- package/dist/packem_chunks/handler27.js +1 -1
- package/dist/packem_chunks/handler28.js +1 -1
- package/dist/packem_chunks/handler29.js +1 -1
- package/dist/packem_chunks/handler3.js +2 -2
- package/dist/packem_chunks/handler30.js +1 -1
- package/dist/packem_chunks/handler39.js +6 -6
- package/dist/packem_chunks/handler4.js +3 -3
- package/dist/packem_chunks/handler5.js +1 -1
- package/dist/packem_chunks/handler50.js +1 -1
- package/dist/packem_chunks/handler51.js +1 -1
- package/dist/packem_chunks/handler52.js +3 -3
- package/dist/packem_chunks/handler53.js +1 -1
- package/dist/packem_chunks/handler54.js +2 -2
- package/dist/packem_chunks/handler55.js +1 -1
- package/dist/packem_chunks/handler58.js +3 -3
- package/dist/packem_chunks/handler59.js +1 -1
- package/dist/packem_chunks/handler6.js +5 -5
- package/dist/packem_chunks/handler60.js +1 -1
- package/dist/packem_chunks/handler61.js +1 -1
- package/dist/packem_chunks/handler62.js +1 -1
- package/dist/packem_chunks/handler63.js +1 -1
- package/dist/packem_chunks/handler64.js +1 -1
- package/dist/packem_chunks/handler65.js +4 -4
- package/dist/packem_chunks/handler66.js +1 -1
- package/dist/packem_chunks/handler67.js +10 -10
- package/dist/packem_chunks/handler68.js +1 -1
- package/dist/packem_chunks/handler69.js +1 -1
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler70.js +4 -4
- package/dist/packem_chunks/handler71.js +6 -6
- package/dist/packem_chunks/handler72.js +1 -1
- package/dist/packem_chunks/handler73.js +87 -86
- package/dist/packem_chunks/handler74.js +1 -1
- package/dist/packem_chunks/handler75.js +31 -31
- package/dist/packem_chunks/handler76.js +4 -4
- package/dist/packem_chunks/handler77.js +1 -1
- package/dist/packem_chunks/handler78.js +64 -64
- package/dist/packem_chunks/handler8.js +1 -1
- package/dist/packem_chunks/handler9.js +1 -1
- package/dist/packem_chunks/heal-accept.js +1 -1
- package/dist/packem_chunks/heal.js +1 -1
- package/dist/packem_chunks/help-command.js +7 -7
- package/dist/packem_chunks/hex-plan.js +3 -0
- package/dist/packem_chunks/hex-projects.js +1 -0
- package/dist/packem_chunks/index2.js +52 -42
- package/dist/packem_chunks/index4.js +58 -802
- package/dist/packem_chunks/index5.js +802 -7
- package/dist/packem_chunks/index6.js +7 -59
- package/dist/packem_chunks/keys-refresh.js +1 -1
- package/dist/packem_chunks/lean.js +1 -1
- package/dist/packem_chunks/list.js +1 -1
- package/dist/packem_chunks/loader.js +1 -1
- package/dist/packem_chunks/maven-plan.js +1 -0
- package/dist/packem_chunks/maven-projects.js +1 -0
- package/dist/packem_chunks/nuget-plan.js +1 -0
- package/dist/packem_chunks/nuget-projects.js +1 -0
- package/dist/packem_chunks/orchestrator.js +33 -33
- package/dist/packem_chunks/prune.js +1 -1
- package/dist/packem_chunks/python-plan.js +3 -0
- package/dist/packem_chunks/python-projects.js +1 -0
- package/dist/packem_chunks/security.js +1 -1
- package/dist/packem_chunks/snapshot.js +2 -2
- package/dist/packem_chunks/status.js +1 -1
- package/dist/packem_chunks/swift-projects.js +1 -0
- package/dist/packem_chunks/sync.js +3 -2
- package/dist/packem_chunks/sync2.js +1 -1
- package/dist/packem_chunks/tripwire.js +1 -1
- package/dist/packem_chunks/ts-loader.js +5 -5
- package/dist/packem_chunks/verify-lockfile.js +1 -1
- package/dist/packem_chunks/version-resolver.js +3 -3
- package/dist/packem_chunks/zig-plan.js +1 -0
- package/dist/packem_chunks/zig-projects.js +1 -0
- package/dist/packem_shared/Table-BB8xHTU5-BLPS917D.js +11 -0
- package/dist/packem_shared/affected-selection-BzIbfpA1.js +1 -0
- package/dist/packem_shared/{affected-shas-Dd0P7fGD.js → affected-shas-B2V84O0g.js} +1 -1
- package/dist/packem_shared/{ai-analysis-DSQQDFU9.js → ai-analysis-Cfj24UAy.js} +1 -1
- package/dist/packem_shared/{ai-fix-BHyx1F1j.js → ai-fix-DeRUtT-s.js} +1 -1
- package/dist/packem_shared/{augment-COAiXSIx.js → augment-B9kSZuvW.js} +1 -1
- package/dist/packem_shared/{bin-Bq3tJmvE.js → bin-D9TsVhq2.js} +1 -1
- package/dist/packem_shared/{build-scripts-pdVmqXRm.js → build-scripts-CEDx_nJp.js} +1 -1
- package/dist/packem_shared/{command-runtime-CiLVo4ED.js → command-runtime-p4IXiIf6.js} +1 -1
- package/dist/packem_shared/composer-DR3D-Psb.js +1 -0
- package/dist/packem_shared/dart-pubspec-BK_cK2EP.js +2 -0
- package/dist/packem_shared/{dependency-scan-DBH2Qo4I.js → dependency-scan-B8jroa1D.js} +1 -1
- package/dist/packem_shared/{docker-Dy-X_BuM.js → docker-DXqV-07f.js} +1 -1
- package/dist/packem_shared/ecosystem-gate-1M3wnsTr.js +6 -0
- package/dist/packem_shared/{failure-log-3R522Vb5.js → failure-log-D2x5BT8S.js} +1 -1
- package/dist/packem_shared/{formatBytes-BHAzNIrn-XohRrPdt.js → formatBytes-BHAzNIrn-CrusHOew.js} +1 -1
- package/dist/packem_shared/gemspec-K7N05xxc.js +3 -0
- package/dist/packem_shared/glob-Cyk1H9ZL-Dxlf9Swz.js +1 -0
- package/dist/packem_shared/go-modules-BsVqtyeC.js +1 -0
- package/dist/packem_shared/gradle-build-CHZDHyjI.js +8 -0
- package/dist/packem_shared/index-BO8qIogg.js +1 -0
- package/dist/packem_shared/index-BzhrR_iC.js +22 -0
- package/dist/packem_shared/{index-Vm90Te96.js → index-CNYv9D8g.js} +1 -1
- package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-CSnBISfV.js → isAccessibleSync-DYKTrrvc-C-_5cgwu.js} +1 -1
- package/dist/packem_shared/{lifecycle-CAIJbxIa.js → lifecycle-D6PMPor-.js} +1 -1
- package/dist/packem_shared/{lockfile-DVFySxTS.js → lockfile-CiUtEbnt.js} +1 -1
- package/dist/packem_shared/{manifests-BNSmpPF_.js → manifests-Du4yKlf_.js} +1 -1
- package/dist/packem_shared/maven-pom-B0KG9kJQ.js +1 -0
- package/dist/packem_shared/{min-release-age-ChzTC7_I.js → min-release-age-JViyQuBM.js} +1 -1
- package/dist/packem_shared/missing-package-json-DnHMxRnG.js +1 -0
- package/dist/packem_shared/mix-project-RYvdZp3_.js +2 -0
- package/dist/packem_shared/multi-eco-lockfiles-CUUxUjHK.js +1 -0
- package/dist/packem_shared/{native-config-sync-BSzU4qUO.js → native-config-sync-TdTWjVgI.js} +2 -2
- package/dist/packem_shared/nuget-project-RApYSW_y.js +4 -0
- package/dist/packem_shared/{osv-bloom-JYIWcH3F.js → osv-bloom-BCAX5ARR.js} +1 -1
- package/dist/packem_shared/package-version-DUcG-b7S.js +4 -0
- package/dist/packem_shared/{packument-DyuhH1Gz.js → packument-CyGSNquL.js} +1 -1
- package/dist/packem_shared/{pm-runner-d93_73O6.js → pm-runner-CMSml1Bj.js} +1 -1
- package/dist/packem_shared/{project-name-filter-CC5FF49q.js → project-name-filter--bq-FL2f.js} +1 -1
- package/dist/packem_shared/{provenance-BH80RHXx.js → provenance-DyF0b6KX.js} +1 -1
- package/dist/packem_shared/{readJsonSync-CbryXYxN-B2aSeDpC.js → readJsonSync-CbryXYxN-EWl7_7KX.js} +1 -1
- package/dist/packem_shared/{registry-keys-BWHRFWbb.js → registry-keys-DwB3ZXS_.js} +1 -1
- package/dist/packem_shared/{resolve-explicit-DuJ3mbzt.js → resolve-explicit-BjCEm0s-.js} +1 -1
- package/dist/packem_shared/resolve-runtime-CNiHcVtx.js +1 -0
- package/dist/packem_shared/{run-file-jMngGQhs.js → run-file-UBukWaha.js} +1 -1
- package/dist/packem_shared/{runtime-check-BklgEMkC.js → runtime-check-1U8HrQd9.js} +1 -1
- package/dist/packem_shared/{s1ngularity-BJ5j2vbJ.js → s1ngularity-YfmkD_AH.js} +1 -1
- package/dist/packem_shared/scan-progress-C_zaZjyY.js +2 -0
- package/dist/packem_shared/{selectors-B7lSFz7l.js → selectors-edwcgNl3.js} +1 -1
- package/dist/packem_shared/{signatures-BP042BlB.js → signatures-CL3ckp_Y.js} +1 -1
- package/dist/packem_shared/{spinner-BM_0Bj6x.js → spinner-DuB0K0Am.js} +1 -1
- package/dist/packem_shared/swift-package-B6X5kzQE.js +1 -0
- package/dist/packem_shared/{tabs-UDYQ3tqt.js → tabs-RZd_e1M0.js} +1 -1
- package/dist/packem_shared/{target-merge-B4No-LHM.js → target-merge-DVJl-7Qz.js} +1 -1
- package/dist/packem_shared/{target-options-d_rIrLyq.js → target-options-DsHFmRZH.js} +1 -1
- package/dist/packem_shared/{toolchain-DY11tPCw.js → toolchain-BRdpaAC4.js} +1 -1
- package/dist/packem_shared/{typosquats-CSkIFgF5.js → typosquats-8u0drCqQ.js} +1 -1
- package/dist/packem_shared/{use-measured-height-BPQg2q_p.js → use-measured-height-DWkDV9Dj.js} +1 -1
- package/dist/packem_shared/verify-B_MblU_Q.js +1 -0
- package/dist/packem_shared/{vis-update-app-CR21zyht.js → vis-update-app-D73C__fx.js} +1 -1
- package/dist/packem_shared/{vis-user-error-qqqhLoF6.js → vis-user-error-Cpg2FqA4.js} +15 -15
- package/dist/packem_shared/{watch-Dswvj6Zp.js → watch-CcTketln.js} +1 -1
- package/dist/packem_shared/{watch-loop-COWvvSbR.js → watch-loop-qRn0IHPG.js} +1 -1
- package/dist/packem_shared/{writeFileSync-DJoHk3Ks-CgQ-VNNT.js → writeFileSync-DJoHk3Ks-BPRoepNw.js} +1 -1
- package/dist/packem_shared/zig-manifest-P7ydLEOa.js +7 -0
- package/dist/release/plugin-sdk.d.ts +1 -1
- package/dist/release/types.d.ts +133 -7
- package/dist/runtime/preload.js +1 -1
- package/index.js +52 -52
- package/package.json +12 -12
- package/schemas/vis-config.schema.json +279 -5
- package/schemas/vis-release-config.schema.json +132 -5
- package/dist/packem_shared/Table-kgZ-Cd21-DdNsp69H.js +0 -9
- package/dist/packem_shared/advisories-0ScpWAHV.js +0 -1
- package/dist/packem_shared/affected-selection-Bt4qkPUb.js +0 -1
- package/dist/packem_shared/cyclonedx-CX2fFvDi.js +0 -4
- package/dist/packem_shared/glob-Cyk1H9ZL-ox19CSsT.js +0 -1
- package/dist/packem_shared/index-Czrll7SU.js +0 -1
- package/dist/packem_shared/index-DHD8wb6Z.js +0 -22
- package/dist/packem_shared/missing-package-json-C0keIt78.js +0 -1
- package/dist/packem_shared/package-version-DFlytdgJ.js +0 -4
- package/dist/packem_shared/resolve-runtime-C7NBCA1C.js +0 -1
- package/dist/packem_shared/scan-progress-DRIGQRMr.js +0 -2
- 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-
|
|
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("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'"),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(" ")}>
|
package/dist/packem_shared/{writeFileSync-DJoHk3Ks-CgQ-VNNT.js → writeFileSync-DJoHk3Ks-BPRoepNw.js}
RENAMED
|
@@ -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-
|
|
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
|
|
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
|
*
|
package/dist/release/types.d.ts
CHANGED
|
@@ -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`
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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/<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 `<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 `<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
|
-
*
|
|
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 `<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 (
|
|
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;
|
package/dist/runtime/preload.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as r}from"../packem_shared/compile-cache-DoMHRsRZ.js";import{p as o}from"../packem_shared/augment-
|
|
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());
|