@visulima/vis 2.0.0 → 2.0.2

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 (220) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/LICENSE.md +862 -170
  3. package/README.md +1 -1
  4. package/dist/bin.js +1 -1
  5. package/dist/binx.js +2 -2
  6. package/dist/config/index.d.ts +1817 -1811
  7. package/dist/generate/index.d.ts +39 -39
  8. package/dist/packem_chunks/CONFIG_FILES.js +5 -5
  9. package/dist/packem_chunks/bloom-status.js +1 -1
  10. package/dist/packem_chunks/bloom-sync.js +1 -1
  11. package/dist/packem_chunks/cache-attestation.js +1 -1
  12. package/dist/packem_chunks/catalog.js +69 -67
  13. package/dist/packem_chunks/cli-exec.js +1 -1
  14. package/dist/packem_chunks/cli-main.js +150 -145
  15. package/dist/packem_chunks/detect.js +3 -3
  16. package/dist/packem_chunks/detect2.js +4 -4
  17. package/dist/packem_chunks/dispatch.js +3 -3
  18. package/dist/packem_chunks/doctor-probe.js +1 -1
  19. package/dist/packem_chunks/extra-files.js +3 -3
  20. package/dist/packem_chunks/fix.js +9 -9
  21. package/dist/packem_chunks/handler.js +1 -1
  22. package/dist/packem_chunks/handler10.js +5 -5
  23. package/dist/packem_chunks/handler11.js +1 -1
  24. package/dist/packem_chunks/handler12.js +6 -6
  25. package/dist/packem_chunks/handler13.js +1 -1
  26. package/dist/packem_chunks/handler14.js +1 -1
  27. package/dist/packem_chunks/handler15.js +1 -1
  28. package/dist/packem_chunks/handler16.js +1 -1
  29. package/dist/packem_chunks/handler17.js +1 -1
  30. package/dist/packem_chunks/handler18.js +1 -1
  31. package/dist/packem_chunks/handler19.js +1 -1
  32. package/dist/packem_chunks/handler2.js +1 -1
  33. package/dist/packem_chunks/handler20.js +2 -2
  34. package/dist/packem_chunks/handler21.js +2 -2
  35. package/dist/packem_chunks/handler22.js +10 -10
  36. package/dist/packem_chunks/handler23.js +1 -1
  37. package/dist/packem_chunks/handler24.js +1 -1
  38. package/dist/packem_chunks/handler25.js +1 -1
  39. package/dist/packem_chunks/handler26.js +5 -5
  40. package/dist/packem_chunks/handler27.js +1 -1
  41. package/dist/packem_chunks/handler28.js +3 -3
  42. package/dist/packem_chunks/handler29.js +1 -1
  43. package/dist/packem_chunks/handler3.js +2 -3
  44. package/dist/packem_chunks/handler30.js +1 -1
  45. package/dist/packem_chunks/handler31.js +2 -2
  46. package/dist/packem_chunks/handler35.js +3 -3
  47. package/dist/packem_chunks/handler4.js +4 -4
  48. package/dist/packem_chunks/handler40.js +10 -10
  49. package/dist/packem_chunks/handler42.js +3 -3
  50. package/dist/packem_chunks/handler43.js +3 -3
  51. package/dist/packem_chunks/handler5.js +5 -5
  52. package/dist/packem_chunks/handler50.js +5 -5
  53. package/dist/packem_chunks/handler51.js +13 -13
  54. package/dist/packem_chunks/handler52.js +3 -3
  55. package/dist/packem_chunks/handler53.js +1 -1
  56. package/dist/packem_chunks/handler54.js +2 -2
  57. package/dist/packem_chunks/handler55.js +1 -1
  58. package/dist/packem_chunks/handler57.js +5 -5
  59. package/dist/packem_chunks/handler58.js +4 -4
  60. package/dist/packem_chunks/handler59.js +8 -8
  61. package/dist/packem_chunks/handler6.js +7 -7
  62. package/dist/packem_chunks/handler60.js +2 -2
  63. package/dist/packem_chunks/handler61.js +13 -13
  64. package/dist/packem_chunks/handler62.js +4 -4
  65. package/dist/packem_chunks/handler63.js +3 -3
  66. package/dist/packem_chunks/handler64.js +4 -4
  67. package/dist/packem_chunks/handler65.js +6 -6
  68. package/dist/packem_chunks/handler66.js +2 -2
  69. package/dist/packem_chunks/handler67.js +9 -9
  70. package/dist/packem_chunks/handler68.js +7 -7
  71. package/dist/packem_chunks/handler69.js +24 -24
  72. package/dist/packem_chunks/handler7.js +1 -1
  73. package/dist/packem_chunks/handler70.js +6 -6
  74. package/dist/packem_chunks/handler71.js +14 -14
  75. package/dist/packem_chunks/handler72.js +47 -47
  76. package/dist/packem_chunks/handler73.js +9 -9
  77. package/dist/packem_chunks/handler74.js +27 -27
  78. package/dist/packem_chunks/handler75.js +3 -3
  79. package/dist/packem_chunks/handler76.js +8 -8
  80. package/dist/packem_chunks/handler77.js +63 -64
  81. package/dist/packem_chunks/handler78.js +25 -25
  82. package/dist/packem_chunks/handler8.js +1 -1
  83. package/dist/packem_chunks/handler9.js +1 -1
  84. package/dist/packem_chunks/heal-accept.js +5 -5
  85. package/dist/packem_chunks/heal.js +8 -8
  86. package/dist/packem_chunks/help-command.js +46 -46
  87. package/dist/packem_chunks/index2.js +5 -5
  88. package/dist/packem_chunks/index3.js +3 -3
  89. package/dist/packem_chunks/index4.js +11 -11
  90. package/dist/packem_chunks/keys-refresh.js +1 -1
  91. package/dist/packem_chunks/lean.js +2 -2
  92. package/dist/packem_chunks/list.js +2 -2
  93. package/dist/packem_chunks/loader.js +4 -4
  94. package/dist/packem_chunks/orchestrator.js +14 -14
  95. package/dist/packem_chunks/pre-mode.js +2 -2
  96. package/dist/packem_chunks/prompts.js +3 -3
  97. package/dist/packem_chunks/prune.js +1 -1
  98. package/dist/packem_chunks/publish-guards.js +1 -1
  99. package/dist/packem_chunks/registry.js +17 -17
  100. package/dist/packem_chunks/resolveFormatter.js +5 -5
  101. package/dist/packem_chunks/shell-runner.js +1 -1
  102. package/dist/packem_chunks/snapshot.js +2 -2
  103. package/dist/packem_chunks/stage-publisher.js +1 -1
  104. package/dist/packem_chunks/staged-registry.js +2 -2
  105. package/dist/packem_chunks/state.js +3 -3
  106. package/dist/packem_chunks/status.js +1 -1
  107. package/dist/packem_chunks/sync.js +1 -1
  108. package/dist/packem_chunks/sync2.js +1 -1
  109. package/dist/packem_chunks/tar.js +3 -3
  110. package/dist/packem_chunks/tripwire.js +2 -2
  111. package/dist/packem_chunks/ts-loader.js +9 -9
  112. package/dist/packem_chunks/verify-lockfile.js +2 -2
  113. package/dist/packem_chunks/workspace.js +2 -2
  114. package/dist/packem_shared/advisories-CCBGdU8U.js +1 -0
  115. package/dist/packem_shared/affected-selection-Dj-ymxhw.js +1 -0
  116. package/dist/packem_shared/affected-shas-PwkVbPch.js +1 -0
  117. package/dist/packem_shared/ai-analysis-bGCAc1jR.js +68 -0
  118. package/dist/packem_shared/{ai-fix-CLfWbyqY.js → ai-fix-DV5-dHBY.js} +9 -9
  119. package/dist/packem_shared/{augment-BVuj3ee7.js → augment-24KX2nkI.js} +4 -4
  120. package/dist/packem_shared/bin-CtzhnYMp.js +1 -0
  121. package/dist/packem_shared/build-scripts-w4SNeR7D.js +1 -0
  122. package/dist/packem_shared/{command-runtime-DTbo12cP.js → command-runtime-BLFPUYAT.js} +1 -1
  123. package/dist/packem_shared/cyclonedx-C4KaVTn1.js +4 -0
  124. package/dist/packem_shared/{dependency-scan-DZcSlSFp.js → dependency-scan-D_ona0Qm.js} +1 -1
  125. package/dist/packem_shared/{docker-69ybb6g7.js → docker-DaVs-9wK.js} +40 -40
  126. package/dist/packem_shared/{en-C26W78--.js → en-D3CfXlO7.js} +13 -13
  127. package/dist/packem_shared/failure-log-CTneNcio.js +2 -0
  128. package/dist/packem_shared/giget-CAxjpwew.js +2 -0
  129. package/dist/packem_shared/glob-BUjyjdE8-C4M8e02u.js +1 -0
  130. package/dist/packem_shared/index-BWl4DbMp.js +1 -0
  131. package/dist/packem_shared/index-CTMU29dI.js +1 -0
  132. package/dist/packem_shared/index-uBVnF4ji.js +35 -0
  133. package/dist/packem_shared/index.server-CusjRLCh.js +2 -0
  134. package/dist/packem_shared/{interface.d-B7VK2rcH.d.ts → interface.d-CRqRz4jt.d.ts} +39 -39
  135. package/dist/packem_shared/{interface.d-Cezzifoh.d.ts → interface.d-CrHOtJc1.d.ts} +37 -37
  136. package/dist/packem_shared/lifecycle-B8A2T3gx.js +2 -0
  137. package/dist/packem_shared/lockfile-Bccery3L.js +1 -0
  138. package/dist/packem_shared/main-D_cam4hv.js +1 -0
  139. package/dist/packem_shared/manifests-BDkwiVbh.js +1 -0
  140. package/dist/packem_shared/{min-release-age-hK604veF.js → min-release-age-OaYpLwux.js} +2 -2
  141. package/dist/packem_shared/missing-package-json-BqS-OnKd.js +1 -0
  142. package/dist/packem_shared/{native-config-sync-DDKjAy0i.js → native-config-sync-Ds1FtcrM.js} +7 -7
  143. package/dist/packem_shared/osv-bloom-pKp7urSB.js +2 -0
  144. package/dist/packem_shared/package-version-C47v64aB.js +4 -0
  145. package/dist/packem_shared/packument-HBVbyf7x.js +1 -0
  146. package/dist/packem_shared/pm-runner-C6eTANt1.js +1 -0
  147. package/dist/packem_shared/project-name-filter-CJ3XX2TI.js +7 -0
  148. package/dist/packem_shared/prompt-BSAy8SMH.js +1 -0
  149. package/dist/packem_shared/{provenance-CRBV9cko.js → provenance-D4Cza8cp.js} +1 -1
  150. package/dist/packem_shared/{readJsonSync-DuMMeB3s-B9cGBVbJ.js → readJsonSync-DweZd5ZA-0eZh9sGm.js} +1 -1
  151. package/dist/packem_shared/registry-keys-C0ez2VND.js +1 -0
  152. package/dist/packem_shared/{resolve-explicit-BX6aMYl-.js → resolve-explicit-BbT764KS.js} +1 -1
  153. package/dist/packem_shared/{resolve-runtime-COyiEML3.js → resolve-runtime-D_vZovbB.js} +1 -1
  154. package/dist/packem_shared/run-file-DyPFFN9U.js +1 -0
  155. package/dist/packem_shared/{runtime-check-fzDkedMW.js → runtime-check-D4um-yQq.js} +1 -1
  156. package/dist/packem_shared/s1ngularity-St6dhKiq.js +1 -0
  157. package/dist/packem_shared/scan-progress-q-N2JtIp.js +2 -0
  158. package/dist/packem_shared/selectors-Ce_6UAoY.js +3 -0
  159. package/dist/packem_shared/signatures-Dyeyg1q9.js +2 -0
  160. package/dist/packem_shared/subtree-DSm0QEoE.js +2 -0
  161. package/dist/packem_shared/target-merge-Cfy7c__2.js +11 -0
  162. package/dist/packem_shared/target-options-7XcbqGDe.js +1 -0
  163. package/dist/packem_shared/toolchain-C_pNMBM6.js +5 -0
  164. package/dist/packem_shared/typosquats-xzcAGPiM.js +1 -0
  165. package/dist/packem_shared/{use-measured-height-DfNxp6nf.js → use-measured-height-CBjN0fle.js} +1 -1
  166. package/dist/packem_shared/verify-Dve9PQj3.js +1 -0
  167. package/dist/packem_shared/{vis-update-app-De8JjZm0.js → vis-update-app-DMAC2pPf.js} +1 -1
  168. package/dist/packem_shared/vis-user-error-xmha3L4n.js +30 -0
  169. package/dist/packem_shared/watch-BXOOX7lx.js +1 -0
  170. package/dist/packem_shared/watch-loop-Q7UpkVbr.js +11 -0
  171. package/dist/release/core/package-managers/index.d.ts +2 -2
  172. package/dist/release/core/version-actions/index.d.ts +10 -10
  173. package/dist/release/index.d.ts +60 -60
  174. package/dist/release/plugin-sdk.d.ts +80 -80
  175. package/dist/release/presets.d.ts +148 -148
  176. package/dist/release/types.d.ts +840 -840
  177. package/dist/runtime/preload.js +1 -1
  178. package/index.d.ts +204 -204
  179. package/index.js +52 -52
  180. package/package.json +16 -16
  181. package/schemas/project.schema.json +4 -1
  182. package/schemas/vis-config.schema.json +9 -3
  183. package/dist/packem_shared/advisories-B76fBVL-.js +0 -1
  184. package/dist/packem_shared/affected-shas-BOeR4vEc.js +0 -1
  185. package/dist/packem_shared/ai-analysis-D7HOdUwd.js +0 -68
  186. package/dist/packem_shared/bin-CkfFJCAM.js +0 -1
  187. package/dist/packem_shared/build-scripts-CfAqHBlq.js +0 -1
  188. package/dist/packem_shared/cyclonedx--L7NbMBH.js +0 -4
  189. package/dist/packem_shared/failure-log-BZQqxffZ.js +0 -2
  190. package/dist/packem_shared/giget-DVTFJlbR.js +0 -2
  191. package/dist/packem_shared/glob-DMbPwGSj-D2Hk3lFG.js +0 -1
  192. package/dist/packem_shared/index-2LCHaVNX.js +0 -35
  193. package/dist/packem_shared/index-B0EsgdzO.js +0 -1
  194. package/dist/packem_shared/index-Bhzio2RB.js +0 -1
  195. package/dist/packem_shared/index-Bq6YEpiq.js +0 -28
  196. package/dist/packem_shared/index.server-qvZ-cy29.js +0 -2
  197. package/dist/packem_shared/lifecycle-BcCMt9wn.js +0 -2
  198. package/dist/packem_shared/lockfile-Cwt0Nwr0.js +0 -1
  199. package/dist/packem_shared/main-B3juSU5z.js +0 -1
  200. package/dist/packem_shared/manifests-BshBdSb-.js +0 -1
  201. package/dist/packem_shared/missing-package-json-Cu0iWMT2.js +0 -1
  202. package/dist/packem_shared/osv-bloom-DMhXP184.js +0 -2
  203. package/dist/packem_shared/package-version-TsxLc6w2.js +0 -4
  204. package/dist/packem_shared/packument-CtVAoNo7.js +0 -1
  205. package/dist/packem_shared/pm-runner-CfyxALPK.js +0 -1
  206. package/dist/packem_shared/prompt-DjXHVgYU.js +0 -1
  207. package/dist/packem_shared/registry-keys-Ci2keQNi.js +0 -1
  208. package/dist/packem_shared/run-file-CTJfIZ0I.js +0 -1
  209. package/dist/packem_shared/s1ngularity-Cq1cCSpU.js +0 -1
  210. package/dist/packem_shared/scan-progress-DQ9qIGzr.js +0 -2
  211. package/dist/packem_shared/selectors-B9dOMIMq.js +0 -3
  212. package/dist/packem_shared/signatures-DvD1E8Xa.js +0 -2
  213. package/dist/packem_shared/subtree-C7bZuiSQ.js +0 -2
  214. package/dist/packem_shared/target-merge-Dg25Izl5.js +0 -11
  215. package/dist/packem_shared/target-options-aPqByoww.js +0 -1
  216. package/dist/packem_shared/toolchain-CiaW3bx4.js +0 -5
  217. package/dist/packem_shared/typosquats-CRnvlYPw.js +0 -1
  218. package/dist/packem_shared/verify-23b6IfSg.js +0 -1
  219. package/dist/packem_shared/watch-B3P2dwoG.js +0 -1
  220. package/dist/packem_shared/watch-loop-B3_O8hF-.js +0 -11
@@ -16,12 +16,12 @@ interface ReleaseOptionsBase {
16
16
  /** Skip writes / network calls. */
17
17
  dryRun?: boolean;
18
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
- */
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
25
  firstRelease?: boolean;
26
26
  /** Limit to packages matching these globs. */
27
27
  projects?: string[];
@@ -105,37 +105,37 @@ interface SnapshotResult {
105
105
  }
106
106
  declare const releaseVersion: (options?: VersionOptions) => Promise<VersionResult>;
107
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
- */
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
118
  declare const releaseChangelog: (options?: ChangelogOptions) => Promise<ChangelogResult>;
119
119
  declare const releasePublish: (options?: PublishOptions) => Promise<PublishResult>;
120
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
- */
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
139
  interface ReleaseDraft {
140
140
  /** Auto-apply on `await using` scope exit unless already applied or discarded. */
141
141
  [Symbol.asyncDispose]: () => Promise<void>;
@@ -163,43 +163,43 @@ declare class ReleaseClient {
163
163
  releaseSnapshot(options: Omit<SnapshotOptions, "config">): Promise<SnapshotResult>;
164
164
  }
165
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
- */
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
171
  declare const defineReleaseConfig: (config: VisReleaseConfig) => VisReleaseConfig;
172
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
- */
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
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
177
  declare const DEFAULT_DEPENDENCY_BUMP_RULES: Required<DependencyBumpRules>;
178
178
  /**
179
- * Default fields stripped from `package.json` on publish (RFC §20.4).
180
- * Match `@anolilab/semantic-release-clean-package-json` behaviour.
181
- */
179
+ * Default fields stripped from `package.json` on publish (RFC §20.4).
180
+ * Match `@anolilab/semantic-release-clean-package-json` behaviour.
181
+ */
182
182
  declare const DEFAULT_CLEAN_STRIP: ReadonlyArray<string>;
183
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
- */
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
187
  declare const DEFAULT_CLEAN_KEEP: ReadonlyArray<string>;
188
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
- */
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
194
  declare const resolveCleanStripList: (cfg: boolean | CleanPackageJsonConfig | undefined) => string[];
195
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
- */
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
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
204
  interface VisReleaseErrorOptions {
205
205
  /** Original error for stack-trace continuity. */
@@ -1,8 +1,8 @@
1
1
  import { C as ChangelogFormatter } from "../packem_shared/api.d-BPftyU9r.js";
2
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";
3
+ import { V as VersionActions } from "../packem_shared/interface.d-CrHOtJc1.js";
4
+ export { A as AfterAllProjectsVersioned, type a as AfterAllVersionedContext, type b as AfterAllVersionedResult, type P as PublishContext } from "../packem_shared/interface.d-CrHOtJc1.js";
5
+ export type { e as PublishResult } from "../packem_shared/interface.d-CRqRz4jt.js";
6
6
  export { d as defineReleasePlugin } from "../packem_shared/plugins.d-ND23R9I3.js";
7
7
  export type { PluginPackageInfo, PluginPublishSummary, ReleasePlugin, ReleasePluginContext } from "./types.js";
8
8
  interface NotificationPackage {
@@ -11,11 +11,11 @@ interface NotificationPackage {
11
11
  /** dist-tag / channel name (`latest`, `alpha`, …). */
12
12
  tag?: string;
13
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
- */
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
19
  url?: string;
20
20
  /** Resolved version. */
21
21
  version: string;
@@ -32,97 +32,97 @@ interface NotificationContext {
32
32
  /** Repo slug (`owner/name`) for URL composition. */
33
33
  repo?: string;
34
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
- */
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
39
  skipped: ReadonlyArray<{
40
40
  name: string;
41
41
  reason: string;
42
42
  }>;
43
43
  }
44
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
- */
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
52
  interface NotificationChannel {
53
53
  /** Stable id used in log messages: `"slack"`, `"discord"`, `"webhook"`, …. */
54
54
  readonly id: string;
55
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
- */
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
60
  send: (context: NotificationContext) => Promise<void>;
61
61
  }
62
62
  /**
63
- * Re-export of {@link NotificationChannel} so plugin authors get the
64
- * full type from a single import path.
65
- */
63
+ * Re-export of {@link NotificationChannel} so plugin authors get the
64
+ * full type from a single import path.
65
+ */
66
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
- */
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
81
  declare const defineNotificationChannel: (channel: NotificationChannel) => NotificationChannel;
82
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
- */
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
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
- */
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
108
  declare const defineVersionActions: (actions: VersionActions) => VersionActions;
109
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
- */
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
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
- */
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
127
  declare const defineChangelogFormatter: (formatter: ChangelogFormatter) => ChangelogFormatter;
128
128
  export { type ChangelogFormatter, type NotificationChannel, type NotificationContext, type NotificationPackage, VersionActions, defineChangelogFormatter, defineNotificationChannel, defineVersionActions };